Commit Graph

647 Commits

Author SHA1 Message Date
Diego Capusotto e70172c83f Skipped `test_int_bom_missing_lib` test for v6
- Schematics are self-cointained now, there is no point in checking
  libs
2021-12-17 15:44:53 -03:00
Diego Capusotto 5cf60b0361 Fixed config tests
- The initialization in out_base forced the need of logger reset
2021-12-17 13:34:15 -03:00
Diego Capusotto 927ed3c99e Fixed flake8 details 2021-12-17 12:55:33 -03:00
Diego Capusotto 14e0a90dce KiCad v6: test_gerber.py adpted to the new layer names 2021-12-17 12:45:44 -03:00
Diego Capusotto c3b987eb6f Adjusted tests to the l1.dcm addition 2021-12-17 10:30:13 -03:00
Diego Capusotto 3eb82bc86d Changed: The `%d/%sd/%bd` expansion patterns are now affected by the global `date_format`.
- Can be disabled using `date_reformat: false`.
- Related to #121
2021-12-15 17:15:49 -03:00
Diego Capusotto 4f5b4c0619 Adapted the test_filter_not_list to the new error message
- Now we don't use a plural for one option.
2021-12-15 11:17:45 -03:00
Diego Capusotto 318f0993bf Now `disable_run_by_default` can be defined as true
- To avoid repeating the name of the parent output
- Related to #121
2021-12-14 20:44:37 -03:00
Diego Capusotto 71c7150baa Added support for \n and \t to text* options of join
Related to #108
2021-12-14 17:45:10 -03:00
Diego Capusotto e2599731f7 Added `output_id` output option to be expanded by %I 2021-12-14 16:19:49 -03:00
Salvador E. Tropea a82f130ad9 Now you can compress files relative to the current working directory.
Related to #93
2021-12-03 19:30:11 -03:00
Salvador E. Tropea 50783087a1 Fixed wrong variable in test assert 2021-12-03 17:52:16 -03:00
Salvador E. Tropea 6a691cf362 Added pre-flight to replace in the PCB
- Also added some constrains to what can be substituted to avoid
  corrupting the files.
2021-12-03 16:52:04 -03:00
Salvador E. Tropea 6e0a98e6d2 Removed unused import 2021-12-03 15:29:01 -03:00
Salvador E. Tropea 9cd2581582 Added new pre-flight command to replace tags in the schematic.
Related to #93, but also an old idea floating around.
2021-12-03 14:37:53 -03:00
Salvador E. Tropea 9e4adf5286 Added patterns to expand the title blck comments.
Related to #93
2021-12-03 10:13:42 -03:00
Salvador E. Tropea 70fb334856 A mechanism to avoid running some outputs by default.
Related to #112
2021-12-02 18:47:40 -03:00
Salvador E. Tropea a430916a4a Now you get an error when defining two outputs with the same name. 2021-12-02 14:58:37 -03:00
Salvador E. Tropea b9cb24c325 Now you get an error when defining two outputs with the same name. 2021-12-02 13:21:57 -03:00
Salvador E. Tropea 6392124f9f Added import for globals. 2021-12-02 10:33:19 -03:00
Salvador E. Tropea 5291af250c Adapted the pre-flight test to the new output format. 2021-12-01 19:45:11 -03:00
Salvador E. Tropea 995219a8ea Added option to add text to the `join` in the internal BoM
Related to #104
2021-12-01 18:07:41 -03:00
Salvador E. Tropea 130f7b25a3 Fixed tests that now needs to initialize global defaults. 2021-12-01 15:55:38 -03:00
Salvador E. Tropea 49ea1bb62a Internal BoM: `count_smd_tht` option to compute SMD/THT stats.
Closes #113
2021-11-22 14:34:07 -03:00
Salvador E. Tropea 1bb8a56209 Added a small test for the render_3d output.
- I used it to reproduce the temporal project generation.
2021-11-18 13:55:08 -03:00
Salvador E. Tropea 5620113b49 Fixed command line for `--list`
- PCB and SCH can be needed
- Adapted the test for --list
2021-11-15 13:38:35 -03:00
Salvador E. Tropea 4846a4672e More adjusts to tests because new warning 2021-10-14 14:57:24 -03:00
Salvador E. Tropea ab3bd7f0b3 Added a mechanism to import filters and variants.
- Also to restrict which outputs are imported.
- Fixes #88
2021-10-04 14:44:43 -03:00
Salvador E. Tropea a31002ed01 Fixes position files, now defaults to use the auxiliar origin as KiCad.
Can be disabled to use absolute coordinates.
Fixes #87
2021-09-27 08:35:58 -03:00
Salvador E. Tropea 3bdae8507a Added suppport for multiprojects to the internal KiCost.
- Also changes the KitSpace queries format to be more readable.
2021-05-25 18:02:22 -03:00
Salvador E. Tropea 3255891ed0 Added comments to KiCost tests 2021-05-11 12:33:24 -03:00
Salvador E. Tropea 7c23381adb Added distributors selection to KiCost+KiBot 2021-04-28 12:13:12 -03:00
Salvador E. Tropea f27dc68e4f Refined what is filtered from the CSV comparisson in KiCost tests 2021-04-25 11:16:40 -03:00
Salvador E. Tropea 1878510a47 Adapted test_kicost_simple references. 2021-04-25 10:28:56 -03:00
Salvador E. Tropea 55277a550f More KiCost integration in KiBoM.
- Also added level and comment to columns in the XLSX BoM output.
- Now user columns can be added to the KiCost sheet.
- The "Colors" sheet now includes KiCost colors
- The KiCost column names are more coherent with our names
- Style colors affects the KiCost colors
- About message includes KiBot version
- Header layout is also more coherent
- use_alt, number, max_col_width and ref_separator options are passed
  to KiCost
