Jeff Young
8054f1a948
Apply a more sophisticated test for ignoring isInCoupledDiffPair.
...
The basic problem is that the DRC engine does length testing and skew
testing by collecting all the diff pair constituent parts and pairing them
itself. Since each part is collected on its own, we need to ignore the
'B' unit when evaluating any conditional expressions. However, doing this
in general means that when evaluating "OwnClearance()" we also ignore the
'B' unit and return the diff pair CLEARANCE_CONSTRAINT when we shouldn't.
This implements a more discerning test which know what the current requested
constraint is when evaluating expressions.
See also https://forum.kicad.info/t/solved-custom-differencing-rule-not-working-drc/34034/6
Fixes https://gitlab.com/kicad/code/kicad/issues/11314
(cherry picked from commit f7cdc7af75
)
2022-04-03 18:23:41 +01:00
jean-pierre charras
bd86999615
QA test: fix incorrect call to BOOST_TEST_MESSGE.
...
It expects a C string, not a wxString.
Fromm Master.
2022-03-21 14:02:18 +01:00
Seth Hillbrand
8f75841c85
Check for additional connections between tracks
...
Prevents removal when a track is connected not just to other tracks but
also other connected items
Fixes https://gitlab.com/kicad/code/kicad/issues/10916
(cherry picked from commit 9d927f3135
)
2022-03-03 13:08:37 -08:00
Marek Roszko
f139cc2d9f
Add kicad_3dsg copy for qa_pcbnew to run out of build dir
...
Mirror of the pcbnew step for the same reason
(cherry picked from commit b85fb9137f
)
2022-01-01 19:54:30 +00:00
Mikolaj Wielgus
b35aa302e2
Test PCB_MARKER, PCB_ZONE, FP_ZONE
2021-12-01 03:42:22 +01:00
Mikolaj Wielgus
b729068326
Test BOARD_ITEM
2021-12-01 00:47:22 +01:00
Seth Hillbrand
694bea187e
Explicitly build nets when running test boards
...
Suggested by @craftyjon, this builds the list of nets needed for DRC
engine before running QA
2021-11-27 19:49:44 -08:00
Jon Evans
1f27fff1ea
Explicitly build connectivity for board after loading in QA
2021-11-26 10:28:21 -05:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Jeff Young
a397e85589
Implement PTH/NPTH/courtyard collision tests.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9081
2021-09-04 00:16:26 +01:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
1e23ce1c95
Pull some fixes back from 7.0.
...
1) An earlier 6.0 fix to apply pad clearance overrides to NPTH pads
got broken, so this replaces it.
2) Allow min/max/opt to be set by different rules.
3) Fixes a bug where board minimum enforcement over a local override
didn't get the right message text.
2021-08-21 16:43:11 +01:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
Roberto Fernandez Bautista
c8944286c0
Fix qa_pcbnew memory dump in msvc
...
Quick fix for now as it was frustrating to run qa_pcbnew
and not be able to see the output
2021-08-10 21:29:25 +01:00
Jeff Young
a208dac8d8
Convert hole clearance tests from NPTH holes to all holes.
2021-08-09 22:26:00 +01:00
Jeff Young
1332208ab1
Update test expectation.
2021-08-06 22:24:33 +01:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Wayne Stambaugh
813d8f0957
Fix broken QA build on Linux.
2021-08-03 12:02:42 -04:00
Jeff Young
c00f4ed5d2
Add regression tests for track cleaner.
2021-08-03 16:17:18 +01:00
Jeff Young
878538abff
Run each Boost test with it's own fixture.
2021-07-31 20:12:52 +01:00
Jeff Young
faa1ff4ec6
Add false-negative DRC tests (and fix first bug found by them).
2021-07-31 16:41:44 +01:00
Jeff Young
bceb3794f8
Remove ZONE_FILLER_TOOL since it's not really necessary.
...
It was causing intermittent failures on GTK. We'll no doubt want
tools in the QA framework at some point, but probably not necessary
for 6.0....
2021-07-31 01:50:42 +01:00
Seth Hillbrand
5155093ec0
Fix compile issue on gcc
2021-07-30 15:13:34 -07:00
Jeff Young
8d6cd4ad99
Add a bunch more zone fill and DRC regression tests.
...
Also tries to fix a compile issue on gcc.
2021-07-30 21:15:21 +01:00
Jeff Young
b8bb04c432
Release project before potentially reloading project and board.
2021-07-30 18:37:14 +01: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
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
9d348d7e6d
Coverity issue fixes.
2021-07-06 13:32:34 -04:00
Wayne Stambaugh
175b474c3e
Coverity issue fixes.
...
Fixes issues #280412 , #314755 , #329615 , #332459 , #332157 , #332167 ,
2021-06-30 18:08:49 -04:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
df10067bc2
Fix DRC qa build
2021-06-06 15:33:45 -04:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Sylwester Kocjan
31da3e7dc6
qa: merge unit_test_utils to qa_utils
2021-05-19 11:02:52 +00:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Thomas Pointhuber
68f3d09ac1
altium: introduce tokenizer for query language
...
Based on this tokenizer, a LL1 parser will be built in the future.
2021-03-21 16:39:23 +01:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
Jeff Young
f30cea8034
Formatting.
2021-01-12 23:56:35 +00:00
Jeff Young
b1f0bf7334
More consistent naming.
2020-12-08 13:05:39 +00:00
Jeff Young
61bca4aaa4
A bit of "module" erradication, nameing conventions, and formatting.
2020-11-14 21:21:54 +00:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
115fd1d7f3
Move track-to-zone testing to RTrees.
...
Also implemente pad-to-zone testing and removes the control in the
GUI (now that it's fast).
2020-10-31 15:45:41 +00:00
Seth Hillbrand
9ed6cdd943
Remove GITHUB plugins
...
KiCad github downloads are no longer supported
Fixes https://gitlab.com/kicad/code/kicad/issues/6182
2020-10-29 16:45:04 -07:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Michael Kavanagh
42496a7d62
Convert DRC rules syntax help to markdown
...
Note, the original markdown spec specifies using 4 spaces to indent a
code block (https://daringfireball.net/projects/markdown/syntax )
Wrapping with three backticks doesn't work with this lib. Wrapping
with a single backtick for span elements works ok.
2020-10-06 17:18:35 +00:00