1774 Commits

Author SHA1 Message Date
Jeff Young
ed1b4f6e5a Better and more complete recursion guards.
(ie: ones that actually work.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20990
2025-05-24 22:39:03 +01:00
Jeff Young
f58fc0b952 Rewrite GROUP undo based on uuids.
This also removes the GROUP/UNGROUP-specific undo actions.

This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.

This also fixes some undo bugs when dividing wires etc.

This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Seth Hillbrand
9bedb6eedb Fix silk board edge collision case
First, fix the error limit check in drc_test_provider_edge_clearance.
Then, we rotate the final point incorrectly in SHAPE_ARC::Collide (need
negative angle).  We were not checking this result in the QA, so add the
proper tests
2025-05-19 17:49:03 -07:00
Wayne Stambaugh
d16d2f5a5b Fix a cadre of symbol pin alternate issues.
Prevent the file formatter from writing and the file parser from loading
symbol pin alternates that have an empty name or when the alternate name
is the same as the default pin name.  Apparently at some point they were
able to be created and saved.

Do not allow SCH_PIN::SetAlt() to set an alternate name when the name
does not exist in the library symbol pin alternate list.  This required
fixing the associated QA test.

When updating or changing schematic symbols from library, reset the pin
alternate to the default when the alternate no longer exists in the
symbol.

Do not populate pin alternates context menu with duplicate default pin.

Clear orphaned pin alternates to the default when saving symbols from
symbol editor.
2025-05-17 14:20:07 -04:00
Jeff Young
4cd2e947a1 Slice() must also support aMaxError.
In some cases arcs are re-inserted.
2025-05-13 12:03:41 +01:00
Jeff Young
24bb72c3cf Update CLI gold files for higher arc definition. 2025-05-13 10:09:26 +01:00
Jeff Young
7f4853b8a5 Third go at fixing the kimath test. 2025-05-13 09:57:13 +01:00
Jeff Young
acf1dca1e1 Another go at fixing the kimath test. 2025-05-13 08:45:50 +01:00
Jeff Young
a95f5172c9 Formatting. 2025-05-12 21:59:37 +01:00
Jeff Young
32cd142c39 Allow math tests to run with their own precision. 2025-05-12 21:57:52 +01:00
Jeff Young
f54ae5246c Update Cadstar gold file for increased precision. 2025-05-12 21:40:48 +01:00
Michal Suchanek
df33ec79f7 test_ki_any: Add missing cstdint include
This is probably pulled in by some of the other includes for some build
configurations, but not always.
2025-05-11 15:50:10 +00:00
Jeff Young
96522c4113 DRCEpsilon is generic. Zone knockouts need more specific values.
Each knockout can be approximated, and each knockout
will have m_ExtraClearance added.  If a neck is
between two knockouts, it will be 2X the above
values narrower than expected.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20361
2025-05-04 15:33:04 +01:00
John Beard
4c8b971021 Eeschema: Symbol editor: pin table CSV interchange
This adds the ability to export the pin table content to a CSV file
or the clipboard as CSV, then re-import it from CSV or TSV. This allows:

* to round-trip pin table data via a spreadsheet program, so that the pin
  data can be manipulated in a richer/more familiar editing environment
* an import method to bring in tabular pin data from other formats
  "semi-automatically", without having to write a full-blown symbol generator.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19207
2025-05-03 23:22:35 +08:00
Marek Roszko
51377cbf41 Remove leftover MSVC gate in path mod setup 2025-05-02 18:56:59 -04:00
Marek Roszko
3c08066f99 Shift the qa path setup to ENVIRONMENT_MODIFICATION due to no complaints over cmake 3.22 min 2025-05-02 18:49:48 -04:00
Marek Roszko
e8a6fff5b0 Make the vcpkg bin depend on build type for the path mod 2025-05-02 18:49:48 -04:00
Jeff Young
3cfab79a78 Fix qa_cli gold files for junction dot size issue. 2025-05-02 10:55:04 +01:00
Marek Roszko
83f9dc56d0 Add missing numpy requirement to tests/requirements.txt 2025-05-01 21:44:03 -04:00
Marek Roszko
74c79446a8 Add checkpoints to netlist testing 2025-05-01 21:20:20 -04:00
Marek Roszko
3a32ab30ed Add test from removed dup 2025-05-01 21:16:03 -04:00
Marek Roszko
784a115b3a Dont use boost_check_message for a log as it affects the last checkpoint record 2025-05-01 21:15:50 -04:00
Marek Roszko
c3f733909f Remove test files not actually being used and upped 2025-05-01 21:15:23 -04:00
Marek Roszko
a7b3d5454e Add another file open ReadAll check in qa 2025-05-01 20:04:32 -04:00
Marek Roszko
880ca01ff7 Add a simple file isopened guard
The saga of why the docker container fails QA continues
2025-04-30 23:17:25 -04:00
Wayne Stambaugh
bebc9669ad Fix ERC QA failures caused by hierarchical label root sheet test. 2025-04-29 17:46:39 -04:00
Jeff Young
b01fef5ca8 Update visibility flag when adding fields.
Also removes extra c'tor which fails to set the
ordinal.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20556
2025-04-26 16:37:36 +01:00
John Beard
1b1623885c PCB array tool: don't count array source pad as reserving its number
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20722
2025-04-23 23:32:20 +08:00
jean-pierre charras
874fad4846 QA test: Update issue11814.kicad_pcb by removing old teardrops
These teardrops created by a old plugin have all the same priority.
Overlapping zones must avoid using the same priority.
Now replaced by teardrops created by Pcbnew.
2025-04-22 15:46:29 +02:00
jean-pierre charras
86b17f46de QA tests: fix missing initialization. 2025-04-20 10:28:42 +02:00
JamesJCode
eb17ebee4e Implement time-domain length tuning
- Adds time and delay units
- Adds time domain tuning parameters entry and storage
- Adds pad-to-die delay property
- Adds time domain parameter interface for length / delay calculations
- Adds unit tracking for numerical constants through LIBEVAL
   - Will need future work to truly propagate through binary expressions
- Adds time domain tuning to meander placers
- Adds time delay display to net inspector panel
- Modifies DRC to handle time domain constraints
2025-04-17 21:46:56 +01:00
Mike Williams
b9013b87d0 sch groups: add test case for loading from file 2025-04-15 10:19:40 -04:00
Mike Williams
5db091fc79 sch groups: clear group membership on destruction, add tests 2025-04-15 10:14:38 -04:00
Jeff Young
10af2f04d3 Make test use the solder-mask healing algo. 2025-04-14 15:38:18 +01:00
Jeff Young
38c822db9c Use individual silk/mask collision checking if solder mask min width is 0.
Using the combinde solder mask doesn't deal well
with exclusions since almost any change will affect
the combined mask.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17429
2025-04-14 14:05:35 +01:00
Jeff Young
f1718370c4 Tests assume {0,0} sized table cells. 2025-04-13 12:04:14 +01:00
Wayne Stambaugh
66fad52331 Update QA JSON files to prevent modified status after running QA test. 2025-04-10 11:47:33 -04:00
Wayne Stambaugh
cb1e6b62e9 Update QA test json files with latest changes. 2025-04-08 08:17:12 -04:00
Wayne Stambaugh
11edaa6e4a Use arc mid point for footprint library parity DRC testing.
The arc center is a pseudo coordinate which is calculated for drawing
purposes.  This mid point is fixed unless the arc is modified which
should result in more reliable arc parity footprint library DRC testing.

Also change EDA_SHAPE::Compare() to use the arc mid point.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15917
2025-04-04 15:30:44 -04:00
Mike Williams
40058ebe80 actions: move all basic selection operations to common actions 2025-04-02 12:02:01 -04:00
Mike Williams
05e9772d54 groups: extract common class methods into EDA_GROUP base class 2025-04-01 14:34:20 -04:00
Mike Williams
43e432f9ad sch_group: add basic class implementation + test 2025-04-01 14:34:20 -04:00
JamesJCode
906c24bc6d Unify length calculation between router, board / frame, and DRC 2025-03-30 09:18:41 +01:00
Mike Williams
a90b8ec57a pcb: merge RunOnChildren/Descendants into one function with a mode 2025-03-27 13:16:09 -04:00
Wayne Stambaugh
69f758dbcd Update QA configuration files to the latest changes.
This prevents having to revert the changes to these files every time the
QA tests are run.
2025-03-25 10:56:33 -04:00
Jeff Young
6e2914b990 Update terminology. 2025-03-25 12:05:54 +00:00
Jon Evans
1c83f0a70b Implement jumpers for footprints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:17:46 -04:00
Jon Evans
805ca0c791 ADDED: Jumpers for symbols
Support explicit jumper symbols, defined either by a
flag that all pins with the same number are connected,
or by explicit groups of jumpered pins

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:08:46 -04:00
Wayne Stambaugh
5783623c50 Add code to test if schematic file belongs to another project. 2025-03-17 13:12:35 -04:00
Jon Evans
fe22166d9f Use stable sort ordering in ERC reports
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20333
2025-03-16 10:25:29 -04:00