Commit Graph

350 Commits

Author SHA1 Message Date
Salvador E. Tropea b53ffbb032 Added Python cache creation before running the tests.
It looks like pytest is loading some modules without macros. The cache
gets created without them. But when we load the same modules with
macros it fails.
2021-01-29 15:27:52 -03:00
Salvador E. Tropea d796abde2e Separated some complex tests from the test_misc.
- Moved them test_misc_2
- Refined the tests in test_misc_2 to work together
2021-01-29 13:28:29 -03:00
Salvador E. Tropea b271caf145 Added tests for no get_targets implementation and deps fallback. 2021-01-29 12:38:20 -03:00
Salvador E. Tropea d9986b0599 Added PCBDraw case to the makefile test. 2021-01-29 12:22:31 -03:00
Salvador E. Tropea 55c988bb66 Added test for KiCad < 5.1.6 2021-01-29 12:15:46 -03:00
Salvador E. Tropea e6163ae5aa Added drill case to makefile test. 2021-01-29 11:54:09 -03:00
Salvador E. Tropea 4466277bde Added KiBoM case to the makefile test. 2021-01-29 11:24:51 -03:00
Salvador E. Tropea c64fb3871c Added test for STEP file in makefile 2021-01-29 10:37:05 -03:00
Salvador E. Tropea 51aeb5be32 Added test for run_erc in makefile. 2021-01-29 09:27:02 -03:00
Salvador E. Tropea 6965d73c4e Added test for ibom in makefile 2021-01-29 09:07:17 -03:00
Salvador E. Tropea f29c0c5361 Added more test for compress output. 2021-01-29 08:46:23 -03:00
Salvador E. Tropea 89eedf1d3b Disabled rar error message test. 2021-01-28 17:47:42 -03:00
Salvador E. Tropea 37eefac973 Added tests for some ouyt_compress special cases.
- No rar
- rar fails
- rar file exists
- Empty output
2021-01-28 17:33:01 -03:00
Salvador E. Tropea 9a446c0a91 Added extra debug to one gerber test. 2021-01-28 15:51:10 -03:00
Salvador E. Tropea 8299ed5d96 Added tests for the new options to control protel extensions. 2021-01-28 15:38:19 -03:00
Salvador E. Tropea 84470bbc11 Added first makefile generation test 2021-01-28 12:43:01 -03:00
Salvador E. Tropea c4c33af680 Added some compress tests.
Covers zip, tr.bz2 and rar creation for internal BoM, position and
gerber files.
2021-01-27 16:12:46 -03:00
Salvador E. Tropea eea93ea8ec Improved rotation filter coverage
- Check errors
- Try extra debug
2021-01-27 13:35:37 -03:00
Salvador E. Tropea bb5ab6119a Fixed extra NL at the end of file (flake8) 2021-01-27 13:34:52 -03:00
Salvador E. Tropea ce387ac423 Added test for missing colorama module. 2021-01-27 12:55:19 -03:00
Salvador E. Tropea 01459ce85e Added tests for merged BoMs for HTML, XML and XLSX formats. 2021-01-27 12:22:03 -03:00
Salvador E. Tropea f279e7319e Added test for a BoM from multiple projects. 2021-01-27 11:51:26 -03:00
Salvador E. Tropea 86b1c13790 Now information messages go to stdout (not stderr).
Debug, warning and error messages still use stderr.
2021-01-22 17:17:41 -03:00
Salvador E. Tropea 15474ae4d7 Now you can consolidate more than one project in one BoM.
The basic idea comes from pimpmykicadbom by Anton Savov (@antto)
2021-01-21 14:43:47 -03:00
Salvador E. Tropea b347a6ca30 The board object is no longer passed to run methodes.
The global GS.board is used instead.
2021-01-15 14:14:17 -03:00
Salvador E. Tropea de08a9fa60 Removed dead code in test_kicad_conf_guess_libs 2021-01-12 15:38:36 -03:00
Salvador E. Tropea 65833dc333 Internal BoM: The "Quantity" column no longer includes the DNF/C status.
- This status was moved to a separated column named `Status`.
- You can join both columns if you want.
Some people pointed out that adding characters to the qty column prevents
computations applied to the CSV files.
2021-01-12 15:21:34 -03:00
Salvador E. Tropea e0ab45e95d Now the default output name applies to the DRC and ERC report names.
This provides more coherent file names.
2021-01-12 13:44:09 -03:00
Salvador E. Tropea b3e2d67871 Now we use KiCad to detect where is its configuration.
No more KiCad copycat code.
2021-01-06 13:49:24 -03:00
Salvador E. Tropea ab9071b693 Moved pcbnew detection from kiplot.py to __main__.py.
Now the KiCad version is printed when debug is enabled.
2021-01-06 12:25:54 -03:00
Salvador E. Tropea 9a1e1f39e7 Internal BoM: added `no_conflict` option.
Used to exclude fields from conflict detection.
2021-01-05 12:09:29 -03:00
Salvador E. Tropea 3b1f62ac8e Added a check for the 3D model in the STEP tests.
Now that they get downloaded this should work even in the docker image.
2020-12-30 15:41:48 -03:00
Salvador E. Tropea f1c868b732 Added support for the last InteractiveHtmlBom to the tests.
Now the PCB modules are located in the footprints section of the
generated data. This change is a general move from the module
term to a more descriptive term `footprint`.
2020-12-29 09:01:58 -03:00
Salvador E. Tropea 4a3e7faace Added a new filter used to rotate footprints.
Used to generate position files for some manufacturers like JLC.
Also in this patch:
- Now position files are naturally sorted (R10 after R9, not after R1)
- Position files in CSV format quotes only the columns that could
  contain an space. Just like KiCad does.
