22 Commits

Author SHA1 Message Date
Mark Roszko
a8d6292d61 Use boost::stacktrace w/ unit test handlers to start hunting for that copper sliver wabbit 2025-09-01 11:07:12 -04:00
Jon Evans
975fe32fa7 Add a mechanism for using a mock config dir for QA tests 2025-01-18 13:40:38 -05:00
Seth Hillbrand
074e6df3bc Revert "Move thread pool to singleton class"
This reverts commit 361f61a02380881efb59b1cebfdc3e73322b3d3c.
2025-01-03 21:22:44 -08:00
Seth Hillbrand
361f61a023 Move thread pool to singleton class
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started.  Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.

The singleton class can be extended to provide single instance
guarantee for any element across kifaces
2025-01-03 13:51:11 -08:00
Ian McInerney
27e2e820cb Split spice tests into separate test 2023-04-03 14:42:10 +01:00
Roberto Fernandez Bautista
379e3b2fbb Add CADSTAR Parts Library (.lib) parser and qa tests 2023-03-16 21:07:04 +01:00
Ian McInerney
3d7a463cb8 Remove last few occurances of Boost::system 2023-03-11 14:21:07 +00:00
jean-pierre charras
4737e3b8a7 QA tests: link unit_test_framework library only with QA tests.
It fixes a link issue on W10/msys2 when building some .exe files
not related to QA tests, but have the unit_test_framework library linked
without this change..
2023-03-11 10:28:06 +01:00
Ian McInerney
a6ebd60c3b CMake: Modernize Boost import to use imported targets 2023-03-10 16:38:35 +00:00
Ian McInerney
c9eefa7ad7 Replace boost::filesystem with std::filesystem
Our minimum C++ version is C++17, which has std::filesystem, so ditch
the boost dependency and use the standard library instead. (this only
affects temp file creation in the QA suite anyway).
2023-03-10 16:38:35 +00:00
jean-pierre charras
e4ec74e1ac Fix link issue for qa_utils on MINGW/msys2
For some obscure reason, using Boost_UNIT_TEST_FRAMEWORK_LIBRARY as library
name to link does not work. So use the actual filename.
2023-03-08 17:47:50 +01:00
Sylwester Kocjan
2583acd1cc qa_eeschema: migrate to common mocks 2022-03-18 17:51:09 +00:00
Sylwester Kocjan
aa7b65c70d qa_common: Cleanup mocks
Use mocks of KIFACE and PGM from Turtle framework
2022-03-18 17:51:09 +00:00
Jeff Young
8c69a856fc Add zone filler tests.
One test has pads of a bunch of different shapes and provokes some
errors to make sure they're caught.

The others are all past issues with the zone filler to make sure we
don't suffer any regressions.  (They should all just pass with no DRC
errors.)
2021-07-30 17:09:24 +01:00
Sylwester Kocjan
31da3e7dc6 qa: merge unit_test_utils to qa_utils 2021-05-19 11:02:52 +00:00
Ian McInerney
7bda8178d1 Move library includes to main CMake file
Placing them behind the SYSTEM directive tells CMake to tell
the compiler they are system libraries, so it shouldn't show
warnings created from them.
2020-04-19 01:11:56 +01:00
Jeff Young
ca0164aa07 Unify library browser terminology.
Fixes: lp:1813882
* https://bugs.launchpad.net/kicad/+bug/1813882
2019-01-30 19:52:15 +00:00
John Beard
33bc74a4a2 QA: Tidy qa_utils headers
Move into own include directory for clarity. Also allows qa_utils
to use its own private headers in qa/qa_utils without exposing them
through the target_include_directories directive.
2019-01-29 18:16:00 -05:00
John Beard
47ec2fd5ba QA: Add some tests on SHAPE_POLY_SET::Distance
These tests pick up the bug fixed in: 90178eb6812eead81a2523fbb7cce665413637eb
(as it is already fixed there is no failure).
2019-01-29 18:12:06 -05:00
John Beard
d7563c55c4 QA: Pcbnew utility tools: DRC tool
Add a tool that allows a user to run DRC functions
on a given KiCad PCB file.

The first available functions are the courtyard functions.

Also move most of the utility program logic into qa_util for
better reusability.
2019-01-23 13:27:52 -05:00
John Beard
bec2920f12 QA: qa_utils has to be static
If qa_utils is not explicitly declared with STATIC, the build
fails in environments where the BUILD_SHARED_LIBS CMake option is
present and set to "ON". An example of this is Fedora COPR.
2018-11-05 14:27:17 -05:00
John Beard
acd103631b QA: PCB file input parse test program (fuzzable)
This adds a test program which can be used to test the
parsing of a given KiCad PCB file. This interface is
useful for both manual or automated debugging of given
files, as well as providing an interface suitable for
fuzz-testing tools.

Also adds to the testing docs to detail how fuzzing can
be used.

Also moves some useful re-usable code from io-benchmark
to a new library qa_utils, which can contain code that
isn't need in the actual KiCad libs.
2018-10-22 12:32:24 -04:00