2021-04-25 09:29:56 -03:00
Salvador E. Tropea 16ddb9465f Added Internal BoM + KiCost integration
- Currently very basic, but you get "Costs" and "Costs (DNF)" work
  sheets in the XLSX output when the xlsx.kicost option is enabled.
2021-04-15 11:14:37 -03:00
Salvador E. Tropea 7961209b0f Experimental mechanism to change 3D models according to the variant. 2021-03-31 18:00:43 -03:00
Salvador E. Tropea 7c3f273684 Basic KiCost support. 2021-03-31 12:27:55 -03:00
Salvador E. Tropea 1290bb6995 New KiCost variant style.
- New internal filters `_var_rename_kicost` and `_kicost_dnp`.
- New `skip_if_no_field` and `invert` options to the regex used in the
  generic filter.
2021-03-30 09:37:36 -03:00
Salvador E. Tropea afe80052b4 Added a new filter `var_rename_kicost`
Is very similar to `var_rename` with a few differences that makes it
suitable to emulate the KiCost field rename mechanism.
2021-03-25 12:57:26 -03:00
Salvador E. Tropea 01291ebe63 Added field rename filter.
Including an internal version to emulate KiCost behavior.
2021-03-23 13:20:26 -03:00
Salvador E. Tropea 40bd7c24f2 Added support for KiCost's subparts 2021-03-19 19:41:46 -03:00
Salvador E. Tropea 1b48e614a7 Added pattern expansion in the `dir` option for outputs
Closes #58
2021-03-12 21:14:39 -03:00
Salvador E. Tropea eab8550c11 Fixed makefiles tests.
Introduced by 4f73de1157
2021-03-12 15:05:24 -03:00
Salvador E. Tropea 5560c62d14 Errors and warnings from KiAuto now are printed as is. 2021-02-24 12:58:47 -03:00
Salvador E. Tropea 8fba0d9909 Added `erc_warnings` option to consider ERC warnings as errors. 2021-02-24 12:34:49 -03:00
Salvador E. Tropea 32310ba1fa Added test for makefile generation running the script from system. 2021-02-12 14:56:51 -03:00
Salvador E. Tropea ab8d3b4823 Added test for layer without _id (str convertion) 2021-02-12 14:37:14 -03:00
Salvador E. Tropea 6a5c082ab7 Added test for suffix with UTF-8 2021-02-12 14:31:24 -03:00
Salvador E. Tropea 85c5db268e Added comments about caplog bugs in the pytest using for the docker image. 2021-02-12 14:30:35 -03:00
Salvador E. Tropea c1499479dc Removing part of test_search_as_plugin_ok
The caplog is failing on github docker image for this test.
2021-02-12 13:29:56 -03:00
Salvador E. Tropea d5a1df9eb7 Modified test suite to collect the error in test_search_as_plugin_ok 2021-02-12 13:10:22 -03:00
Salvador E. Tropea 61855a2d8c Added tests for debug details in generated makefiles. 2021-02-12 12:30:20 -03:00
Salvador E. Tropea a49d4e45fa Added import tests. 2021-02-12 11:40:26 -03:00
Salvador E. Tropea 1b6cd3fad5 Adapted the makefile test for the new behavior 2021-02-11 11:54:35 -03:00
Salvador E. Tropea 67cee9988a Added workaroud for KiCad printing wxWidgets "traits" errors. 2021-02-10 09:40:41 -03:00
Salvador E. Tropea f698e44642 Now we can load InteractiveHtmlBom even when installed only as plugin
Fixes #49
2021-02-08 15:37:01 -03:00
Salvador E. Tropea ce0f22edce Adjusted some details about the time-out control
- Warning when detected pointing to use the global options
- Now pcbnmew_do/eeschema_do output is captured
- Warning when using floating value for kiauto_wait_start (no fail)
- A simple test for time-out
Fixes #48
2021-02-08 12:07:54 -03:00
Salvador E. Tropea 437f922341 Moved coverage calls, why out_step is wrongly reported? 2021-02-04 16:20:57 -03:00
Salvador E. Tropea 41c667cb1f Added test for unknown prefix in units. 2021-02-04 16:17:34 -03:00
Salvador E. Tropea 047fe53e1d Added tests for step and pdf_pcb_print command fails. 2021-02-04 16:09:50 -03:00
Salvador E. Tropea 0babc286af Modified the tests to cover the missing lines. 2021-02-04 13:40:14 -03:00
Salvador E. Tropea 9f2344ed4a Added tests for macros applied to stuff not currently used. 2021-02-04 13:06:44 -03:00
Salvador E. Tropea 685ab34c56 Added test for bogus argument passed to Layer.solve() 2021-02-04 12:00:17 -03:00
Salvador E. Tropea fa7fe0a5d6 Added test for undocumented plug-in in example generation. 2021-02-04 11:45:53 -03:00
Salvador E. Tropea fa7dde3008 Added test for undocumented filter. 2021-02-04 11:33:52 -03:00
Salvador E. Tropea dd28c63089 Added test for undocumented preflight. 2021-02-04 11:27:57 -03:00
Salvador E. Tropea e413cf0214 Added test for plug-in class without docstring. 2021-02-04 11:14:27 -03:00
Salvador E. Tropea ba6787660c Added test for undocumented option. 2021-02-04 10:42:02 -03:00
Salvador E. Tropea cc19d12d60 Added test for KiCad config redirection. 2021-02-04 10:28:39 -03:00
Salvador E. Tropea f39024d23d Added test for plug-in that fails to generate its targets. 2021-02-04 10:06:48 -03:00
Salvador E. Tropea d97ca18590 Added test for rotation filter in the bottom side. 2021-02-03 17:13:12 -03:00
Salvador E. Tropea 2d4f73d822 Fixed interaction between tests testing eeschema_do version 2021-02-03 16:07:36 -03:00
Salvador E. Tropea afaecfe570 Added tests for run_e/drc fails (mocked) 2021-02-03 15:16:42 -03:00
Salvador E. Tropea 48b1eafafc Added test for debug stats in BoM output. 2021-02-03 12:49:57 -03:00
Salvador E. Tropea 323dad144c Added test for no sch loaded in KiBoM output. 2021-02-03 12:47:07 -03:00
Salvador E. Tropea d1ef2c8cbf Added style dependency in pcbdraw makefile target.
- Also now we make sure the style is an existent file.
2021-02-03 12:41:30 -03:00
Salvador E. Tropea 80df7d76c7 Added tests to fully cover config_reader.
- Output comment as None
- Empty output name
- Empty variant type
2021-02-03 12:31:39 -03:00
Salvador E. Tropea d12837d5ba Added tests for missing out_bom cases.
- No file in aggregate
- Missing file in aggregate
- Sch not loaded
2021-02-03 12:16:55 -03:00
Salvador E. Tropea 602f0dd261 Added a STEP test using a model that is inside our tree.
Ensures all models will be found.
2021-02-03 11:26:37 -03:00
Salvador E. Tropea 0b3891d942 Added tests for bogus 3D model and another shipped. 2021-02-03 11:12:24 -03:00
Salvador E. Tropea 56e5352164 Added test for var_rename filter without variant. 2021-02-03 10:40:12 -03:00
Salvador E. Tropea 370b5bdaf6 Added test for run_drc to the makefile test.
- Also test the schematic fallback for preflight deps.
2021-02-03 10:23:15 -03:00
Salvador E. Tropea 265bdac7c2 Added test for update_xml in makefile test. 2021-02-02 12:31:34 -03:00
Salvador E. Tropea 79fe05ed9f Added makefile test for sch_variant case.
- Also avoided to repeat the same SCH dependency more than once.
2021-02-02 11:55:36 -03:00
Salvador E. Tropea 56fa06ef15 Added test for missing id in position columns.
Also excluded KiCad 6 code from out_position.
2021-02-02 11:17:09 -03:00
Salvador E. Tropea 82f5aa9a0b Added makefile tests for schematic print (PDF and SVG) 2021-02-02 10:36:19 -03:00
Salvador E. Tropea d5a31c6d87 Added tests for the missing lines in out_ibom.py. 2021-02-01 17:12:40 -03:00
Salvador E. Tropea 10f0706482 Exclude KiCad 6 code and enabled coverage for out_base tests. 2021-02-01 16:39:10 -03:00
Salvador E. Tropea f7826a7667 Added tests to cover missing lines in out_pdf_pcb_print.py 2021-02-01 15:51:04 -03:00
Salvador E. Tropea 86f21ff08c Fixed path to makefile test. 2021-02-01 15:06:30 -03:00
Salvador E. Tropea 8b459e85d5 Moved the plug-ins load to the coverage section in the tests.
So we get the re-load protection covered in the reports.
2021-02-01 14:54:13 -03:00
Salvador E. Tropea e3766519ac Added test for the warning about filenames with $. 2021-02-01 14:53:38 -03:00
Salvador E. Tropea 755ec4aa76 Fixed test_yaml_errors, wasn't adapted to the new fixture. 2021-02-01 11:35:48 -03:00
Salvador E. Tropea 01131bfc64 Fixed flake8 issues (indentation and obsolete request) 2021-02-01 11:28:11 -03:00
Salvador E. Tropea 7413f12924 Added missing test file `tests/test_plot/fake_plugin/out_bogus.py` 2021-02-01 11:23:41 -03:00
Salvador E. Tropea 3d5547f6c6 Changed the way we get the target test directory.
- Pytest 6 removed the old global mechanism.
- Now using a `fixture`
2021-02-01 11:16:33 -03:00
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
Salvador E. Tropea df013b57dc Fixed flake8 details 2020-08-28 16:57:31 -03:00
Salvador E. Tropea 0bdce78004 Implemented the new variants mechanism in the internal BoM. 2020-08-28 16:49:20 -03:00
Salvador E. Tropea 7c11370afd Added tests for missing convert and/or rsvg-convert 2020-08-27 19:18:08 -03:00
Salvador E. Tropea 45fde666be Added test for the warning about extra spaces in fields. 2020-08-27 18:04:22 -03:00
Salvador E. Tropea 3023035b75 Added tests for PcbDraw JPG and PNG outputs 2020-08-25 13:47:49 -03:00
Salvador E. Tropea 140a45fdc6 Fixed variants BoM logic.
The variants logic for BoMs when a component resquested to be only
added to more than one variant.
This is related to SchrodingersGat/KiBoM#136 issue.
2020-08-24 10:53:56 -03:00
SET 1836e641e7 Added test to check we remove rogue cache files. 2020-08-19 11:42:12 -03:00
SET 422641a295 More robust behavior when the Python cache interferes.
Files using macros can't be cached. Now if we find caches for them we
try to delete the caches (pypi installation for example). If we can't
remove the files a warning is generated.
If we fail to load a plug-in an error explaining it is generated.
Also added a test to reproduce it.
2020-08-18 21:44:09 -03:00
SET 89914443f0 Renamed the kiplot module as kibot.
Also added src/kibot script.
Updated the documentation and Debian packaging.
The default extension for config files now is .kibot.yaml
2020-08-16 22:04:03 -03:00
SET 15dbf9cce3 Added test for the new SVG output 2020-08-16 17:32:40 -03:00
SET a2b25ce23e Added a comment about the test strategy in the config errors. 2020-08-15 20:33:30 -03:00
SET 991f070e9f Added variants test. 2020-08-15 20:33:09 -03:00
SET 1a83f34de4 Added tests for fails and variants in the library path guess
Also switched all to pytest.monkeypatch to make it uniform.
2020-08-15 19:30:04 -03:00
SET 3cb7022902 Modified where I catch KiConfError
So coverage has a chance to record it
2020-08-15 18:34:21 -03:00
SET a35f7a0d10 Switched to mock to patch the environment 2020-08-15 18:11:54 -03:00
SET d2a443d52d Fixed where we catch KiConfError during test 2020-08-15 17:56:48 -03:00
SET c0c3302645 Added tests for broken sym-lib-table. 2020-08-15 17:37:50 -03:00
SET 0908a6b599 Added more tests for KiCad config.
No HOME environment variable, guess lib path, determine lib path
from env.
2020-08-15 16:13:10 -03:00
SET e29c7b2a93 Fixed tests adding to sys.path unconditionally 2020-08-15 15:25:02 -03:00
SET 400d5e436d Fixed the KiCad config error tests.
They modified the environment and didn't undo the changes.
2020-08-15 15:24:18 -03:00
SET d277bbbc0b Added test for no KiConf instances and loading config from env
Also moved the KiCad config tests to a separated file.
2020-08-15 13:41:29 -03:00
SET 487021357b Added tests for errors in the sym-lib-table 2020-08-15 12:42:07 -03:00
SET 9681064093 Fixed flake8 details 2020-08-15 11:06:45 -03:00
SET 90dee902ed Added tests for various strange cases that shouldn't interfere
Partial annotations, deeper hierarchy, etc.
2020-08-15 10:25:18 -03:00
SET b8b4c87f25 Added test for successful BoM generation even when missing libs. 2020-08-14 19:58:47 -03:00
SET 09b7ed5eca Added tests for title block errors. 2020-08-14 19:26:39 -03:00
SET 76ed259053 Moved the error tests to a separated directory.
They are too much.
Also simplified the test code.
2020-08-14 19:15:50 -03:00
SET fa706c0083 Added tests for sub-sheets instantation 2020-08-14 18:59:20 -03:00
SET c15e971da2 Added tests for errors in the SCH bitmap element. 2020-08-14 18:41:12 -03:00
SET a30bddc3ce Added tests for errors in no/connections, entries and wires. 2020-08-14 18:18:55 -03:00
SET a1255590e2 Added test for various errors in the component instantiation. 2020-08-14 18:02:32 -03:00
SET 6258b79023 Added test for errors in AR and basic fields. 2020-08-14 17:29:18 -03:00
SET 844b678ace Added test for errors in component labels. 2020-08-14 16:53:50 -03:00
SET 916aacafd6 Added more tests for the DCM and LIB errors. 2020-08-14 16:43:09 -03:00
SET 5d3cefe6ce Added tests for errors in library components. 2020-08-14 16:25:16 -03:00
SET 1767e66220 Added tests for errors in the libraries components fields 2020-08-14 15:58:00 -03:00
SET 4f5f8d4187 Added tests for truncated libs and dcms 2020-08-14 14:14:19 -03:00
SET 177ee7e627 Added tests for SCH errors. 2020-08-14 13:47:23 -03:00
SET 6ff4f59702 Added comment about misisng tests 2020-08-14 13:44:00 -03:00
SET a4082e617f Added test for custom style in HTML. 2020-08-14 13:02:45 -03:00
SET 92e4209ca4 Added tests for bogus and custom logo for HTML 2020-08-14 12:29:47 -03:00
SET 86d9854a9b Added test for URLs linked in HTML output. 2020-08-14 11:55:31 -03:00
SET 1879df2f6a Added test for the sort using en_US locale and a bogus locale. 2020-08-14 11:33:42 -03:00
SET 815e475b8d Added tests to exclude PCB and/or Stats info in CSV files. 2020-08-14 11:13:45 -03:00
SET ea8f318696 Added tests for TXT and quote_all 2020-08-14 10:21:21 -03:00
SET 87a1a97e9a Added test for RLC normalization. 2020-08-13 22:46:53 -03:00
SET d904dc516f Added a test for missing xlsxwriter module.
Is reported as an error, not fatal, but error.
2020-08-13 19:17:17 -03:00
SET 3224a44173 Added test for decimal point locale support.
Hopefully works on docker ...
2020-08-13 16:59:12 -03:00
SET 1067f364c8 Added more cases for the RLC sort test 2020-08-13 12:42:16 -03:00
SET b60b0ef680 Added test for wrong logo format. 2020-08-12 20:35:34 -03:00
SET 3df9e8b1c7 Added test for invalid column name 2020-08-12 20:32:35 -03:00
SET 535949e159 Added test for explicit exclude_any regex 2020-08-12 20:10:34 -03:00
SET 9a0e2bdd24 Fixed flake8 small details 2020-08-12 20:09:58 -03:00
SET 1dcda68cbc Added tests for missing styles and logos. 2020-08-12 19:49:27 -03:00
SET 7f45f022c7 Added tests for various HTML header layouts. 2020-08-12 19:13:41 -03:00
SET eef8041843 Better test for multiple digikey links 2020-08-12 17:56:14 -03:00
SET 5a1a38a0ca Added test for missing field in column list (internal BoM) 2020-08-12 17:34:05 -03:00
SET 768d67d0ad Added datasheet and digikey link tests for XLSX 2020-08-12 15:40:47 -03:00
SET 56c30f4227 Added test for "generate_dnf: false" for the XLSX 2020-08-12 14:35:27 -03:00
SET bbea3ad328 Retest forced. 2020-08-12 13:09:02 -03:00
SET 92cdf49c2d Added XLSX tests for style variations.
Just tested they are accepted, not correctness.
2020-08-12 13:03:08 -03:00
SET 6d2383a0e1 Fixed test_int_bom_column_rename_xlsx
Didn't take the new header return value
2020-08-12 12:24:00 -03:00
SET 88940119f6 Added test for XLSX header information.
Covering various situations, not all.
2020-08-12 12:05:40 -03:00
SET 51802aa42b Added sheetpath + SCH load + sub-sheet recycle test.
A sheet is included twice to test dual reference names.
The SCH contains all the possible KiCad elements.
2020-08-12 09:53:47 -03:00
SET 652b38f04d Added test for DNF in the Value. 2020-08-11 19:26:37 -03:00
SET f229956b25 Added test for DNC in value and in Config 2020-08-11 19:09:44 -03:00
SET 3a6550cf07 Added test for `test_regex` 2020-08-11 18:58:17 -03:00
SET 0f4fa12f1f Added "include_only" test. 2020-08-11 18:51:35 -03:00
SET 36a01ee038 Fixed interference between test patterns.
KIBOM_TEST_HEAD_TOL, wasn't cloned.
2020-08-11 18:28:38 -03:00
SET 3bb2bc51a0 Added test for "exclude_any" 2020-08-11 18:20:20 -03:00
SET 14f2b2b353 Added test for field collision. 2020-08-11 15:54:02 -03:00
SET 405e172395 Added test for multi-part component.
Check it isn't repeated.
2020-08-11 14:46:10 -03:00
SET 6d50e4bd27 Added test for non contiguous reference ranges. 2020-08-11 13:40:48 -03:00
SET d49d3b498f Added test for empty list of group fields. 2020-08-11 13:21:50 -03:00
SET 2995270155 Added tests for merge_blank_fields and component_aliases 2020-08-11 12:26:30 -03:00
Salvador E. Tropea 46c55fcf91 Separated the format specific options for internal BoM
And now we have more options.
- CVS: can quote all values.
- HTML and XLSX: styles adjust, including a logo.
- XLSX: now has the same options as HTML
Also a fix in the "join" mechanism for "case insensitive" support.
2020-08-05 19:57:32 -03:00
Salvador E. Tropea 547c3a22bb Simplified the columns logic for the internal BoM.
The ColumnList class now is just a place holder for column names.
We just create the list of columns from the user preferences or
creating a good default and then we just use this list.
2020-08-01 20:15:33 -03:00
Salvador E. Tropea 9e8aebc3aa deeepcopy no longer needed. 2020-08-01 18:41:35 -03:00
Salvador E. Tropea 5be7254594 Now the row number column is a regular column.
Its name is `Row` and you can put everywhere.
No `number_rows` option needed or special cases, is just another column
2020-08-01 18:31:26 -03:00
Salvador E. Tropea 670e379f65 Fixed style details (flake8) 2020-08-01 16:27:39 -03:00
Salvador E. Tropea a2ef1359d0 Added test for the KiBoM bug about columns not fully case insensitive. 2020-08-01 16:24:28 -03:00
Salvador E. Tropea 9c8830eefa Added test for the connectors grouping. 2020-08-01 16:07:51 -03:00
Salvador E. Tropea 2ef0aa060c Added XML and XLSX tests for the column rename. 2020-08-01 15:43:18 -03:00
Salvador E. Tropea d1fd04d4d2 Added column rename test for HTML. 2020-08-01 15:36:29 -03:00
Salvador E. Tropea c3c86bc4ae Added column rename test for the internal BoM. 2020-08-01 15:19:10 -03:00
Salvador E. Tropea b2189991fc Added test for `number_rows` internal BoM option 2020-08-01 14:43:08 -03:00
Salvador E. Tropea b3811b78cc Added test for `use_alt` internal BoM option 2020-08-01 14:36:21 -03:00
Salvador E. Tropea 6c26bd4ec6 Added test for the `html_generate_dnf` internal BoM. 2020-08-01 14:24:35 -03:00
Salvador E. Tropea 14cf41bc2d Added test for 'ignore_dnf' option in internal BoM 2020-08-01 14:12:25 -03:00
Salvador E. Tropea ecbeb587fe Simplified the other internal BoM tests.
Now that we can just use TestContextSCH.
No need for dummy PCB or extra options.
2020-08-01 13:35:42 -03:00
Salvador E. Tropea 77c5131a2f Fixed two tests using the "PrPCB" directory.
Cut & Paste error.
2020-08-01 13:27:56 -03:00
Salvador E. Tropea 22b624037c Added test for the internal BoM "Join" feature. 2020-08-01 13:17:27 -03:00
Salvador E. Tropea 0e5f9afc39 Added test for "digikey link" in the internal BoM. 2020-08-01 12:29:49 -03:00
Salvador E. Tropea 570553b616 Added test for "datasheet_as_link" 2020-07-31 20:38:18 -03:00
Salvador E. Tropea ca67cc8ac3 Fixed columns capitalization.
Now the capitalization is preserved, even when internally we match all
using lowercase.
2020-07-31 20:08:12 -03:00
Salvador E. Tropea 8a5c3724a1 Fixed the "References" column
Now plural as in KiBoM.
2020-07-31 20:01:43 -03:00
Salvador E. Tropea 99bec61576 Fixed references sorting.
Also added a test to check it.
2020-07-31 19:52:01 -03:00
Salvador E. Tropea 5058af5038 Added tests for XML and XLSX internal BoM 2020-07-31 19:31:36 -03:00
Salvador E. Tropea 7d56b59ba4 Added simple CSV and HTML test for the internal BoM. 2020-07-31 14:06:54 -03:00
Salvador E. Tropea f824bee832 Added KiCad v5.x schematic support.
It provides extra information, like which files are part of the
Schematic.
Library components not yet implemented.
2020-07-27 22:01:12 -03:00
Salvador E. Tropea 7dc94bf7be Added default output file name pattern.
Can be applied to all outputs.
2020-07-23 18:26:03 -03:00
Salvador E. Tropea 43b97db20c Now IBoM output file is coherent with other outputs.
The user can select the IBoM name mechanism, but the default is to use
a name coherent with all the other outputs.
2020-07-22 19:51:35 -03:00
Salvador E. Tropea 165d9aa15d Added full KiBoM configuration from the YAML config. 2020-07-22 18:33:53 -03:00