- Fixed: Generic filter `include_only` option worked only when debug
  enabled.
2020-12-28 18:26:27 -03:00
Salvador E. Tropea 0f7a55dc8b Added support to generate negative X positions for the bottom layer 2020-12-28 09:30:33 -03:00
Salvador E. Tropea 007fc36d1e Fixed the components fields reset mechanism.
My previous approach was incomplete.
2020-12-23 18:47:11 -03:00
Salvador E. Tropea 9f8ecff5d1 Added support to rename fields matching the variant to value. 2020-12-23 12:11:39 -03:00
Salvador E. Tropea 204ad189de Changed how variant field renamer is implemented.
- Now is a separated filter type (`var_rename`).
- Now all variants support a `pre_transform` filter list.
- An internal `_var_rename` filter is defined (default).
2020-12-23 10:19:23 -03:00
Salvador E. Tropea 986f0c7157 KiBoM variants: support to field overwrite according to variant 2020-12-18 15:39:58 -03:00
Salvador E. Tropea 26d81d6475 Added support for missing field names in libraries.
- Closes #32
- Reported on SnapEda libs
2020-12-16 12:16:03 -03:00
Salvador E. Tropea 351e734dd6 Fixed long line (flake8) 2020-12-09 13:02:51 -03:00
Salvador E. Tropea 1248e92b95 Fixed Internal BoM separator wasn't applied when using `use_alt`
From the SchrodingersGat/KiBoM#145 PR.
2020-11-11 14:32:20 -03:00
Salvador E. Tropea 577713efeb Fixed excellon drill output.
When using unified output and not using default KiCad names.
Fixes #25
2020-11-02 16:07:05 -03:00
Salvador E. Tropea b27872d7e8 Fixed problems when using the `pdf_pcb_print` on special case.
When using variants to remove a component with ridiculous pads
that only has solder paste (no copper, nor even solder mask
aperture).
2020-10-27 17:58:51 -03:00
Salvador E. Tropea 2e568a563a Adapted the colors test to colorama ANSI sequence. 2020-10-24 17:26:32 -03:00
Salvador E. Tropea adf6c7a5b1 Modified tests to keep kibom-variant_3.pro 2020-10-24 17:22:08 -03:00
Salvador E. Tropea 68269c10f1 Avoid KiAuto warnings about missing project for pdf_pcb_print
This applies to cases using variants.
Now we copy the current project to the temporal location.
Closes #23
2020-10-24 16:25:09 -03:00
Salvador E. Tropea de9628e5c1 Added columns configuration for position files.
You can customize which columns are used, their names and order.
Closes #22
2020-10-23 14:18:11 -03:00
Salvador E. Tropea 67d879ece1 Fixed flake8 details 2020-10-22 13:22:03 -03:00
Salvador E. Tropea 263b9c41e4 Fixed log.init() errors when pcbnew/yaml modules aren't installed.
Also added tests for these cases.
2020-10-20 11:41:01 -03:00
Salvador E. Tropea 14cdd33c6d Added support for the KiCad 6 default layer names.
Not deeply tested.
KiCad 6 support user names for technical layers, and assigns new
names to them.
2020-10-19 16:47:13 -03:00
Salvador E. Tropea d850bb8ffe
Merge pull request #19 from INTI-CMNB/try_mcpyrate
Replace mcpy by mcpyrate
2020-10-17 15:28:40 -03:00
Salvador E. Tropea a62c3440e3 Disabled the cache related tests, no longer apply. 2020-10-17 14:30:23 -03:00
Salvador E. Tropea 2d55859782 Code style fixes (flake8) 2020-10-17 12:03:06 -03:00
Salvador E. Tropea e3ae5e6284 Restored the disabled test_position 2020-10-17 11:58:58 -03:00
Salvador E. Tropea 7a16f28d70 Adapted cache tests to mcpyrate.
Using `mcpyrate` we don't need to worry about cache files.
2020-10-17 11:31:16 -03:00
Salvador E. Tropea 087ef2bbb0 Trying to fix coverage details using copy_location 2020-10-16 18:58:51 -03:00
Salvador E. Tropea 17e75236da KiCad 6 no longer has SetPlotPadsOnSilkLayer 2020-10-16 18:40:20 -03:00
Salvador E. Tropea fec0091712 Added support for KiCad 6 to drill outputs.
I wonder why KiCad 6 doesn't provide a compatibility function for
GetAuxOrigin. The project seems to be trying to reduce the ammount
of code (removing old code) at the cost of breaking every existing
plug-in.
2020-10-16 17:04:37 -03:00
Salvador E. Tropea 92678bf3cc Adapted all test_bom tests to run with KiCad 5.99.
Also simplified the context.TestContextSCH instantiation.
2020-10-16 16:42:17 -03:00
Salvador E. Tropea 7c7549e6d7 Changed mcpy by mcpyrate to test its functionality. 2020-10-16 15:32:00 -03:00
Salvador E. Tropea e2a00a6f7d Fixed test_bom_cfg_2, now includes the footprint 2020-10-15 19:37:34 -03:00
Salvador E. Tropea d4a2d40593 Adapted some `bom` tests to pass with KiCad 5.99. 2020-10-15 18:58:10 -03:00
Salvador E. Tropea b535ebaeb2 Adapted the `test_filter_no_number_2` test
Now we expect an `error` not necesarily a `number`.
2020-10-15 17:28:33 -03:00
Salvador E. Tropea c80fc49b54 Added infraestructure to support KiCad 6 tests. 2020-10-14 18:03:18 -03:00
Salvador E. Tropea 0ebedc398c Renamed ERC/DRC tests to run them individually. 2020-10-14 16:07:09 -03:00
Salvador E. Tropea 86ead74c27 Added KiBot warning filters.
- Closes #15
- This patch also changes the logging initialization, that was broken at
  some recent point.
