John Beard
481fa1f959
Allow PCB reference image locking and UUID to be saved
...
Add some unit tests for reference image saving/loading.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16334
2023-12-14 21:22:59 +00:00
jean-pierre charras
b9a5e04ad0
Workaround to fix a QA not working test on platforms is Python older than 3.9
...
A Pcbnew Python test in QA cli (to test SVG outputs) fails in old Python
because it uses a function only existing in Python 3.9 and newer.
So skip this test for older Python version
2023-12-14 11:57:10 +01:00
John Beard
11be5d6f1d
Improve error handling when reading test board data
2023-12-11 22:27:32 +00:00
Wayne Stambaugh
078ba510b4
Remove empty QA layer test file stub from build list.
2023-12-11 16:42:38 -05:00
Wayne Stambaugh
5fa274ead0
Add board layer view stack up sequence from front layer to back layer.
...
The old bottom to top layer stack up sequence from back to front layer was
only used for plotting so it was renamed appropriately. This will be used
for future board object select disambiguation improvements.
2023-12-11 15:07:58 -05:00
Jeff Young
1adf96d879
Update gold failure count.
2023-12-11 16:45:13 +00:00
Jeff Young
931cec862e
Non-plated slots are effectively edges.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16267
2023-12-09 21:06:40 +00:00
Jeff Young
e0a34efcb7
Use a more self-documenting API for router preview item flags.
...
Also fixes a bug where rule areas were drawn with solid fills.
2023-12-08 16:02:15 +00:00
jean-pierre charras
096bcff160
Try to fix a QA not working test on W10/msys2.
...
Probably due to a not closed file when trying to delete it.
2023-12-07 20:01:22 +01:00
Seth Hillbrand
343828c552
Fix invalid string compare in IBIS parser
...
strcmp returns 0 if strings are the same but compareIbisWord returns
True (1).
Adds an IBIS simulation QA test case to catch this in the future
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16223
(cherry picked from commit ef8b6bf9e1
)
2023-11-30 09:16:38 -08:00
Marek Roszko
56b7f91361
Format the std::filesystem path directly
2023-11-29 14:27:08 -05:00
Jon Evans
cb12464865
Potentially fix MSVC build
2023-11-29 13:10:56 -05:00
Jon Evans
ae66ce68b5
Update testcases for generator_version
2023-11-29 16:17:41 +00:00
Jon Evans
f1f8981395
Automatic whitespace and indentation prettification for sexpr formats
2023-11-29 16:17:41 +00:00
Seth Hillbrand
9e48b388fe
Add additional QA sliver check
2023-11-28 16:02:39 -08:00
Seth Hillbrand
75c6b0ab28
Added IPC2581 support
...
IPC2581 is a modern production file exchange system. It provides
single-file data output for an entire board including BOM and netlist
information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Ian McInerney
b64631d7bc
Add um support to the unit binder
2023-11-26 00:03:09 +00:00
Alex Shvartzkop
7e68da7f7f
QA: show more info in TestCalcArcCenter3Pts.
2023-11-25 20:09:51 +03:00
Alex Shvartzkop
b7824adfb1
QA: add a test for CalcArcCenter( aStart, aMid, aEnd )
2023-11-25 18:37:53 +03:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Jon Evans
a2379f4111
Altium QA: Fix issue with newer wx
...
Now uses std::from_chars and + prefix must be stripped
2023-11-24 16:00:42 -05:00
Jeff Young
f25a06b2a5
More globals eradication.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16031
2023-11-12 23:43:30 +00:00
Jeff Young
9f0d409982
Missing files from last commit.
2023-11-12 14:33:47 +00:00
Jeff Young
2e311f59a8
Regression test for variable resolution in complex hierarchies.
2023-11-12 14:30:47 +00:00
Seth Hillbrand
fe46fafa98
Add regression test for previous hier label issue
2023-11-09 06:20:52 -08:00
Roberto Fernandez Bautista
09f1df6c94
CADSTAR Parts: Add QA test for +N0 root with no parts
2023-11-08 22:53:14 +01:00
Jeff Young
abda3c0d33
Handle various keepout flags independently.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16037
2023-11-07 11:57:23 +00:00
Alex Shvartzkop
a39f0c2c2f
QA: update track cleaner expected value.
2023-11-06 17:43:52 +03:00
Alex Shvartzkop
a6b517147e
QA: update Tracks.pretty
2023-11-06 17:16:16 +03:00
Seth Hillbrand
de0736863b
Allow multiple strong drivers with same name
...
Multiple labels with the same name are allowed (and expected) so ensure
that we use a structure that allows duplicate names
2023-10-31 11:52:29 -07:00
Jon Evans
1a7cc88b97
Add (failing) QA test for #16003
...
Also remove old test_netlists.cpp that should have been removed long ago
2023-10-31 12:57:14 -04:00
Jeff Young
19ca7cedaa
Better test reporting.
...
(This make it clear in the failure message which is the expected
value and which is the actual value.)
2023-10-31 12:10:21 +00:00
Jon Evans
1b9062bd9f
QA: show violation info before failing DRC regressions
2023-10-30 00:16:58 -04:00
Wayne Stambaugh
30ba1b8007
Coverity warning fix.
...
This fixes all of the warnings cause by using std::weak_ptr objects when
recursing the symbol inheritance tree to retrieve the root symbol. The
issue is that the weak pointers are not guaranteed to be valid for each
recursion because the lock will go out of scope. Using a std::shared_ptr
object will ensure the lock is valid until it goes out of scope.
2023-10-28 13:25:30 -04:00
Jeff Young
e222f40696
Don't double-up the root sheet in CurrentSheet in test harness.
2023-10-26 15:00:00 +01:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
jean-pierre charras
76e1babb88
qa test, test_lib_part.cpp: add missing initialization of parent field member
2023-10-21 10:39:11 +02:00
Jeff Young
2450250ae7
Use "tuning pattern" in the GUI.
2023-10-15 17:59:11 +01:00
Alex Shvartzkop
6e4473855b
QA: update golden files for EAGLE SparkFun-GPS.lbr
2023-10-15 03:28:25 +03:00
Alex Shvartzkop
254c8accc2
Remove some debugging messages.
2023-10-15 03:28:25 +03:00
Seth Hillbrand
dc47d251f5
Fix richio vprint
...
stdlib checks do not allow dereferencing the first element of a vector
when there are no elements in the vector (regardless of whether we have
allocated memory for them). This whole function is rather
over-engineered, setting up multiple allocations and branches depending
of the string size. This commit reduces the function to the actions
needed (get the string size, print it into the output)
2023-10-10 10:58:37 -07:00
Wayne Stambaugh
9ff8d02e60
Symbol library manager object changes.
...
* Fix issue handling symbols with multiple inheritance.
* Remove unused code from the symbol library manager object.
* Splits out the library buffer and symbol buffer object so the can be unit
tested without having to mock the symbol library manager object.
* Add unit tests for library buffer and symbol buffer objects.
2023-10-09 14:58:49 -04:00
Alex Shvartzkop
f47cc39208
Add generators to test_board_item.cpp
2023-10-08 02:41:17 +00:00
Marek Roszko
b5ab807568
Add common to qa test path
2023-10-07 21:28:28 -04:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Thomas Pointhuber
7005dd7c48
altium: make special string parsing on pcb a bit more generic
...
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
John Beard
fb12db5f2c
Add regression test for arc winding
...
While the bug has been fixes, the winding handling in the
SetArcGeometry() function isn't tested. This adds a regression
test on EDA_SHAPE, which is where the logic now lives.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/15694
2023-09-20 02:27:46 +01:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Jon Evans
6f9af10912
DbLib: support columns with numeric data
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15662
2023-09-16 22:37:12 -04:00
Wayne Stambaugh
5e86ba1abe
Fix several library symbol multiple inheritance issues.
2023-09-15 07:24:10 -04:00
Seth Hillbrand
cb1231382f
Fix connectivity regression
...
We have a break somewhere in the connectivity that doesn't fully process
connections but the current code seems to catch these by forcing a
top-down & bottom-up calculation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14818
2023-09-14 14:39:51 -07:00
Roberto Fernandez Bautista
f48c125c3c
CLI QA: Create a diff image highlighting areas of difference in red
2023-09-13 17:37:26 +00:00
Roberto Fernandez Bautista
ea648d67e6
QA: Close images after comparing
2023-09-13 17:37:26 +00:00
Roberto Fernandez Bautista
ca8790fd8d
CLI Gerber QA test: Generate png tiles instead of full (save memory)
2023-09-13 17:37:26 +00:00
Roberto Fernandez Bautista
f49125da31
QA: Add kicad-cli pcb export gerber tests
2023-09-13 17:37:26 +00:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
1a6d459fb1
Fix wrong path slash
2023-09-07 22:09:26 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Alex Shvartzkop
83afdd297e
Use UTF-8 encoding in test_io_mgr.cpp.
2023-09-07 12:56:53 +03:00
Alex Shvartzkop
79c86445d2
QA: add plugin type tests for EasyEDA.
2023-09-07 11:02:40 +03:00
Alex Shvartzkop
e6f0a3d91b
QA: add test files for EasyEDA.
2023-09-07 11:02:40 +03:00
Marek Roszko
5c62b98e7c
observable can live in core
2023-09-06 21:25:24 -04:00
John Beard
78c8de9b08
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Jeff Young
7a2a2e2df0
Remove error-prone SetReporter() API.
2023-09-06 11:37:50 +01:00
Marek Roszko
911266fe02
Fix cli test for plot one arg
2023-09-03 13:09:18 -04:00
Jeff Young
41e274684c
Make sure pads with no net get assigned Default netclass on board open.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15562
2023-09-02 10:11:38 +01:00
Jeff Young
0002eca70b
Fix missing string-to-int conversion.
2023-08-31 15:15:57 +01:00
Jeff Young
f08370b3dc
Remove no-longer-used guard.
2023-08-31 15:15:57 +01:00
Jeff Young
81117d2217
Fix memory leak from double-allocation.
2023-08-31 15:15:57 +01:00
Jeff Young
05135eed66
Extra debugging info for pns regression tests.
2023-08-31 15:15:57 +01:00
Jeff Young
ac778163ab
Support net queries in PNS_LOG_PLAYER_KICAD_IFACE.
2023-08-31 15:15:57 +01:00
Jeff Young
c049e1e90d
Formatting (no functional changes).
2023-08-31 15:15:57 +01:00
Alex Shvartzkop
f2403804db
Add test for GuessPluginTypeFromLibPath.
2023-08-31 05:08:16 +03:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Jeff Young
4b22b1e831
Debugging aid.
2023-08-31 00:25:20 +01:00
Jeff Young
aeb8374ae5
Fix presumed typo in collision reporting.
...
(The format string contains two %d items, but is only passed a
single int.)
2023-08-31 00:25:20 +01:00
Jeff Young
ac7ceb03ee
Fix warning message typo, empty wxString::Format, and formatting.
2023-08-31 00:25:20 +01:00
Jeff Young
9e309d1d83
Coding standards and wxS() safety.
2023-08-30 11:18:54 +01:00
Jeff Young
f24cf2250e
Make sure we have a BOARD when trying to read nets.
...
Also fixes a nullptr bug when trying to write nets when we don't
have a NODE.
2023-08-29 17:30:00 +01:00
Wayne Stambaugh
1026596964
Allow symbols to be derived from other derived symbols.
...
[CHANGED] Symbols can now be derived from other derived symbols removing
the requirement to derive from root symbols.
2023-08-24 07:59:32 -04:00
Jon Evans
e118d2fca0
DbLib: Map multiple footprints to footprint filter list
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13587
2023-08-23 19:16:49 -04:00
Seth Hillbrand
a6073ae566
Revert pns_log_file.cpp change to compile
2023-08-23 09:12:43 -07:00
Jeff Young
6166a96b8e
Update PSN logger to new NET_HANDLE architecture.
2023-08-23 14:10:03 +01:00
Seth Hillbrand
b9936b6d8a
Fix fat-finged correction in c5f97421
2023-08-22 14:41:32 -07:00
Seth Hillbrand
c5f9742153
Fix PNS QA compile
2023-08-22 14:10:14 -07:00
Jeff Young
76cd637895
Make the net identifier opaque to PNS router.
...
This also improves performance as we don't have to look up the
netcodes in a map.
2023-08-22 15:17:02 +00:00
Jeff Young
55a7b9e6bf
More consistent naming.
...
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Jeff Young
3cade7fc47
Don't use string compare for A.NetClass == B.NetClass.
...
(or A.NetName == B.NetName, or != of either)
2023-08-21 15:26:33 +01:00
Jon Evans
0c529411d7
Update SHAPE_POLY_SET API to not hide virtual functions
2023-08-18 21:40:40 -04:00
Thomas Pointhuber
c2a91caacf
altium: verify that file contains "Compound File Binary Format" magic bytes, as we do not support the ASCII format
2023-08-18 14:47:08 +02:00
Jeff Young
f2a8c25084
Update Eagle gold files for spoke angle fixes.
2023-08-16 23:21:18 +01:00
Alex Shvartzkop
918ada9b16
Fix CI build.
2023-08-15 06:55:32 +03:00
Roberto Fernandez Bautista
dbfb7880b5
Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests)
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
8d5ebf5e30
QA: Add dummy board files (should fail header checks)
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
fb3e8ef8f1
QA: Add example P-CAD file
...
Supplied by evanshultz in gitlab issue 3993
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
0b0c50471a
QA: Add example KiCad legacy PCB files
...
legacy_demos based on commit e4fdce4a47
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
1c95762534
QA: Add example EAGLE PCB file - Adafruit-AHT20-PCB
...
Source: https://github.com/adafruit/Adafruit-AHT20-PCB
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
87959a4625
QA: Add simple CADSTAR PCB file
2023-08-15 05:26:12 +03:00