Jeff Young
f77de66f4e
Generalize ERCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jon Evans
835a82f0b9
Attempt to disable flaky tests for now
...
Issue8003 causes failures on some Ubuntu systems.
Disabling until we understand why.
2024-02-16 20:11:46 -05:00
Jon Evans
e427099cff
Disable flaky ngspice tests
...
These need to be re-done in a way that is more
tolerant of the inherent instability/noise in
the simulated circuits (or more ideally, changed
to test a particular thing that can be more
well-defined rather than just simulating a circuit
and seeing if the numbers come out a certain way)
2024-02-08 18:46:30 -05:00
Jeff Young
1e6986d2f5
Don't report starved thermals when connected only to isolated islands.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16866
2024-02-07 14:09:03 +00:00
Roberto Fernandez Bautista
7276486756
Finish fixing SHAPE_LINE_CHAIN::Slice
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
79aba50c23
Finish fixing SHAPE_LINE_CHAIN::NextShape and add tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
effed5dfdf
Fix SHAPE_LINE_CHAIN::Remove and SHAPE_LINE_CHAIN::RemoveShape
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
673e23c2e6
Fix and simplify SHAPE_LINE_CHAIN::Append( SHAPE_ARC ) + QA tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
34942290a2
SHAPE_LINE_CHAIN: Fix SetClosed() logic
...
SetClosed should unwrap the chain when there are coincident points at the
start.
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
7593863245
SHAPE_LINE_CHAIN: Fix and simplify ShapeCount()
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15754
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
c72ba189cf
Fix SHAPE_LINE_CHAIN::Slice following NextShape() changes
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
e9fbb36538
SHAPE_LINE_CHAIN: Fix and simplify NextShape() + remove PrevShape()
...
NextShape() function was too complex (trying to go back and forwards).
We only used PrevShape() in one place, so removed that usage.
Added QA tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
079478f989
EDA_ANGLE: use constexpr for constant angles
...
Remove all statics in the class and instead use constexpr to
ensure correct ordering
2024-01-31 19:17:46 +03:00
Jeff Young
ae735d3eb4
Renaming: replace convert with body-style.
...
No functional changes.
2024-01-26 16:21:03 +00:00
Marek Roszko
1981997ee2
Dump the ERC report as part of the erc failure
2024-01-21 16:10:43 -05:00
Jeff Young
e04cd8743c
Separate out Pad_Shape so auto-complete can work.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16566
2024-01-10 19:56:46 +00:00
Jeff Young
27c253780d
Separate out Pad_Shape so auto-complete can work.
2024-01-10 19:22:05 +00:00
Jon Evans
104aa1abe4
Change prettifier QA to not depend on file format changes
...
Instead of writing out and reading back in using the plugin,
just test the formatter itself.
Also add support for testing full boards.
2024-01-01 13:38:16 -05:00
jean-pierre charras
58b7eda47a
QA test( test_prettifier) update golden files and fix a warning message.
2024-01-01 10:57:32 +01:00
John Beard
751c88ef20
Use 'uuid' (not 'id') in the s-expr PCB groups/generator format
...
Add some regression tests to check loading of groups and generators
from various versions of the s-expr PCB format.
2023-12-31 23:09:26 +00:00
Jon Evans
ea0673e7a0
Do not merge buses of distinct types
...
Previously, this code would merge a vector bus
with a group bus containing the vector as a member.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16439
2023-12-30 10:54:24 -05:00
Jon Evans
2ecf1ac23f
Change regression test for #13162 to be less complex
...
We are really only testing that `Rload1` works,
and the original testcase is unstable on some platforms.
2023-12-29 13:18:46 -05:00
Ian McInerney
f2702b223c
Introduce base IO_MGR class and unify RELEASER objects
...
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Ian McInerney
e6632bb983
Rename PCB IO classes/files
2023-12-24 01:22:21 +00:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00
Ian McInerney
5c334c147b
Make some types auto-reference to prevent copies
2023-12-19 14:23:36 +00:00
Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Wayne Stambaugh
eb3fd10af8
Fix obscured object selection issue in board and footprint editors.
...
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio". It is turned off (1.0)
by default. Value values are from 0.0 to less that 1.0. From testing,
using a value between 0.1 and 0.3 produces the best results.
This fix uses normal alpha blending described in the link below. The
current design only uses the alpha of the object's color. It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.
https://en.wikipedia.org/wiki/Alpha_compositing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
jean-pierre charras
d8b1e3fcb3
test_prettifier: Better warning message for commit 8e647c24
2023-12-16 13:30:06 +01:00
jean-pierre charras
8e647c24b4
QA test, prettifier: Update golden files to the latest version.
...
Add also a warning when a golden file is too old and creates comparison error.
2023-12-16 10:49:23 +01:00
John Beard
e41f5efb03
Use modern bool style for footprint locking (locked yes)
...
Add some simple tests for specific footprint load/save checks
(including round-trip stability)
2023-12-14 21:22:59 +00:00
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
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
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
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
Roberto Fernandez Bautista
dbfb7880b5
Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests)
2023-08-15 05:26:12 +03:00
Jeff Young
0413270012
ADDED: Move Corner To... and Move Midpoint To...
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Jeff Young
1cbef0157d
Avoid edge cases on very wide thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15280
2023-08-04 15:38:06 +01:00
Jeff Young
9456fab435
Fix QA gold DRC counts.
...
Also improves the error message when some spokes are ignored because
they're connected to an isolated island.
2023-08-04 00:35:19 +01:00
Roberto Fernandez Bautista
44ff2f4858
Enable legacy .brd zone fill qa test + fix golden files
...
Use 0.020mm pen thickness for SVG golden file (generated with build 2013-07-07 BZR 4022)
2023-08-03 15:36:19 +02:00
Roberto Fernandez Bautista
b8a7e378d8
QA: Fix utils.images_are_equal + add basic tests for qa utilities
...
Note: We allow differences of up to 2 pixel thickness due to erosion operation
2023-08-03 15:36:19 +02:00
Roberto Fernandez Bautista
f00a68576e
Add qa test for legacy (< v5) zone fills
...
Disable tests for .brd (legacy file format) fill for now.
2023-07-30 20:56:27 +02:00
Roberto Fernandez Bautista
d5fc2b757d
qa_cli: increase to 1200dpi + use 1 pixel erosion in comparisons to golden sample
2023-07-27 00:21:48 +02:00
Seth Hillbrand
96a34e5b57
Consolidate Maximum clearance calculation
...
We were calculating the same thing in three locations and we missed
adding the clearance from the footprints in, resulting in bad fills and
missed drc errors (see QA addition)
2023-07-26 12:55:48 -07:00