blob: 82f3423101fda4d6323054e637c3035cbdc7e863 [file] [log] [blame]
UnitTests
---------
Portage has some tests that use the unittest framework that ships with python (2.3-2.4ish)
Tests have a specific naming convention.
in tests/ there is a runTest script that invokes tests/__init__.py
This init looks at a hardcoded list of test dirs to search for tests.
If you add a new dir and don't see your new tests, make sure that the dir is in this list.
On the subject of adding more directories; the layout is basically 1 directory per portage
file at this point (we have few files, and even fewer large files). Inside of the dir
you should have files of the form test_${function}.py.
So if I was to write a vercmp test, and vercmp is in portage_versions.
tests/portage_versions/test_vercmp.py
would be the filename.
The __init__.py file now does recursive tests, but you need to tell it so. For example, if
you had cache tests the dir format would be something like...
tests/cache/flat_hash/test_foo.py
and you would put "cache/flat_hash" into the testDirs variable in __init__.py.