| 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. |