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
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
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +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
43cb710297
Fix broken PNS router QA build.
2021-07-27 15:07:56 -04:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
jean-pierre charras
7869ac7e67
fix typo in commit f16239d
2021-07-22 20:45:22 +02:00
jean-pierre charras
f16239d326
QA test: try to fix a compil problem on MSVC only
2021-07-22 20:41:37 +02:00
jean-pierre charras
e35b469f30
QA tests: fix a few compil issues due to code change.
2021-07-22 18:18:12 +02:00
Jeff Young
4319d92a12
Fix test breakage from dialog onClose() change.
2021-07-22 15:55:55 +01:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
Wayne Stambaugh
bf80b9c04c
Last of the NULL expunging.
2021-07-20 10:32:22 -04:00
Jeff Young
fbd267665b
Fix test case.
2021-07-08 18:23:28 +01:00
Jeff Young
a4263ebce5
Clean up Altium special string handling
...
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Wayne Stambaugh
9d348d7e6d
Coverity issue fixes.
2021-07-06 13:32:34 -04:00
Roberto Fernandez Bautista
cee5920d5c
Remove dead code (SHAPE_LINE_CHAIN::DetectArcs)
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
778c64de88
Implement ClearArcs() and check curved polys don't get a booleanOp
...
We cannot (yet) support passing several curved outlines through clipper.
In these cases, the caller should ClearArcs() before processing.
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
260a9d0540
Use ZFillFunction to modify arcs post clipper (does not fully work yet)
...
Added a unit test to verify union and intersection of polygons result
in desired results: subject + clip - intersect == union
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
a9a8aa8243
SHAPE_LINE_CHAIN splitArc on Insert, Remove and Replace
...
This ensures that the arc shapes remain correct after removing
a point belonging to an arc or inserting a point in the middle
of an arc.
Simplify implementation of Replace( ..., aP ). Now a Remove
operation followed by an Insert operation.
Improve QA test for SHAPE_LINE_CHAIN Append, Insert and Replace
Implement SHAPE_LINE_CHAIN::splitArc to break up an arc into two
Implement SHAPE_ARC::ConstructFromStartEndCenter and add qa test
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
2f069c0b19
Add test for detecting arcs post clipper
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
e54a44e1d3
Add qa test for SHAPE_POLY_SET::Simplify()
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
3ee8b4825c
Implement SHAPE_LINE_CHAIN::DetectArcs and add qa test
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
14c3d9055e
Add CIRCLE::Contains( VECTOR2I aP ) and add unit tests
2021-07-03 19:37:50 +00: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
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +01:00
Thomas Pointhuber
e50eaed7b9
altium: Improve parsing of UTF-8 data
...
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
Roberto Fernandez Bautista
cd130be2db
Fix PNS Test App and enable build option in CI
2021-06-24 11:24:50 +00:00
Jeff Young
3d7e18561d
Checkpoint of app-specific single-instance checking.
...
(I'm about to nuke single-instance checking entirely, but wanted to
make sure this was captured in GIT somewhere.)
2021-06-20 21:37:02 +01:00
Tomasz Wlostowski
24e7924997
qa: fixed building of the P&S debug tool after the changes/refactoring of the 3D viewer code. The tool can now be built
...
if KICAD_BUILD_PNS_DEBUG_TOOL is ON.
2021-06-19 23:21:23 +02:00
Jeff Young
89718dd3ba
Naming conventions.
2021-06-19 19:36:53 +01:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Jon Evans
82f3df4086
Attempt to fix Python qa code after renames
2021-06-13 11:20:19 -04:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Jon Evans
e42f4a8f70
Fix build of PNS log viewer after header changes
2021-06-06 16:07:38 -04:00
Marek Roszko
df10067bc2
Fix DRC qa build
2021-06-06 15:33:45 -04:00
Tomasz Wlostowski
5a325c59db
qa/pns: playground tool now can draw lines with annotated vertices
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
5c01b0a32e
qa: prevent double pybind11 initalization (throws an exception)
2021-06-03 22:44:53 +02:00
Ian McInerney
4f05262705
Cleanup includes in board.h and footprint.h
2021-06-03 20:19:52 +01:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Seth Hillbrand
de89505f02
Fix QA for rounding segments
2021-06-03 10:18:50 -07:00
Seth Hillbrand
c7d188a8d0
Centralizing SCRIPTING class
2021-06-01 20:18:24 +00:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Tomasz Wlostowski
a0e28f1475
qa/pns: follow up changes in PNS::DEBUG_DECORATOR in the log viewer tool
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
1c23b505e0
qa/pns: factor out simple 'playground' app to a separate file
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
d31d2e28ca
qa/pns: work in progress on pns_log_viewer.
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
ea4161c42f
qa_utils: remove mockups that are not used anymore
2021-05-29 00:13:24 +02:00
Seth Hillbrand
e2785b117b
Fix Locale issue in QA tests
2021-05-28 13:25:18 -07:00
Jeff Young
4c3d78dec0
Break out separate holes-co-located violation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8456
2021-05-20 10:36:56 +01:00
Sylwester Kocjan
31da3e7dc6
qa: merge unit_test_utils to qa_utils
2021-05-19 11:02:52 +00:00
Jon Evans
55c1d814f9
Fix hierarchical propagation for designs with unmatched hier ports
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8397
2021-05-10 17:54:09 -04:00
Tomasz Wlostowski
ce0ec29fe6
qa: test case for PROPERTY::IsValueDefined()
2021-05-03 23:45:54 +02:00
Roberto Fernandez Bautista
0f0c5c194b
Add qa test: save and reload schematic with page numbers
...
Note: PGM_BASE::InitPgm() is creating a SETTINGS_MANAGER object, which
in turn tries to display a "migrate settings" dialog when no settings
are found, but obviously the dialog can't be displayed inside docker.
Needed to add an optional parameter to InitPgm() in order to allow
running in headless mode.
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista
ae009e0758
Ensure clipboard data is available after KiCad closes
...
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko
21fde9b629
enum class PCB_SHAPE_TYPE_T
2021-04-30 22:36:12 -04:00
Jeff Young
13473420e5
Remove duplicated routine and fix bug in UTIL version.
2021-04-17 15:10:59 +01:00
Ian McInerney
4fc41627e9
Update and modernize linux metadata files
...
* Switch to using org.kicad.kicad as the main app ID
* Move the appstream file to a metainfo file
* Rename all metadata files to use the reverse DNS scheme
* Add header matching to mime type files where possible
* Add a mime type for gerber job files
* Add a QA test that verifies all the linux metadata files and
run it in CI
* Update the visible names in the launcher entries to be more
consistent with the internal visible names
* Update various strings and items in the metainfo file so they
are more descriptive and easier to read
2021-04-15 16:34:12 +00:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00