Commit Graph

660 Commits

Author SHA1 Message Date
Salvador E. Tropea 80d69acaa6 [Tests] Avoid comparing the text in diffs when not Debian 2022-09-23 09:35:57 -03:00
Salvador E. Tropea 1f7cff4fe8 [Tests] Delay the get_path patch, needed by Python 3.10 2022-09-23 08:41:31 -03:00
Salvador E. Tropea 1042edbb0e [Update_XML] Correct error when using wrong value 2022-09-21 12:41:30 -03:00
Salvador E. Tropea 58b7958899 [Update_XML] Now you can check PCB and schematic parity
Related to #297
2022-09-21 11:33:26 -03:00
Salvador E. Tropea 6eaa09beea [Tests] Added test for --no-warn 2022-09-21 08:31:10 -03:00
Salvador E. Tropea 82229e126d [Copy_Files] Made 3D models use the project path as base
- To avoid problems when KiCad is running from other place
2022-09-21 08:00:58 -03:00
Salvador E. Tropea e2fdf87d6b [Copy_Files] Now you can copy the 3D models
- Also save a PCB modified to use them
- Changed the syntax so we can copy other stuff
2022-09-20 13:13:12 -03:00
Salvador E. Tropea 488f2dcbc2 [Global options] Now the global `dir` option also applies to the preflights
- Can be disabled using `use_dir_for_preflights`.

Closes #292
2022-09-15 09:33:57 -03:00
Salvador E. Tropea d01943ed87 Added support for 3D models aliases
- Also a global option to define them in the KiBot configuration

Related to #261
2022-09-14 09:38:47 -03:00
Salvador E. Tropea 418b74b2f3 Environment and text variables now can be used as 3D model aliases.
- Environment and text variables expansion is now recursive.
  So in `${VAR}` the *VAR* can contain `${OTHER_VAR}`

Related to #261
2022-09-14 07:30:13 -03:00
Salvador E. Tropea 08a0628eff Added some basic preprocessing
- Now you can parametrize the YAML config.

Related to #233 and #243
2022-09-13 13:31:25 -03:00
Salvador E. Tropea 661677608e [Internal BoM] Added CSV aggregate
Related to #248
2022-09-13 09:25:14 -03:00
Salvador E. Tropea 877695378c [Fixed][Diff] Link name for git diffs
- Also adapted file test to new name
2022-09-09 13:30:27 -03:00
Salvador E. Tropea 241eca63ff [PCB Print] Added option to customize the page numbers
Related to #283
2022-09-08 07:24:56 -03:00
Salvador E. Tropea 6354ccdd7d [Diff] More changes to the link name
- Adding the tag to branches
2022-09-07 10:52:51 -03:00
Salvador E. Tropea fe9bf9e18b [Tests][Diff] Added link check 2022-09-06 09:18:10 -03:00
Salvador E. Tropea a4abb65ef3 [Diff] Added support for stashing submodules
Related to #265
2022-09-05 13:35:04 -03:00
Salvador E. Tropea 1ff365b572 [Tests] Moved the schematic diff to the slow tests 2022-09-02 07:48:04 -03:00
Salvador E. Tropea e9e4225b16 [Diff] Added option to copy instead of link
Closes #272
2022-09-02 07:16:16 -03:00
Salvador E. Tropea cabf14ec07 [Diff][Fixed] Always comparing the PCB
- Added regression test

Fixes #273
2022-09-02 07:03:57 -03:00
Salvador E. Tropea d8d8552883 [Diff] Now the %i is diff_pcb for the PCB and diff_sch for the sch
Related to #265
2022-09-01 14:13:28 -03:00
Salvador E. Tropea 6b344a094b [Diff][Fixed] Problems when no changes to stash
- "git stash push" always returns 0, even if nothing was stashed.
- But "git stash pop" returns 1 if nothing stashed.
- So now we check using "git stash list".

