Author: adiyatmubarak

Fix OSX “dyld: Library not loaded”

I’m using OSX Mojave with zsh and all of sudden I always got an error when opening a new terminal session after doing an upgrade.

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/awk
Reason: image not found

Seems like there’s an error from awk and I found the solution by upgrading gawk

$ brew upgrade gawk

Reference: https://stackoverflow.com/a/40281206/1936697

Advertisements

Fix Xiaomi INSTALL_FAILED_USER_RESTRICTED

If you are developing android and using real device to install your build APK instead of virtual device and you are using Xiaomi phone (Mine is Xiaomi Redmi 4x) probably you will facing this error.

To fix this, what you need to do are just enable these configuration in your device.

  • Developer Mode
  • USB Debugging
  • Install via USB
  • USB debugging (Security Settings)

Reference: https://stackoverflow.com/a/49485273/1936697

Fix Django-Jet Select Dropdown not Working on Custom Page

I’m having an issue when creating a custom page in django-jet. I’m using v1.0.6 and always got jQuery error in dropdown select in my custom page.

Uncaught TypeError: django.jQuery is not a function
at HTMLSelectElement.<anonymous> (bundle.min.js?v=1.0.8:1)
at HTMLSelectElement.dispatch (bundle.min.js?v=1.0.8:9)
at HTMLSelectElement.m.handle (bundle.min.js?v=1.0.8:9)
at Object.trigger (bundle.min.js?v=1.0.8:9)
at HTMLSelectElement.<anonymous> (bundle.min.js?v=1.0.8:9)
at Function.each (bundle.min.js?v=1.0.8:8)
at ot.fn.init.each (bundle.min.js?v=1.0.8:7)
at ot.fn.init.trigger (bundle.min.js?v=1.0.8:9)
at n.select (bundle.min.js?v=1.0.8:12)
at o.<anonymous> (bundle.min.js?v=1.0.8:12)

I solved my issue by adding jquery manually following below in my custom page.

{% block extrahead %}
{{ block.super }}


{% endblock %}

Hope this issue fixed in next release.

Reference: https://github.com/geex-arts/django-jet/issues/161#issuecomment-412071688

Running Specific Test in django-nose

Since I used django-nose for my project. Django-nose runner cannot behave like default django test runner.

Following command will not work in django-nose test runner.

# Run all the tests found within the 'animals' package
$ ./manage.py test appname

# Run just one test case
$ ./manage.py test appname.tests.TestCaseName

# Run just one test method
$ ./manage.py test appname.tests.TestCaseName.test_function_name

Because django-nose structured all the test in one package called tests following below.

tests:
   |- __init__.py
   |- test_views.py
   |- test_forms.py
   |- test_endpoints.py
   |- test_utils.py

Here is the alternative to run specific task in django-nose.

# Run all the tests found within the 'animals' package
$ ./manage.py test appname

# Run just one test case
$ ./manage.py test appname.tests.test_script:TestCaseName

# Run just one test method
$ ./manage.py test appname.tests.test_script:TestCaseName.test_function_name

Reference: https://stackoverflow.com/a/18834222/1936697

Exclude folders and line of codes from Test Coverage

Here is my coverage setup in my project. I excluded some folders and line of codes that not important in my testing.

I put these config in .coveragerc

[run]
omit =
    */urls/*
    */migrations/*
    */tests/*
    */__init__.py
    */tests.py
    */apps.py
    */rss.py
    */urls.py

[report]
exclude_lines =
    def __unicode__
    if setttings.TESTING
    def __repr__
    def __str__

Disable django-haystack During Testing

I use django-haystack and elasticsearch for the search engine in our apps. But I don’t want my model that registered to haystack do indexing during the testing. I avoid haystack indexing by adding these following lines of code below in my settings.py.

import sys

TESTING = 'test' in sys.argv
if TESTING:
    HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.BaseSignalProcessor'
    HAYSTACK_CONNECTIONS['default'] = {
        'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',
    }

Reference: https://stackoverflow.com/q/33108569/1936697