Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
0a609dd48d
Add footprint library checking to DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
jean-pierre charras
dc71efbcb2
QA tests: fix a build issue on msys2, due to changes in commit 5622a51
2021-12-15 10:13:45 +01:00
Roberto Fernandez Bautista
4de4347baa
SHAPE_ARC::Collide( aSeg ) must check segment end points as candidates
...
The edge case is when the segment is completely contained inside the arc
(This partially reverts b4835c8208
and
adds the missing test cases)
2021-12-14 16:14:56 +00:00
Roberto Fernandez Bautista
b4835c8208
Add test case for SHAPE_ARC::Collide( seg ) + remove unneeded candidates
...
Followup to commit 01068e0d41
2021-12-13 18:06:11 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Seth Hillbrand
da38a6e750
Fix a couple of qa warning
2021-12-07 14:54:00 -08:00
Seth Hillbrand
c819913687
Fix missing mock return
2021-12-07 14:54:00 -08:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Jon Evans
a205595404
PROF_COUNTER -> PROF_TIMER
...
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
Roberto Fernandez Bautista
c463818b57
SHAPE_LINE_CHAIN: Only fix up arc indices if last pt is part of an arc
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9843
2021-12-03 22:04:55 +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
Mikolaj Wielgus
af078d6666
Test SCH_MARKER, cleanup
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
b7e28bf554
Move eda_item_test_utils.h to common
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
99ab1941cd
mv test_sch_item.cpp test_ee_item.cpp
2021-12-01 00:47:22 +01:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Tomasz Wlostowski
5f2aaba0dd
qa/pns: added trivial PCB rendering performance test program
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
4b243c425b
qa_utils: disable Python support in TEST_APP_MAIN
2021-11-29 23:30:10 +01:00
Mikolaj Wielgus
84dd515b6a
s/Instatiable/Instantiable/, s/Instatiate/Instantiate/
2021-11-29 21:20:57 +01:00
Mikolaj Wielgus
276f9abf8a
Test LIB_ITEM rotation and mirroring
2021-11-29 21:20:57 +01:00
Mikolaj Wielgus
71bfbfaa70
Test SCH_PIN rotation and mirroring
2021-11-28 19:37:13 +01:00
Mikolaj Wielgus
2e1862de1c
Run AutoAutoplaceFields() in SCH_SHEET constructor
...
A constructor should create a fully initialized object.
2021-11-28 18:46:28 +01:00
Mikolaj Wielgus
65dad31d48
Test SCH_SHEET rotation and mirroring
2021-11-28 14:01:20 +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
Mikolaj Wielgus
65af3a8568
Make sheet pin positions invariant to four rotations more often
2021-11-28 02:18:18 +01:00
Mikolaj Wielgus
4b87c4c21c
Test SCH_SHEET_PIN rotation
...
Also remove useless variables and memory leaks in tests.
2021-11-28 02:18:18 +01:00
Mikolaj Wielgus
513aba1552
Clean includes in EDA_RECT test
2021-11-28 02:18:18 +01:00
Mikolaj Wielgus
152a583863
Generic SCH_ITEM tests
2021-11-27 19:42:11 +01:00
Mikolaj Wielgus
22de7256ae
Make sure all KICAD_T values are correct with a test
2021-11-27 19:42:10 +01:00
jean-pierre charras
7bd2073bc0
QA test: fix a not working test on msys2
...
KIID::SeedGenerator( 0l ) worked, but did not give same values for KIID
than calculated from another platform.
2021-11-27 09:27:37 +01:00
Jon Evans
1f27fff1ea
Explicitly build connectivity for board after loading in QA
2021-11-26 10:28:21 -05:00
Jon Evans
08cb573e11
Do not propagate bus entries across buses and wires at the same point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9678
2021-11-25 13:36:30 -05:00
Jon Evans
fa5f8cae96
Fix missing rename from ba6ae4fa
2021-11-25 11:20:39 -05:00
Jon Evans
b4342d813b
Fix SHAPE_LINE_CHAIN::Slice when end is an arc followed by a point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9770
2021-11-25 10:05:33 -05:00
Jeff Young
ba6ae4fa9b
Kicad has many plugins. This one is for the pcb.
2021-11-25 12:56:46 +00:00
Jon Evans
1e8284bc1a
Add ability to seed the KIID generator
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9689
2021-11-20 14:19:29 -05:00
Roberto Fernandez Bautista
8f1126bdfc
Fix qa test utility GEOM_TEST::IsOutlineValid
2021-11-20 16:44:52 +00:00
Roberto Fernandez Bautista
389cb7d4bc
Add SHAPE_LINE_CHAIN tests for arcs with shared points
2021-11-20 16:44:52 +00:00
Roberto Fernandez Bautista
17407b850c
Add qa tests for SHAPE_POLY_SET arcs that wrap around from end to start
2021-11-20 16:44:52 +00:00
jean-pierre charras
3495135b08
Fix compil issue in QA (missing function)
2021-11-18 14:57:56 +01:00
Roberto Fernandez Bautista
3f60765016
Fix incorrect tolerance applied to CollideArcToPolygonApproximation qa test
2021-11-15 14:04:37 +00:00
Roberto Fernandez Bautista
d47bd3a04d
Rewrite broken collision routine SHAPE_ARC::Collide( SEG& aSeg )
2021-11-15 14:04:37 +00:00
Roberto Fernandez Bautista
9b43689a76
Add SHAPE_ARC to SEG collision test cases
2021-11-15 14:04:37 +00:00
Roberto Fernandez Bautista
ad3b4f25c2
Add tests for shape_line_chain collision containing arcs
2021-11-15 14:04:37 +00:00
Jeff Young
92e2f51f57
Fix duplicate UUIDs in test cases.
2021-11-09 16:12:14 +00:00
Mikolaj Wielgus
e1cc7cfbe0
Change wire width from 5 mils back to 6 mils
...
These were remnants of https://gitlab.com/kicad/code/kicad/-/issues/7865
2021-11-07 14:32:27 +00:00
Mikolaj Wielgus
0260961fe3
Add test for EDA_RECT::Inflate
2021-11-06 18:23:02 +00:00
Johannes Pfister
64f77b3596
PNS: Add support for 90-degree corner modes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6902
2021-11-03 02:14:23 +00:00
Jeff Young
eaf10a04dd
Improved naming.
2021-11-02 20:07:34 +00:00
Peter Montgomery
71b07b59c5
Pcbnew: Added "All Items" clear/set to "Filter Selection" dialog
2021-10-29 09:56:14 +00:00
Floris Lambrechts
f72f637a06
pcbnew: Add basic Python unit tests for CONNECTIVITY_DATA
2021-10-22 16:00:18 +00:00
jean-pierre charras
c4e775c694
Fix bug in qa, drc_proto.h (link issue).
...
A virtual pure function was called inside drc_proto.h.
2021-10-16 10:55:19 +02:00
Jeff Young
81e72bafd7
Fix test case.
2021-10-15 21:27:16 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01: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
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
701623b50e
Fix compile error in mocks.
2021-10-03 22:48:40 +01:00
Roberto Fernandez Bautista
4abee7c2eb
Fix SHAPE_LINE_CHAIN::Split when inserting a point on an arc
...
Ensure the arc is split into two at the point specified.
Partly fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
Additional work required to ensure that the shove state is preserved.
2021-09-26 15:15:51 +01:00
Jeff Young
bf145dd633
Confine allow-locked-pad-selection-even-when-filtered to single-select.
...
Also make sure text in a locked footprint is not selected if the locked
items filter is unset.
Fixes https://gitlab.com/kicad/code/kicad/issues/9227
2021-09-24 18:58:22 +01:00
Roberto Fernandez Bautista
dc1fd3d9ba
PNS test app: Add logging information for curved track routing
2021-09-20 20:35:24 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Seth Hillbrand
60a593b44b
Fix defines for qa mock
2021-09-05 19:28:33 -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
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Seth Hillbrand
3a7721d41c
Remove now-invalid mock call
2021-08-27 13:08:10 -07:00
Roberto Fernandez Bautista
ed39b33d74
Fix edge case in CIRCLE::Intersect that caused a divide-by-zero crash
...
Also add some additional test cases.
2021-08-25 19:11:19 +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
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Jon Evans
80355f04a9
Fix SHAPE_LINE_CHAIN::Replace at end of chain
2021-08-13 16:59:45 -04:00
Roberto Fernandez Bautista
d9cf939ba1
SHAPE_LINE_CHAIN::Replace Don't call front() or back() if empty
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8949
2021-08-12 16:32:06 +01:00
Roberto Fernandez Bautista
22df01183d
Fix edge cases in CIRCLE::Intersect that were causing KiROUND overflow
2021-08-11 17:31:27 +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
Roberto Fernandez Bautista
ae87dc686a
Fix SHAPE_LINE_CHAIN::NearestPoint when aAllowInternalShapePoints=false
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8770
2021-08-08 20:58:20 +01:00
Roberto Fernandez Bautista
fb3a6ef2db
Add qa Test for SHAPE_LINE_CHAIN::Slice
2021-08-08 19:09:54 +01:00
Jeff Young
1332208ab1
Update test expectation.
2021-08-06 22:24:33 +01:00
Roberto Fernandez Bautista
eaf8eb284a
Add true arc-to-polyline collisions
2021-08-05 17:45:12 +01:00
Roberto Fernandez Bautista
dd65ce9523
Simplify & move new arc collision code into Kimath library
...
Don't need to check intersections with the circle, just fix the
calculated "projected" point from the end points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8234
2021-08-05 17:45:12 +01:00
Roberto Fernandez Bautista
b6be10f05c
Fix CIRCLE::Intersect( const SEG& aSeg ) and add unit tests
2021-08-05 17:45:12 +01:00
Tomasz Wlostowski
9c15ba9673
qa: arc playground with fixed endpoint corner case
2021-08-05 17:45:12 +01:00
Roberto Fernandez Bautista
2573ac19a5
Fix "false intersection" case and attempt to fix "missing intersection"
2021-08-05 17:45:12 +01:00
Roberto Fernandez Bautista
318435aedb
Add more test cases: simulate zone fill around arc + diff pair meander
2021-08-05 17:45:11 +01:00
Roberto Fernandez Bautista
f2925dc6cb
Added a few more test cases
2021-08-05 17:45:11 +01:00
Tomasz Wlostowski
9922e85ecf
arc collision playground: some cleanup
2021-08-05 17:45:11 +01:00
Tomasz Wlostowski
7e94f85870
arc collision playground
2021-08-05 17:45:11 +01:00
Tomasz Wlostowski
539154466d
playground with arc2arc collision
2021-08-05 17:45:11 +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
43523df843
Measure distance from pad center, not pad hull.
...
Otherwise we think the wrong end of really short track segments is
connected to the pad, leaving the other end dangling.
Fixes https://gitlab.com/kicad/code/kicad/issues/8909
2021-08-02 22:42:54 +01:00
Jeff Young
2a2dc1c0ff
Fix false test failures.
2021-08-01 22:18:18 +01:00
Jeff Young
878538abff
Run each Boost test with it's own fixture.
2021-07-31 20:12:52 +01:00