Commit Graph

102 Commits

Author SHA1 Message Date
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 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
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
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 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
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 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
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
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
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 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
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
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
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
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
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