- Also adds tests to ensure the mechanism used to avoid repeated
  warnings is working.
2020-10-12 16:31:47 -03:00
Salvador E. Tropea c8e81a4668 Added numbers to all the warnings 2020-10-09 18:33:51 -03:00
Salvador E. Tropea 1aee407cb9 Fixed KiBom variants special cases.
When using multiple variants and a components used more than one,
specifying oposite rules.
2020-10-09 16:00:52 -03:00
Salvador E. Tropea 4ea81d80a3 Added test for filter help. 2020-10-09 11:59:13 -03:00
Salvador E. Tropea 71fe37cfc6 Support for new `pcbnew_do export` options. 2020-10-09 11:27:30 -03:00
Salvador E. Tropea c59c31fb6e Added support for KiCad v6 to the position output. 2020-09-21 19:17:31 -03:00
Salvador E. Tropea 27e4c23236 Added support for reference separator in BoMs.
So you can get things like "R1, R2, R3"
From the following PR: SchrodingersGat/KiBoM#139
by @n0dyjeff
2020-09-19 17:35:31 -03:00
Salvador E. Tropea 257b9fdd3f Added tests for global and command line variant selection. 2020-09-12 08:24:47 -03:00
Salvador E. Tropea b03b56ae5d Added more coherence to the variants/filters.
- Now they behave more coherently across outputs.
- Component status is explicitly reset, so having a variant + filter
  behaves in a more consistent way. Even when this isn't the
  recommended use.
