Commit Graph

451 Commits

Author SHA1 Message Date
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
Salvador E. Tropea a4c0df7fb5 Fixed flake8 warnings. 2020-07-22 18:16:18 -03:00
Salvador E. Tropea b89d1f481c Fixes in SCH meta-data collection.
- filename destruction
- code not executed
Also a test to cover all the cases.
2020-07-22 18:14:04 -03:00
Salvador E. Tropea d5168c37cd Added filename expansion for SCH related outputs.
pdf_sch_print is the first to support it.
2020-07-13 19:20:25 -03:00
Salvador E. Tropea 3822a39671 Added _pos to all position formats in the ID field. 2020-07-12 18:59:50 -03:00
Salvador E. Tropea 9d10c991da Changed default name for step files (adds -3D) 2020-07-12 18:55:08 -03:00
Salvador E. Tropea 031c69e27c Added `position` output configuration. 2020-07-12 18:46:37 -03:00
Salvador E. Tropea 36eedc9fce Added `drill` output configuration 2020-07-12 17:43:15 -03:00
Salvador E. Tropea b8b1277f5f Drill map file names can be configured. 2020-07-12 17:01:23 -03:00
Salvador E. Tropea b6347d8992 Drill report now uses %i='drill_report' %x='txt' 2020-07-12 16:27:46 -03:00
Salvador E. Tropea bc52d932b0 Changed default file name for pdf_pcb_print
Now %i is the list of layers (suffixes) and %x is PDF.
The default is %f-%i.%x
2020-07-12 16:17:38 -03:00
Salvador E. Tropea 41de8c032c Added `output` option to control the file name to all plot output formats. 2020-07-12 13:00:38 -03:00
Salvador E. Tropea e2854ef524 Added gerber.gerber_job_file option to control the gerber job file name. 2020-07-12 12:28:00 -03:00
Salvador E. Tropea 63999aa009 Preflight filters parsed by Optionable class.
This makes the filters similar to output options.
- Adds coherence to error messages.
- Enable aliases (used the ones suggested by @leoheck)
Additionally now the README.md preflights documentation comes directly
from --help-preflights
2020-07-12 11:52:44 -03:00
Salvador E. Tropea 52e6bb1b5f Added support for PcbDraw 2020-07-11 13:49:03 -03:00
Salvador E. Tropea f72ff3f441 Extra dot in step.metric_units docstring.
Remove dead code in check_eeschema_do()
Fixed the way we read scale stuff from a PCB
Added special checks for check_script and check_version
2020-07-09 12:50:27 -03:00
Salvador E. Tropea 587ef177b3 Added test for corrupted PCB, skip a preflight that isn't in use and output
plugin
2020-07-09 09:54:25 -03:00
Salvador E. Tropea a48e9ecc96 Added tests to cover out_pdf_pcb_print.py, error case left out 2020-07-09 09:20:52 -03:00
Salvador E. Tropea d4677a2c2e Added tests for:
- Inner layer that doesn't exist
- Technical layers
- Wrong layer group/spec
2020-07-08 23:34:45 -03:00
Salvador E. Tropea 995b6990aa Added HPGL and PS autoscaling tests.
Added test for example in a dir that must be created.
Removed code not used in docstring trim.
2020-07-08 23:16:04 -03:00
Salvador E. Tropea 8f17733354 Added PS autoscale and --example -p without PCB tests. 2020-07-08 22:55:41 -03:00
Salvador E. Tropea 42342236da Added test fro KiBoM with variant and print_sch_pdf fail. 2020-07-08 22:42:24 -03:00
Salvador E. Tropea 05460f4541 Added test for wrong boolean 2020-07-08 21:06:35 -03:00
Salvador E. Tropea 1917b4c601 Added more tests for errors 2020-07-08 20:41:16 -03:00
Salvador E. Tropea 307bed3a36 Added more preflight tests 2020-07-08 19:49:33 -03:00
Salvador E. Tropea 38baa62cbe Fixed ERC/DRC error count report. 2020-07-08 19:28:07 -03:00
Salvador E. Tropea 4869ead2eb Added test for failling DRC 2020-07-08 16:52:53 -03:00
Salvador E. Tropea 4111131008 Added test for run_erc not boolean. 2020-07-08 16:47:07 -03:00
Salvador E. Tropea 922b853084 Fixed ignore_unconnected.
Also added a test and a test for the error type.
Additionally the BasePreflight now provides default run/apply members.
2020-07-08 16:29:30 -03:00
Salvador E. Tropea 4368364489 Refactored the BaseOutput class to make it more similar to the YAML
Now the options are just an attribute of the outputs.
It means we have a set of classes for the options.
All the output content is parsed by the classes, including the Layers.
Now the layers support a simple string (with interesting shortcuts), a list of
strings or the original list of dicts.
2020-07-08 15:17:24 -03:00
Salvador E. Tropea 45ecb1d02a Added a mechanism to specify suboptions.
Now the legacy drill.map.type and drill.report.filename are specified in this
way.
The BaseOutput class now inherits from Optionable.
Suboptions are just Optionable classes.
Also: added traceback print when an error is reported and we are in debug mode.
2020-07-05 12:40:57 -03:00
Salvador E. Tropea 1ca21efe94 Now the docstring for string options can specify a list of allowed values
This reduces the number of setters/getters we need to write.
On the other side the time to validate the YAML is increased.
2020-07-02 09:25:06 -03:00
Salvador E. Tropea ec35d2443f Added option to copy plot options from the PCB to the YAML example.
Also added DXF.metric_units and updated the README.
2020-07-01 20:43:03 -03:00
Salvador E. Tropea 3a1d5d0652 Added pen_number and pen_speed HPGL options 2020-07-01 11:11:33 -03:00
Salvador E. Tropea be8339ddff Added tests to cover all the out_any_drill.py errors. 2020-06-30 22:57:59 -03:00
Salvador E. Tropea d926a5419e Added --example basic tests
Also added support for output directory to --example
2020-06-30 20:43:42 -03:00
Salvador E. Tropea 3c6f4950c7 Now the schematic can be specified separately.
We now test if the PCB and/or SCH are there only when we need them.
2020-06-29 19:25:54 -03:00
Salvador E. Tropea 42d1f14056 Now layers are solved when we really need it.
So we can do some operations (like --list) without loading the board.
Also: now the names for the layers are asked to pcbnew classes (not from file)
2020-06-29 12:55:02 -03:00
Salvador E. Tropea c82c2f0c39 Added support for all the missing IBoM options.
Note that variants_blacklist and variants_whitelist needs a fresh IBoM.
These options didn't work and crashed IBoM. It was reported as a result of
the tests included in this commit.
2020-06-27 15:04:35 -03:00
Salvador E. Tropea d48f258c33 Added tests for the various help options. 2020-06-26 14:48:40 -03:00
Salvador E. Tropea 2f0f3f755d Changed the command line parser from argparse to docopt.
This make the code cleaner and better documented.
Now the usage is more clear, and also a little bit more strict.
I'm using a modified docopt because I preffer using args.option instead of
args['--option'], I also fixed a few flake8 issues in docopt.py.
2020-06-26 12:04:56 -03:00
Salvador E. Tropea acd5592a45 Now the map.type and report.filename are deprecated in favor of map and report.
The old mechanism is supported, but removed from examples.
Added a test case for the new mechanism.
Documented the reason for the complex properties.
Added docstrings to these particular cases (with None as default).
2020-06-25 09:37:43 -03:00
Salvador E. Tropea 19023ef4e6 Added tests to cover 100% of kiplot/config_reader.py
Mostly parser errors.
2020-06-19 23:38:09 -03:00
Salvador E. Tropea 6ed99d8515 Tests adapted to the new error message strings. 2020-06-19 16:00:16 -03:00
Salvador E. Tropea 3382b4fe7b Fixed the way options with arguments are passed to kicad2step. 2020-06-15 15:58:08 -03:00
Salvador E. Tropea c2a735e9a6 For some reason Python sys.path vector has a limit and I was abusing it.
Each test module setups the path to find the needed modules, but didn't check
if it was necesary. Creating a long path that finally started to fail.
2020-06-15 15:14:53 -03:00
Salvador E. Tropea fc19d2c6c0 Added tests for errors parsing STEP files generation. 2020-06-15 13:40:30 -03:00
Salvador E. Tropea 685fef2ef6 Added test for STEP files generation 2020-06-15 13:39:59 -03:00
Salvador E. Tropea 0d9256fb24 The 'check_zone_fills' option is now independent of 'run_drc'
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00
Salvador E. Tropea 4101f69cd4 Added support for compressed YAML files. 2020-06-14 11:05:08 -03:00
Salvador E. Tropea 61f1ebbab2 Better debug info, fixed errors and no .kicad_pcb dependency
- When a BoM operation fails now we show the output of the child process.
  (Only enabled when using debug verbosity)