Related to #265
2022-08-31 07:50:09 -03:00
Salvador E. Tropea 5bf773a070 [Tests] Fixed problems in systems where git isn't configured 2022-08-25 13:38:23 -03:00
Salvador E. Tropea 464b72e8f1 New output to compute differences between PCBs and SCHs.
Fixes INTI-CMNB/KiAuto#14
2022-08-25 13:02:02 -03:00
Salvador E. Tropea 85538b0b27 [Global options] Restore the project at exit
Related to #250
2022-08-19 09:39:25 -03:00
Salvador E. Tropea 292105b6f8 [Tests] Added test for --dont-stop 2022-08-12 11:17:23 -03:00
Salvador E. Tropea 83c7d10ba0 [Tests] Added regression test for KiCad 6 nested zones 2022-08-12 10:44:23 -03:00
Salvador E. Tropea 553d47f533 [BoM] Added support for text variables expansion
- Is done using a filter, the expansion is done at the end, but
  the filter can be applied at any point in the filter/variant
  chain.
Fixes #247
2022-08-12 09:09:09 -03:00
Salvador E. Tropea 75afab0d40 [Test] Fixed drc filters tests cases
- Added silk_over_copper exclusion
- Skipped test_drc_filter_2 for KiCad 5 (is for KiCad 6)
2022-08-10 18:39:43 -03:00
Salvador E. Tropea c5a6d894c9 [DRC] Added Workaround for problems with DRC exclusions
- Global option: `drc_exclusions_workaround`
- KiCad bug [11562](https://gitlab.com/kicad/code/kicad/-/issues/11562)
Fixes INTI-CMNB/KiAuto#26
2022-08-10 14:01:32 -03:00
Salvador E. Tropea 528a58afe1 [Tests] Fixed missing GS.ki* in kiconf_init.py 2022-08-01 18:54:28 -03:00
Salvador E. Tropea 6c7e0cebe0 Now GS.ki5() and GS.ki6() are just GS.ki5 and GS.ki6
- The version doesn't change during execution ;-)
2022-07-31 17:45:55 -03:00
Salvador E. Tropea adcd77a821 [Experiment] Trying to figure out why KiAuto isn't using the interposer 2022-07-30 12:48:31 -03:00
Salvador E. Tropea b5fc7e8c55 [Report] Fixed converted file wasn't stored at `dir`
Closes #238
2022-07-25 11:40:24 -03:00
Salvador E. Tropea 061ed0488e [Tests] Separated kicad2step, pcbnew and eeschema tests 2022-07-14 19:23:28 -03:00
Salvador E. Tropea ba7bebd980 [Position] Added an error message for wrong file names
- If a user asks for separated files and doesn't use %i to
  differentiate the names now we inform it as an error.

Related to #222
2022-07-13 11:33:43 -03:00
Salvador E. Tropea 7f29fa1ecd [Tests] Fixed test_import_7
- It used a test case that didn't really pass the DRC
2022-07-13 09:25:02 -03:00
Salvador E. Tropea 4765121e3f [Tests] ImageMagick available again 2022-07-13 06:32:11 -03:00
Salvador E. Tropea 73c72ecb62 [Tests] Fixed test_import_8
- Removed the ligth_control project
2022-07-12 14:03:17 -03:00
Salvador E. Tropea 3e05ab8b6a [Import] Preflights now can be imported
- Also fixed the filters and variants configuration, now delayed.

Fixes #221
Related to #181
2022-07-12 13:39:43 -03:00
Salvador E. Tropea 6c118b73fa Imports can be nested now
- import stuff that was imported ...
- Is the first approach, works for a simple case

Related to #218
2022-07-12 10:55:00 -03:00
Salvador E. Tropea 54e14f0443 [Tests] Marked dep_convert as failing
- The AppImage is missing
2022-07-09 20:30:11 -03:00
Salvador E. Tropea 9532422984 [Tests] Run slow tests separately
- Also run the faster ones in parallel
- The slowest use KiCad, not sure how safe is to run it in parallel
- Changed mechanism of coverage collection to allow parallel execution
2022-07-09 16:33:09 -03:00
Salvador E. Tropea 6ff6fcc975 [Tests] Better support when KiBot is also installed at user level 2022-07-09 16:26:46 -03:00
Salvador E. Tropea 35996e4cf5 [Test] Removed gs symlink from the artifacts
- Is generating problems on GitHub
2022-07-08 12:55:54 -03:00
Salvador E. Tropea c464ccfb95 [Test] Added test for check_tool_binary_local 2022-07-08 12:25:10 -03:00
Salvador E. Tropea 7842edafcf [Test] Added test for try_download_tool_binary 2022-07-08 12:12:36 -03:00
Salvador E. Tropea b78b943ff6 [Test] Added gs_downloader test 2022-07-08 11:57:30 -03:00
Salvador E. Tropea 6248803252 [Test] More robust dep_python test
- Ensure the test module isn't installed before testing
2022-07-08 11:51:15 -03:00
Salvador E. Tropea 120220b986 [Test] Workaround for importlib crazy behavior
- I can't call pip to install in a specified dir and then import
  using importlib. It always fail, even when the module is installed
  and its path is in sys.path. Couldn't find why.
2022-07-08 10:57:03 -03:00
Salvador E. Tropea d6aa9b2446 [Test] Added test for python_downloader 2022-07-08 10:19:34 -03:00
Salvador E. Tropea 293facda76 [Test] Enabled dep_pytool test now that we can run it on CI/CD 2022-07-08 07:52:38 -03:00
Salvador E. Tropea e72fe1d897 Added tests for various downloaders
- rsvg
- git
- convert
- Also disabled the one for pytool because it needs adjusts
  to work as root.
2022-07-07 20:09:20 -03:00
Salvador E. Tropea 069d9ba690 Added pytool_downloader test 2022-07-07 19:08:06 -03:00
Salvador E. Tropea 941185d635 Added a test for rar_downloader 2022-07-06 19:15:56 -03:00
Salvador E. Tropea 56f5176060 Fixed problems when running tests and a copy of KiBot is in ~/.local 2022-07-06 19:14:58 -03:00
Salvador E. Tropea 420757880f Adapted the tests for missing tools to the new mechanism 2022-07-05 13:49:01 -03:00
Salvador E. Tropea 0a8481dadf Now the dependencies are YAML specs in docstrings
- They document the dependencies and constructs them
2022-07-05 12:43:49 -03:00
Salvador E. Tropea c5f55d39bb Removed test_check_scripts, no longer used 2022-06-30 13:58:08 -03:00
Salvador E. Tropea e00b6b3f23 Removed unused functions
- check_script
- check_eeschema_do
- Now all the code uses dep_download stuff
2022-06-30 13:11:02 -03:00
Salvador E. Tropea 29afcdd453 Fixed problems with the test_ibom_parse_fail test
- Needs to avoid iBoM using X server
- Python 3.7 optional parameter to the mocked function wasn't implemented
2022-06-30 11:38:22 -03:00
Salvador E. Tropea 59d6d2caac [Dependencies] Added auto-download for iBoM 2022-06-30 10:03:26 -03:00
Salvador E. Tropea e88e2730da Made the test for missing pcbdraw components more robust
- Avoid downloading the tool
- Avoid using a downloaded copy
2022-06-19 20:13:55 -03:00
Salvador E. Tropea 65d4143ec1 Now we try to download some tools when missing
- Currently only a few targets are available
- Rar, ImageMagick, RSVG Tools and git have some support
2022-06-19 19:17:38 -03:00
Salvador E. Tropea ff109a02ec Added test for category image in navigate results 2022-06-14 07:06:59 -03:00
Salvador E. Tropea 486fabd321 Added merge and translate field tests for KiCost 2022-06-13 11:18:33 -03:00
Salvador E. Tropea e6cfe15dd0 PDFUnite: added warnings and errors about missing input files
- Also simplified the create_pdf.py error handling.
  - We are not catching I/O errors, they are fatal and should be
    catched at a higher level.
  - We already check the input files and create the output dir.
- Added tests
2022-06-13 08:56:25 -03:00
Salvador E. Tropea a3811537b8 Fixed svg_pcb_print: page orientation for portrait. 2022-06-12 16:07:58 -03:00
Salvador E. Tropea 06bb47ea05 pcb_print: fixed frame page orientation in GUI mode. 2022-06-12 15:37:00 -03:00
Salvador E. Tropea 72a2c71ddb Added test for PCB paper size stuff 2022-06-12 12:17:23 -03:00
Salvador E. Tropea 35c7286229 Added test for gloabl environment vars 2022-06-12 11:30:44 -03:00
Salvador E. Tropea e0fa00f68b Added pdfunite test with source and external tool 2022-06-12 10:27:29 -03:00
Salvador E. Tropea e6b98bd5aa More test simplifications 2022-06-10 21:09:34 -03:00
Salvador E. Tropea 3a5042ea96 Simplified the tests 2022-06-10 19:55:13 -03:00
Salvador E. Tropea aefe54d770 Fixed missing argument in test_date_format_2 2022-06-10 17:39:24 -03:00
Salvador E. Tropea e15f18de2c Simplified the tests initialization
- Now output dirs are named after the test function
2022-06-10 14:01:56 -03:00
Salvador E. Tropea 1b2616b19f Added simnple test for Specs (XLSX BoM) 2022-06-10 12:46:59 -03:00
Salvador E. Tropea 358b7f4e44 Added more pcb_print tests 2022-06-10 11:28:33 -03:00
Salvador E. Tropea 0583befe6a Adapted tests to the new drill_marks validation
- Also removed the setter helper, no longer needed as validation is
  done by Optionable
2022-06-10 08:47:58 -03:00
Salvador E. Tropea b57a29ddee Added more pc_print test cases 2022-06-10 07:55:07 -03:00
Salvador E. Tropea d91e98a495 Added simple test for monochrome print 2022-06-09 13:53:58 -03:00
Salvador E. Tropea 9a090012a6 Added more options to test pcb_print features 2022-06-09 13:01:25 -03:00
Salvador E. Tropea 7776e4cdaf Added simple SVG print test 2022-06-09 11:42:35 -03:00
Salvador E. Tropea f1e7691a75 Added simple dependencies test 2022-06-09 10:56:36 -03:00
Salvador E. Tropea 0b8c4f1726 Added simple navigate_results test 2022-06-09 10:36:39 -03:00
Salvador E. Tropea baad162199 Added simple tests for netlist output (classic and IPC) 2022-06-08 13:48:34 -03:00
Salvador E. Tropea 0227730e45 Added simple test for --quick-start 2022-06-08 13:29:37 -03:00
Salvador E. Tropea d93d70541c Better KiCad v6 environment variables handling
- more variables detected (KICAD6_3RDPARTY, KICAD_USER_TEMPLATE_DIR)
- native KiCad 6 names (KICAD6_* instead of KICAD_*)
- all exported to the environment, not just the core

Fixes #205
2022-05-30 13:00:23 -03:00
Salvador E. Tropea bb6e962f3d Internal BoM: Added customizable extra info after the title
Closes #199
2022-05-20 19:08:20 -03:00
Salvador E. Tropea 5bcedf4c7a Fixed: missing adapted test in last commit 2022-05-20 07:56:20 -03:00
Salvador E. Tropea 23e632303d Fixed problems with KiCost using internal variants
- The XML didn't remove `variant` field properly (lack of lower)
- THe XML didn't support UTF-8
2022-05-18 15:59:38 -03:00
Salvador E. Tropea 54e94a5298 Adapted filter test to the new `regex` policy
- No longer an error skipping it
2022-04-28 14:32:28 -03:00
Salvador E. Tropea 477c52affe Made __main__ show the same file names of detected files
- Also adapted the tests that looks for debug data about them
2022-04-26 12:15:34 -03:00
Salvador E. Tropea 3d8e842323 Fixed test_pcbdraw_variant_3 output dir 2022-04-08 15:00:03 -03:00
Salvador E. Tropea b48a9e5ab0 Fixed (KiCad 6) traces not visible in 3D render
Fixes #177
2022-04-07 15:44:22 -03:00
Salvador E. Tropea 8627547bc8 Added regression test for #178 2022-04-07 13:35:12 -03:00
Salvador E. Tropea 9e1f645c31 Fixed problems when using page layout files with relative paths.
Fixes #174
2022-04-04 18:02:31 -03:00
Salvador E. Tropea bb0f86ae61 Fixed KiCad 6 text variables not expanded in `render_3d` output
- We must copy the project file to the temporal dir
Fixes #173
2022-04-02 12:14:56 -03:00
Salvador E. Tropea dad1f91439 Added: text vars expansion for 3D model paths
Closes #172
2022-03-31 14:58:39 -03:00
Salvador E. Tropea 3c13ae1ccb Added KiCad 6 color themes to PDF/SVG PCB Print 2022-03-28 15:37:52 -03:00
Salvador E. Tropea 5940e7bcd6 Fixed missing BoardViewOptions.get_targets
Fixes #167
2022-03-24 14:05:48 -03:00
Salvador E. Tropea 7e2e844a4b Added a preflight option to save the PCB with refilled zones.
Closes #165
2022-03-24 13:30:18 -03:00
Salvador E. Tropea b5d5bea324 Made more clear which preflight options modifies files
- Also unified to "preflight" (more common than pre-flight)
Related to #165
2022-03-24 13:08:51 -03:00
Salvador E. Tropea 788b7d6b83 Added support for buried/blind vias to the drill outputs
Fixes #166
2022-03-24 12:57:08 -03:00
Salvador E. Tropea beee95ce31 Merged the kicost_dk branch:
- New internal BoM XLSX options to control KiCost:
  - Dis/Enable APIs
  - Add a description column
  - Specs worksheet generation
  - Which spec columns
  - Specify a KiCost config file
- Passed debug level to KiCost
- Added support for KiCost log style to our logger
2022-03-24 09:47:47 -03:00
Salvador E. Tropea 688d637f6c Added regression test for #164 2022-03-17 18:40:25 -03:00
Salvador E. Tropea e4eb2c14cd Adjusted the report tests for KiCad 5.
- Some unknown inconsistency in the API.
2022-03-17 18:27:00 -03:00
Salvador E. Tropea 6b6d22afa8 Added report conversion using pandoc 2022-03-17 12:13:51 -03:00
Salvador E. Tropea 9d7aae8d64 Fixed test_erc_warning_2 output dir 2022-03-15 20:27:28 -03:00
Salvador E. Tropea 342fb40c59 Added text variable replace in the title block items
- There are some limitations inm the depth of vars + %X usage
Closes #162
2022-03-13 15:18:44 -03:00
Salvador E. Tropea 82aac838d5 Catched error of using set_text_variables with KiCad 5 2022-03-12 19:10:35 -03:00
Salvador E. Tropea 2d86f9516d Added %X expansion to the set_text_variables 2022-03-12 18:56:15 -03:00
Salvador E. Tropea 1824d56876 Added a preflight to define KiCad 6 variables.
Closes #161
2022-03-12 18:44:08 -03:00
Salvador E. Tropea cb47cf3042 New output to export PCB in GENCAD format.
Closes #159
2022-03-08 15:55:34 -03:00
Salvador E. Tropea 86aa7b6357 New preflight to annotate according to PCB coordinates
Related to #93
2022-03-08 14:33:38 -03:00
Salvador E. Tropea 780fc25b26 Enabled render_3d output for KiCad 6 now KiCad bug is fixed. 2022-03-08 12:06:49 -03:00
Salvador E. Tropea 0c0c6ffd62 New output to join PDFs.
Closes #156
2022-03-03 16:13:00 -03:00
Salvador E. Tropea 49962cafb8 Added some basic layer and schematic inclusion in reports.
- Related to #93
2022-03-02 18:17:42 -03:00
Salvador E. Tropea 27c987217c New preflight to annotate power components
Closes #76
2022-02-26 13:21:40 -03:00
Salvador E. Tropea e46b5ff767 Fixed the test_old_pcbnew test
- Failing locally, not GitHub
2022-02-24 12:03:25 -03:00
Salvador E. Tropea 338a0cc3d4 Fixed B007 Loop control variable 'i' not used within the loop body. 2022-02-17 19:10:47 -03:00
Salvador E. Tropea c3b229ba0c Fixed D300 Use """triple double quotes""" 2022-02-17 18:47:27 -03:00
Salvador E. Tropea f26ab6ede8 Fixed B006 Do not use mutable data structures for argument defaults. 2022-02-17 16:45:10 -03:00
Salvador E. Tropea 15b2075c96 Fixed B011 Do not call assert False 2022-02-17 16:37:01 -03:00
Salvador E. Tropea c8d131fe11 Fixed C416 Unnecessary list comprehension - rewrite using list(). 2022-02-17 16:32:16 -03:00
Salvador E. Tropea 6281a40335 Fixed spelling 2022-02-16 19:56:04 -03:00
Salvador E. Tropea 1e26bc0d04 Added missing shebangs 2022-02-16 17:37:28 -03:00
Salvador E. Tropea aa48cc3187 Forced files to end in a single new line 2022-02-16 17:34:34 -03:00
Salvador E. Tropea ccbb8a6060 Adapted two tests to the new details
- New pcbnew import in gs.py
- New return value for _get_columns()
2022-02-14 14:49:16 -03:00
Salvador E. Tropea 5d2d0a4195 Added MacroFab XYRS support
- Internal BoM options:
  - `angle_positive`
  - `csv.hide_header`
  - `footprint_populate_values`
  - `footprint_type_values`
  - `units` mils
- Columns:
  - `Footprint Type`
  - `Footprint Populate`
  - `Footprint X-Size`
  - `Footprint Y-Size`
2022-02-14 13:49:56 -03:00
Salvador E. Tropea edbe29740b Internal BoM: XYRS support
- Now the `bom` output can generate files like `position`
2022-02-11 11:45:43 -03:00
Salvador E. Tropea db6cf3dace Added Board View test 2022-02-07 13:27:56 -03:00
Salvador E. Tropea d1f6b28afa Fixed test_kicad_conf_local_conf
- Now supports nightly cases
2022-01-29 16:38:50 -03:00
Salvador E. Tropea 400d06f9b3 Adjusted error messages and crossed comp generation.
- Also the name of the member for lib_name
2022-01-29 16:16:39 -03:00
Salvador E. Tropea 6b482695fb Avoid loosing light_control project during tests 2022-01-16 11:11:22 -03:00
Salvador E. Tropea 52df7e85b3 Fixed missing project for light control
- In KiCad 6 some importants settings were moved to the project.
  I.e. the clearance
2022-01-16 01:02:18 -03:00
Salvador E. Tropea 278de8fb16 Added report generation (for design house)
Related to #93
2022-01-15 15:47:48 -03:00
Salvador E. Tropea 24ba23d203 Separated YAML tests that makes reference to SCH files
- Avoiding KiCad 5 and 6 mixes
2022-01-10 20:48:11 -03:00
Salvador E. Tropea 8a4064a544 Added KiCad 6 native symbols default dir 2022-01-07 17:49:33 -03:00
Salvador E. Tropea 960f5565f0 Fixed modules load order in kiconf_init.py
- Previous seems to fail in some environments
2022-01-07 17:33:57 -03:00
Salvador E. Tropea ed6733a8b8 Adapted the KiCad config error tests to KiCad 6. 2022-01-07 17:07:00 -03:00
Salvador E. Tropea 0b58424f57 Fixed test_print_sch_svg_fail test for KiCad 6 (used .sch) 2022-01-07 13:04:45 -03:00
Salvador E. Tropea 792572149b Updated test_bom_ok
- The XML netlist was out of sync.
2022-01-07 12:58:09 -03:00
Salvador E. Tropea e2147f40ee Added fields update to the QR stuff
- Footprints are now virtual
- Fixed: Modules used the SCH text
- Fixed: Wrong KiCad 6 SCHs (not copied from bogus ones)
2022-01-06 14:25:09 -03:00
Salvador E. Tropea be59ee397e Added support for KiCad 6 to the `update_qr` preflight.
Related to #93
2022-01-04 16:52:12 -03:00
Salvador E. Tropea 7992fd9888 Added preflight option to update the QR codes.
- Needed for s-expression files
- Not working for KiCad 6 (bug in the Python API)
2022-01-04 10:21:59 -03:00
Salvador E. Tropea d0801d1e5d Fixed test_qr_lib_1
- Problems when running without X
- KiCad 5 vs 6 details
2022-01-03 12:55:26 -03:00
Salvador E. Tropea 5017f7e078 Added QR codes generation: symbols and footprints.
Related to #93
2022-01-03 12:35:33 -03:00
Salvador E. Tropea 64bfc4824d Added `--cli-order` option to generate outputs in arbitrary order.
- Also updated some output details in the README
Related to #106
2021-12-31 10:40:17 -03:00
Salvador E. Tropea 6d939bbdbe Added datasheets downloader
Closes #119
2021-12-29 15:20:54 -03:00