- Virtual components are handled by the exclude filter.
- Moved code to modify the PCB to VariantOptions.
- Added a real virtual component to the tests, not a ridiculous case.
2020-09-08 20:01:16 -03:00
Salvador E. Tropea 23e46df1c5 Added variants support to the PCB print (PDF)
Needs some adjustement, but is working.
2020-09-07 19:26:16 -03:00
Salvador E. Tropea 0e394b468b Added variants support to the schematic SVG print. 2020-09-06 18:22:38 -03:00
Salvador E. Tropea 59ddbaa41f Adjusted the tests for IBoM's variants support.
- Removed the extra filters that aren't needed now.
- Added a couple of test cases to cover special situations.
2020-09-05 19:31:29 -03:00
Salvador E. Tropea d719718eca Moved KiBoM default behavior to the KiBoM variant.
So it can be applied to other outputs.
2020-09-05 18:58:26 -03:00
Salvador E. Tropea 7e5791fcfa Added variants to the IBoM output. 2020-09-05 17:48:25 -03:00
Salvador E. Tropea a59870808d Made the image comparisson more fuzzy. 2020-09-04 18:51:05 -03:00
Salvador E. Tropea d09400d49d Added support for variants to the PcbDraw output. 2020-09-04 18:08:22 -03:00
Salvador E. Tropea dab7baa2d4 Fixed show_components validation in out_pcbdraw.
The same error could be in other places.
I had to change the internal logic in Optionable.
The old code allowed invalid values to be used.
2020-09-04 18:06:17 -03:00
Salvador E. Tropea cf46a8ba86 Added variants support to the STEP output.
3D Models of excluded components are removed.
2020-09-03 18:50:30 -03:00
Salvador E. Tropea b36e276969 Added crosses in the *.Fab layer for excluded components. 2020-09-03 17:17:08 -03:00
Salvador E. Tropea 8bf0a13210 Remove filtered components from the *.Adhes layer.
All shapes in the *.Adhes are removed.
2020-09-03 12:29:04 -03:00
Salvador E. Tropea c56af11007 Added variants to all the PCB plot outputs.
Tested for gerbers that are currently excluding pads from *.Paste.
2020-09-03 11:11:03 -03:00
Salvador E. Tropea 26ee971e26 Added variants suport to out_position
Also: we never include virtual components.
2020-09-02 18:08:50 -03:00
Salvador E. Tropea 5e11b325a1 Added test for multiple calls to KiConf.init()
Now that the code avoids calling it over and over.
2020-09-02 18:08:26 -03:00
Salvador E. Tropea 9558f7cf45 Added test for rogue component in PCB. 2020-09-02 15:16:23 -03:00
Salvador E. Tropea 42562185ea Added filter options using PCB attributes.
KiCad 6 will break this, we'll see how to adapt.
2020-09-02 14:48:26 -03:00
Salvador E. Tropea 220e2f252e Added tests for various schematic strange cases.
- Component withour lib
- Missing component
- Poligon without points
- Pin with unknown direction
2020-09-02 10:04:32 -03:00
Salvador E. Tropea ff6282eca1 Added test for the new errors in DrawText elements. 2020-09-01 20:39:15 -03:00
Salvador E. Tropea e0de652105 Added more tests for the filters and variants. 2020-09-01 18:49:38 -03:00
Salvador E. Tropea 7f6144e32e Added tests for sch_variant and pdf_print_sch
For the filter and variant stuff.
2020-09-01 16:56:31 -03:00
Salvador E. Tropea d5fe46ab8e Updated error text in the test. 2020-08-31 20:48:11 -03:00
Salvador E. Tropea 48be2fa749
Merge pull request #5 from INTI-CMNB/variants
Added Variants and Filters
2020-08-30 12:10:29 -03:00
Salvador E. Tropea 0f0aa71baa Added more tests for the filters and variants 2020-08-30 11:55:35 -03:00
Salvador E. Tropea c0a1867dd5 Added support for filters to the internal BoM generator.
- Now we can configure more details, like the DNC.
- We can also mix KiBoM and IBoM strategies.
- Adapted the test examples that used filtering.
2020-08-29 17:41:57 -03:00
Salvador E. Tropea 249caad348 Implemented the IBoM variants styles.
The core functionality is now tested in the internal BoM.
The IBoM output needs adjust to allow using the variants with it.
2020-08-28 20:12:21 -03:00