Roberto Fernandez Bautista
4defc946ef
Fix rounding errors in SHAPE_ARC::Collide + fix qa tests
...
Use CIRCLE::NearestPoint to ensure consistency
2022-04-11 13:46:36 +01:00
Jeff Young
2663ad5340
Implement Eagle text variables.
...
Also fixes two bugs:
1) subsequent text items that are marked >NAME or >VALUE will now get
imported as text items with ${REFERENCE} or ${VALUE} (instead of overwriting
the previous text item)
2) we no longer (accidentally) capitalize all text items.
Fixes https://gitlab.com/kicad/code/kicad/issues/11321
2022-04-10 17:29:47 +01:00
Jeff Young
a23399a1af
Formatting.
2022-04-10 17:29:47 +01:00
jean-pierre charras
5e52539939
eagle importer: fix incorrect conversion UTF8/wxString.
...
When importing a eagle board file using wxXmlDocument, the strings in eagle BOARD
(UTF8 encoded) are correctly converted to wxString (using unicode wide chars)
So trying to reconvert these strings using FROM_UTF8( <wxString>.c_str() )
is incorrect and can break initial string if non ASCII7 chars are found
2022-04-09 15:33:01 +02:00
Jeff Young
5bf163de80
Update kimath test for recent bugfix.
2022-04-08 19:13:02 +01:00
Thomas Pointhuber
bd18e340f4
eagle: introduce *.lbr footprint import test
...
Bugs found but not fixed yet:
* Reference and Value are not converted correctly yet
* HOTFIX: test commented out
* GP3906-TLP and UBLOX_ZOE_M8-0-10 are not able to import the description again
* HOTFIX: description removed from gold file
2022-04-02 20:07:16 +02:00
Thomas Pointhuber
056748e0df
altium: Add testcase to verify that "PCB Binary Version 5.0" is also supported
2022-04-02 18:17:19 +02:00
Thomas Pointhuber
406c528ab7
altium: Create region for items on the KEEP_OUT_LAYER and use new Track unit-tests
2022-04-02 18:17:19 +02:00
Jeff Young
f7cdc7af75
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
2022-04-02 15:12:42 +01:00
Sylwester Kocjan
f5dedd77c6
eeschema,sim: add SIMULATOR and SIM_MODEL interface
...
SIMULATOR has now an Attach() method, which should be called
with proper SIMULATION_MODEL that should be simulated, before calling Run()
Concrete class of SIMULATION_MODEL for ngspice is NGSPICE_CIRCUIT_MODEL,
renamed from NETLIST_EXPORTER_PSPICE_SIM. DIALOG_SIM_SETTINGS relies
on above mentioned object, so it was added as an argument of the constructor.
2022-04-01 19:28:31 +00:00
jean-pierre charras
eac1ab3d1f
QA: fix paths in CMakeLists.txt after QA paths changes
2022-03-30 18:18:29 +02:00
Sylwester Kocjan
3da47e6123
qa: move pcbnew data to appropriate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
cfb8fbc644
qa: move eeschema data to appropriate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
0d64fc8c09
qa: move unittests to the separate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
df2d8a5680
qa: move tools to the separate directory
2022-03-30 11:13:23 +00:00
jean-pierre charras
f3be3a5762
test: update test files to fix DRC issues after changing the text position algo.
2022-03-30 10:56:16 +02:00
jean-pierre charras
93066004f1
QA: fix altium qa tests now the altium to pcbnew coordiantes are rounded
...
to the near 10nm value.
2022-03-24 12:36:46 +01:00
jean-pierre charras
3e4fa8143a
QA test: fix incorrect call to BOOST_TEST_MESSGE.
...
It expects a C string, not a wxString.
2022-03-21 13:49:20 +01:00
Sylwester Kocjan
6db0ad4876
qa: add missing const to mocked method
2022-03-21 11:51:39 +00:00
Jeff Young
476f1a7d4d
Preload PCBnew find with selection when appropriate.
2022-03-19 19:37:01 +00:00
Sylwester Kocjan
14ded23e97
qa_common_tools: use common mocks
2022-03-18 17:51:09 +00: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
Sylwester Kocjan
a65999b063
qa: Add Turtle 1.3.2 mocking framework
2022-03-18 17:51:09 +00:00
Jeff Young
b10f774dc4
Update gold file for now. We may decide to back it out later.
2022-03-15 00:55:01 +00:00
Jeff Young
d65019e280
Update tests.
2022-03-15 00:37:44 +00:00
Thomas Pointhuber
1831ae6fa4
altium: Fix test due to keepout restrictions parse changes
2022-03-12 09:59:57 +01:00
Wayne Stambaugh
c7d577dfe6
Fix unit test mock build error.
2022-03-11 08:28:00 -05:00
jean-pierre charras
4ad89b9c04
Fix qa tests after fix made in commit 878c70c1
2022-03-09 17:18:54 +01:00
Thomas Pointhuber
a9ebb42ecd
altium: Parse keepout restrictions of tracks
2022-03-07 19:58:43 +01:00
jean-pierre charras
b0470a1a9a
fix a QA python test (test_arcs()).
2022-03-07 09:31:08 +01:00
Jeff Young
cdd3fd416e
Missed one from last commit.
2022-03-05 20:45:18 +00:00
Jeff Young
6bd448882d
Update gold counts for new isolated-island test.
2022-03-05 20:39:35 +00:00
Jeff Young
d9cdf46047
Fix printf format token.
2022-03-05 18:59:53 +00:00
Seth Hillbrand
2200c1319d
Fix QA for arc/arc collisions
...
We no longer need the arbitary offset when we are calculating collisions
based on values that are not nm off from a "round" value.
2022-03-04 13:15:47 -08:00
Seth Hillbrand
9d927f3135
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
2022-03-03 12:07:20 -08:00
Tomasz Wlostowski
4d9c156b0a
qa: forgot about the CONSOLE_LOG file (required by the refactored P&S debug tool)
2022-03-03 16:33:17 +01:00
Tomasz Wlostowski
adace996f4
qa/pns: refactored the P&S debug tool:
...
- factored out 'business' code from the UI code
- moved to the new DEBUG_DECORATOR interface
- UI-less log file and log player classes as a step towards P&S unit tests
2022-03-03 01:02:00 +01:00
Jeff Young
843a56c4e4
Implement two-staged zone priority: assigned priority followed by UUID.
2022-03-01 14:53:35 +00:00
Jeff Young
bc51c89c90
Reconcile zone-auto-fill with undo.
2022-02-25 13:05:49 +00:00
Jeff Young
d465eb6425
ADDED: automatic zone refilling.
...
This is for the out-of-box experience for novice users. It is presumed
that folks with larger more complicated boards will turn it off.
Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Thomas Pointhuber
52a2d52bf0
altium: Parse solder and paste mask settings of tracks and arcs
2022-02-20 20:18:40 +01:00
Thomas Pointhuber
86c025eb30
altium: Fix parsing of zones which use the KEEP_OUT_LAYER
2022-02-19 14:37:05 +01:00
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Jeff Young
b1dc9dcebf
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
c1874f009b
Fix test case.
2022-02-15 22:18:21 +00:00
Thomas Pointhuber
fc5772ad92
altium: Extend test-suite to support FP_ZONE validation
2022-02-15 21:42:03 +01:00
Thomas Pointhuber
8587f762b5
altium: Extend test-suite to support FP_TEXT validation
2022-02-15 21:42:03 +01:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00
Jeff Young
90f6edad61
Move connectivity algo to collision-based routines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1800
Fixes https://gitlab.com/kicad/code/kicad/issues/1769
2022-02-13 00:35:11 +00:00
Thomas Pointhuber
81b4229e12
altium: Improve test-coverage of *.PcbLib import functionality
...
* Add test-code for pads
* Move test-code into board_test_utils.cpp for reuse, one method per object
* Add a real (rather small) Altium footprint for testing purposes
2022-02-12 16:50:25 +01:00
Jeff Young
00934fdd84
Move GUI queries in PLUGIN to a callback.
...
Also makes sure legacy zone fills get deleted and re-filled (since
just dropping the outline will change them).
2022-02-11 22:09:22 +00:00
Jeff Young
3deaf902bb
Retire the V5 zone fill algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
2022-02-11 13:10:52 +00:00
Thomas Pointhuber
3f36e7d725
altium: Start with a test-suite to validate that *.PcbLib footprints are correctly imported
...
The test simply loads every footprint of a library, and compares all elements with an equivalent
KiCad footprint. This allows us to quickly spot regressions in the altium and kicad footprint importer,
and any code in-between. This test is only a demo, as the checks are still incomplete and quite a few
tests are missing.
It has to be noted that mask expansion is not supported rigt now by the altium importer, thus the
reference footprint is adjusted to keep the test happy.
2022-02-09 22:34:04 +01:00
Marek Roszko
28ce11212c
Emplace_back a bit a in clipper
2022-02-05 21:00:34 -05:00
Jeff Young
3f8cada334
Fix some issues with new polygonization of arcs and arc collision test.
...
Test should not be testing against the polygonization error; if done
correctly that should all be on the correct side of the shape. Use an
epsilon instead (I chose polygonization error / 10, but the value isn't
terribly important).
Fixes https://gitlab.com/kicad/code/kicad/issues/10724
2022-02-03 19:53:42 +00:00
jean-pierre charras
a970acd0bc
Fix some issues related to new textboxes and python:
...
- Fix duplicate class names returned by GetClass().
- replace MTEXT name (in GetClass) by better name (FP_TEXT, FP_TEXTBOX...)
- Add missing Cast_to_PCB_TEXTBOX and Cast_to_FP_TEXTBOX
2022-02-03 13:55:37 +01:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
jean-pierre charras
1c8ba6dafc
fix python QA tests to run with latest changes in eda_angle.h
2022-01-18 13:49:50 +01:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
1539fa5af2
Move SHAPE_ARC to EDA_ANGLE.
2022-01-16 01:19:45 +00:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
jean-pierre charras
d6332bec24
Fix test_custom_rule_severities.cpp: disable tests not handled by these tests
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library, and does not test these DRC.
2022-01-12 18:20:44 +01:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
ea3efac2b6
drc/drc_test_provider_library_parity.cpp: protect against null pointer use.
...
qa tests, test_solder_mask_bridging.cpp: filter not relevant DRC tests
2022-01-12 14:41:11 +01:00
Jeff Young
8c6c87eaf4
Separate footprint lib issues from footprint mismatch issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10132
2022-01-11 22:28:24 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Jeff Young
393ccf1187
Save/Load test to make sure we don't bugger up the PCBNew file format.
2022-01-09 13:02:41 +00:00
Seth Hillbrand
2d8707a3d0
QA: Remove call to obsoleted function
2022-01-08 19:40:33 -08:00
Jeff Young
aa8f091035
Attempt to fix compile error.
2022-01-08 18:01:00 +00:00
Ola Rinta-Koski
9b406c1da4
Outline font support.
2022-01-08 16:47:45 +00:00
jean-pierre charras
33dbe92deb
drc_test_provider_mechanical_clearance: add missing handling of SHAPE_T::RECT
...
test_ee_item.cpp: add missing call to ClearFieldsAutoplaced();
2022-01-08 10:49:47 +01:00
jean-pierre charras
bf5cdec743
QA test code: fix some issues:
...
- in python tests force the "C" locale is in use (remove wx alerts in some locales)
- disable some new DRC tests that are irrelevant in QA tests and create false positives
2022-01-06 09:37:14 +01:00
Marek Roszko
cc5003a919
Update python for the pad wxSize switch
2022-01-04 23:28:06 -05:00
jean-pierre charras
a09741597f
qa test: allows epsilon (1 unit) to compare 2 coordinates
...
It avoids false qa errors (false positive) when comparing coordinates after transform
2022-01-04 16:38:31 +01:00
Mark Roszko
0d64fdc5c7
Put back original expected segment data for unit test
2022-01-04 13:42:08 +00:00
Marek Roszko
367431f825
Update solder_mask_bridge_test.kicad_pro to ignore library mismatches in test
2022-01-02 19:18:29 -05:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
jean-pierre charras
c4af66f6d3
Fix compil issues on Windows+msys2
...
Probably some fixes also on other platforms
2022-01-02 18:32:39 +01:00
Jeff Young
88ee2e269f
Remove some video nets from order testing.
...
Conflicting nets are disambiguated with "_n" suffixes, but the order
of these is not deterministic.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
jean-pierre charras
797de9d327
Fix some issues (but not all) in qa tests for eeschema
...
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Jeff Young
93018375f8
Fix some test errors and update gold files for better netnames.
2022-01-01 20:46:45 +00:00
Marek Roszko
b85fb9137f
Add kicad_3dsg copy for qa_pcbnew to run out of build dir
...
Mirror of the pcbnew step for the same reason
2022-01-01 14:52:48 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
cadc0639eb
Update BASE_SCREEN to VECTOR2I
2022-01-01 11:30:33 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Jeff Young
c097f90688
Attempt to fix compile error.
2021-12-26 16:55:15 +00:00
Jeff Young
08cdbdac7e
Attempt to fix mocks build issue.
2021-12-26 15:12:15 +00:00
Jeff Young
ab583a32f9
Better layer handling for DRC markers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
2021-12-26 15:06:12 +00:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young
390ca93388
Fix another missing test case.
2021-12-24 18:05:14 +00:00
Jeff Young
ceceda37cc
No more long-lived parsers.
...
We've had too many bugs from improper re-initialization.
Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young
5f37c2b247
Custom rule severities.
...
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young
3aa6d73770
Allow min/max/opt to come from different rules.
2021-12-24 12:36:37 +00:00
Jeff Young
1d9337a917
Fix up test case.
2021-12-24 12:21:28 +00:00
Jeff Young
4b6f2f0658
Add mechanical copper clearance testing for shapes.
...
Also includes going from distance-based neighbor exclusion to angle-
based. (Distance doesn't work when very short segments are followed
by very long ones.)
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:10 +00:00
Jeff Young
66a6a6d448
Attempt to fix test case, and improve debugging output.
2021-12-24 11:38:09 +00:00
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
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