1.2 KiB
Testing KiCad
Unit tests
KiCad has a limited number of unit tests, which can be used to check that certain functionality works.
Python modules
The Pcbnew Python modules have some test programs in the qa
directory.
You must have the KICAD_SCRIPTING_MODULES
option on in CMake to
build the modules and enable this target.
The main test script is qa/test.py
and the test units are in
qa/testcases
. All the test units can by run using make qa
, which
runs test.py
.
You can also run an individual case manually, by making sure the
modules are built, adding them to PYTHONPATH
and running the test
from the source tree:
make pcbnew_python_module
export PYTHONPATH=/path/to/kicad/build/pcbnew
cd /path/to/kicad/source/qa
python2 testcase/test_001_pcb_load.py
Diagnosing segfaults
Although the module is Python, it links against a C++ library (the same one used by KiCad Pcbnew), so it can segfault if the library has a defect.
You can run the tests in GDB to trace this:
$ gdb
(gdb) file python2
(gdb) run testcases/test_001_pcb_load.py
If the test segfaults, you will get a familiar backtrace, just like if you were running pcbnew under GDB.