- The error levels 1 and 2 were overlapped with internal Python codes.
- Now we delay the PCB load until we really need it. Which could be never.
2020-06-12 15:10:56 -03:00
Salvador E. Tropea 9983bc05bf Added test for the filters feature 2020-06-09 13:56:17 -03:00
Salvador E. Tropea 5883b1a616 Added test for command line -q (quite) 2020-05-26 14:22:58 -03:00
Salvador E. Tropea ee6238a2ce Added test for iBoM without options. 2020-05-26 14:01:52 -03:00
Salvador E. Tropea 7b8aa57610 Added missing blank line and removed extra blank line at the end. 2020-05-26 14:01:11 -03:00
Salvador E. Tropea 979b3bc0d7 Added a test for missing output.layers 2020-05-26 13:52:04 -03:00
Salvador E. Tropea 8aaa07c867 Added test for missing output.options 2020-05-26 13:40:16 -03:00
Salvador E. Tropea e3cddb280a Added tests for missing output.name and output.type. 2020-05-26 13:36:49 -03:00
Salvador E. Tropea 1d85befd9b Added test for missing comment in output section 2020-05-26 13:31:08 -03:00
Salvador E. Tropea 31e461ca9c Added 3 tests for wrong layer names. 2020-05-26 13:27:49 -03:00
Salvador E. Tropea 4e14891979 Adde test for wrong drill map type 2020-05-26 13:09:16 -03:00
Salvador E. Tropea eb77e20f80 Added test for missing drill map type 2020-05-26 13:04:56 -03:00
Salvador E. Tropea 64de376c2b Added test for wrong version in config file. 2020-05-26 12:53:24 -03:00
Salvador E. Tropea 92df488ddb Added test for no kiplot.version in config. 2020-05-26 12:50:52 -03:00
Salvador E. Tropea 21bc1f939e Added test for missing PCB file in command line 2020-05-26 12:23:43 -03:00
Salvador E. Tropea b429a81473 Added test for --list option 2020-05-26 12:12:18 -03:00
Salvador E. Tropea 92de025c96 Added test for wrong config file name 2020-05-26 12:05:35 -03:00
Salvador E. Tropea c41faba302 Added tests for guessing the board and YAML, also missing YAML 2020-05-26 12:02:16 -03:00
Salvador E. Tropea b5448739ee Added a test for missing PCB file 2020-05-25 20:28:35 -03:00
Salvador E. Tropea 0ed23a1642 Added a test to skip one output 2020-05-25 20:12:42 -03:00
Salvador E. Tropea cc4d942111 Added a test for a bogus output type. 2020-05-25 20:00:59 -03:00
Salvador E. Tropea 5a23fe2b37 Added tests for various cases of --skip command line option. 2020-05-25 19:49:05 -03:00
Salvador E. Tropea 9c6ee4f457 Added simple DXF test 2020-05-25 18:59:00 -03:00
Salvador E. Tropea 1672637742 Added simple test for plotting a PCB to PDF, 2020-05-25 18:55:11 -03:00
Salvador E. Tropea 2c38414617 Fixed test_print_pcb function name (was the same as SCH) 2020-05-25 18:53:12 -03:00
Salvador E. Tropea 8f929db896 Added simple HPGL test 2020-05-25 18:42:56 -03:00
Salvador E. Tropea e119732fb3 Added simple SVG test 2020-05-25 18:39:12 -03:00
Salvador E. Tropea 77b2d1e075 Added postscript test. 2020-05-25 18:32:11 -03:00
Salvador E. Tropea f7af290113 Added update_xml test 2020-05-20 11:34:47 -03:00
Salvador E. Tropea 128906a13d Added DRC test 2020-05-20 10:53:25 -03:00
Salvador E. Tropea d8e45554f4 Moved the .pro and fp-cache to the context clean_up 2020-05-20 10:52:42 -03:00
Salvador E. Tropea 367647724a Documented we are also testing CSV positions 2020-05-20 10:37:26 -03:00
Salvador E. Tropea cad997ae3d Added ERC test 2020-05-20 10:37:06 -03:00
Salvador E. Tropea fb281889d7 Added tests for position in CSV format. 2020-05-20 10:13:38 -03:00
Salvador E. Tropea bb8d8a079a Added simple test for pdf_pcb_print 2020-05-20 09:25:43 -03:00
Salvador E. Tropea e81981db56 Added a test for print_sch 2020-05-19 11:40:55 -03:00
Salvador E. Tropea 02cdeac2f4 Added test for InteractiveHtmlBom 2020-05-15 10:59:46 -03:00
Salvador E. Tropea 86a08d389a Fixed comments in test_bom.py (were the ones from drill) 2020-05-15 10:58:51 -03:00
Salvador E. Tropea d8daa8b4e7 Added small test for KiBoM files 2020-05-15 10:40:29 -03:00
Salvador E. Tropea 1e4440670c Removed dead code in test_drill.py 2020-05-15 10:39:31 -03:00
Salvador E. Tropea a0b647be69 Documented what test_drill.py tests 2020-05-15 09:07:00 -03:00
Salvador E. Tropea 6873652433 Added a simple test for drills 2020-05-14 19:50:04 -03:00
Salvador E. Tropea d500178c24 Recoded all the tests. I used the class I wrote for kicad-automation-scripts.
Now the tests are simpler, I also suitched to test the application from "outside"
because I was having some ridiculous fails.
Also added coverage meassurement, which is currently pathetic.
2020-05-14 13:11:31 -03:00
Salvador E. Tropea ba22eae5b8 Tunned flake8 and removed all unfiltered warnings and errors 2020-04-28 17:56:50 -03:00
Salvador E. Tropea 9fc7653e9b Added simple test for the position file/s 2020-04-27 16:28:01 -03:00
Salvador E. Tropea 954dfa25bf Adapted test_simple_2layer.py to Python 3 and added Gerber Job test 2020-04-27 16:27:04 -03:00
Salvador E. Tropea aeb669a24f Adapted the plotting test to the currently used arguments.
Forced to test the sources, instead of the installed package.
2020-04-27 16:25:39 -03:00