Re: [PATCH v3 00/11] Add Kconfig unit tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2018-03-13 18:12 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>:
> I am applying various cleanups to Kconfig these days.
>
> However, I fear regressions.  I have been thinking of unit-tests.
>
> There are various cryptic parts in Kconfig and corner cases where
> it is difficult to notice breakage.  If unit-tests cover those,
> I will be able to apply changes more confidently.
>
> This series introduces a unit-tests.  The framework is written based
> on pytest.  Also, this is written in Python 3.  Python 2 will retire
> in 2020.  So, I believe new python tools should be written in Python 3.
>
> This is my Python 3 and pytest versions.
>
> $ python3 --version
> Python 3.5.2
> $ python3 -m pytest --version
> This is pytest version 3.4.1, imported from /home/masahiro/.local/lib/python3.5/site-packages/pytest.py
>
> How to use?
> -----------
>
> Please make sure Python3 and pytest are installed on your system.
>
> Then, run "make testconfig"
>
> The result looks like as follows:
>
> $ make testconfig
> python3 -B -m pytest ./scripts/kconfig/tests \
> -o cache_dir=/home/masahiro/workspace/bsp/linux-yamada/scripts/kconfig/tests/.cache \
>
> ================================= test session starts =================================
> platform linux -- Python 3.5.2, pytest-3.4.1, py-1.5.2, pluggy-0.6.0 -- /usr/bin/python3
> cachedir: scripts/kconfig/tests/.cache
> rootdir: /home/masahiro/workspace/bsp/linux-yamada/scripts/kconfig/tests, inifile: pytest.ini
> collected 14 items
>
> scripts/kconfig/tests/auto_submenu/__init__.py::test PASSED                     [  7%]
> scripts/kconfig/tests/choice/__init__.py::test_oldask0 PASSED                   [ 14%]
> scripts/kconfig/tests/choice/__init__.py::test_oldask1 PASSED                   [ 21%]
> scripts/kconfig/tests/choice/__init__.py::test_allyes PASSED                    [ 28%]
> scripts/kconfig/tests/choice/__init__.py::test_allmod PASSED                    [ 35%]
> scripts/kconfig/tests/choice/__init__.py::test_allno PASSED                     [ 42%]
> scripts/kconfig/tests/choice/__init__.py::test_alldef PASSED                    [ 50%]
> scripts/kconfig/tests/choice_value_with_m_dep/__init__.py::test PASSED          [ 57%]
> scripts/kconfig/tests/err_recursive_inc/__init__.py::test PASSED                [ 64%]
> scripts/kconfig/tests/inter_choice/__init__.py::test PASSED                     [ 71%]
> scripts/kconfig/tests/new_choice_with_dep/__init__.py::test PASSED              [ 78%]
> scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py::test PASSED            [ 85%]
> scripts/kconfig/tests/rand_nested_choice/__init__.py::test PASSED               [ 92%]
> scripts/kconfig/tests/warn_recursive_dep/__init__.py::test PASSED               [100%]
>
>
> Masahiro Yamada (11):
>   kbuild: add PYTHON2 and PYTHON3 variables
>   kconfig: tests: add framework for Kconfig unit testing
>   kconfig: tests: add basic choice tests
>   kconfig: tests: test automatic submenu creation
>   kconfig: tests: test if new symbols in choice are asked
>   kconfig: tests: check unneeded "is not set" with unmet dependency
>   kconfig: tests: check visibility of tristate choice values in y choice
>   kconfig: tests: test defconfig when two choices interact
>   kconfig: tests: test randconfig for choice in choice
>   kconfig: tests: test if recursive dependencies are detected
>   kconfig: tests: test if recursive inclusion is detected
>


All applied to linux-kbuild/kconfig.



-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux