summaryrefslogtreecommitdiffstats
path: root/TEST-NOTES
blob: 32db45a6d9fff2e2b261b27ec65e899b7a50972c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 pym/portage/tests/ there is a runTest script that invokes pym/portage/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.

pym/portage/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...

pym/portage/tests/cache/flat_hash/test_foo.py

and you would put "cache/flat_hash" into the testDirs variable in __init__.py.

emerge
------

The emerge namespace currently has 0 tests (and no runner)