Commit Graph

836 Commits

Author SHA1 Message Date
Marek Roszko 1278b2916c Add missing util mocks breaking compile 2022-07-17 11:37:51 -04:00
Jeff Young b727bfc16d Performance: avoid sqrt at all costs. 2022-07-16 18:42:32 +01:00
Alex ded4840130 Add test for rescale<int64_t> 2022-07-16 17:37:50 +00:00
Mike Williams 199d595ccd QA: Fix missing PCB_BITMAP case 2022-07-14 09:03:43 -04:00
Jeff Young d24e6c3408 Auto-annotate (and then don't re-annotate) power symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/11942
2022-07-11 21:46:01 -06:00
Jeff Young 57acce9e55 Share more code between selection tools. 2022-07-11 19:04:08 -06:00
Seth Hillbrand 3081023b5e ADDED: Minimum copper connection width DRC check
Checks all copper connections in each net/layer for minimum width
setting.

Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Seth Hillbrand 261a557ea2 Update Altium SCH QA with rounding factors 2022-07-07 12:01:38 -07:00
Jeff Young 7633540492 Fix build issue. 2022-06-29 07:34:46 -06:00
Jeff Young ce4cedb5b4 Regression test case for 11814. 2022-06-15 11:45:29 +01:00
Seth Hillbrand 20f4e62176 Rename signalIntegrity to ibis
We do not use camelCase in KiCad
2022-06-10 13:35:48 -07:00
Fabien Corona 0d35d69f70 ADDED: Read IBIS files 2022-06-09 18:30:51 +00:00
Roberto Fernandez Bautista 80c8cfbbda Add PEGTL playground tool 2022-06-09 17:35:00 +01:00
Jon Evans af8deff063 Handle zero-length lines in log viewer 2022-06-07 19:49:38 -04:00
Tomasz Wlostowski 563b67f9a0 qa: some new stuff for the P&S debugger:
- search/filter in messages
- detection of non-45 degree lines
- indication of routing stage status (OK/FAIL)
- loading of project files (for custom DRC rules)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski e6ebc2b9b9 geometry: use dedicated 64-bit integer square root for distance computations
Guarantees 1 LSB error, while the C++ double type has 55 mantissa bits (meaning for sqrt(X) >~ 2^22.5) the error is not guaranteed.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski 5fd84dbacc qa/pns: draw single segments too in the log viewer frame 2022-06-03 23:28:41 +02:00
Jeff Young 09c9bc3037 Fix net ordering in gold file. 2022-05-27 21:28:17 +01:00
Jeff Young e9e1878d96 Attempt to fix eeschema tests.
(Slashes in netnames must be escaped or else we think they're path
separators.)
2022-05-27 17:53:11 +01:00
Roberto Fernandez Bautista 55f22c526a Fix annotation of incomplete multi-unit symbols and re-annotation of duplicates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11496
2022-05-26 09:23:36 +00:00
Jeff Young 4cd48cd5c9 Fix some test issues. 2022-04-23 22:15:39 +01:00
Seth Hillbrand aac6f576c2 Fix broken comparison in pin_numbers
Pin names like "+V" were incorrectly parsed as doubles leading to broken
comparisons.  These caused heap overflows when sorting pin tables

This corrects the comparison so that numeric sorts are only performed
when there is an actual number in the symbol segment.  Also adds unit
tests for common error cases
2022-04-19 14:46:05 -07:00
Roberto Fernandez Bautista 1db8229068 qa_eeschema refactor: Create generic SCHEMATIC_TEST_FIXTURE 2022-04-11 21:50:40 +01:00
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