Tests for xorn-netlist
======================
These are the original tests used by gnetlist which compare the
netlister output for a set of test schematics with known good output
files. To run the tests, type:
make check
Since xorn-netlist produces slightly different output than the old
gnetlist binary, the reference output files have been modified to
accomodate these differences.
- The original order in which the pins on a net used to be listed in
gnetlist is hard to predict and depends on the internal connectivity
checking algorithm. Since it's *almost* the order of the pins in
the file, they are now sorted in that order.
- The VAMS backend included all attributes on the first component of a
package in the output except "refdes", "source", and "architecture".
For slotted packages, this means a semi-arbitrary value for "slot"
was used. The new attribute code considers all components of a
package and raises an error if there are inconsistent values.
Therefore, the "slot" attribute is now excluded, too.
- gnetlist:vams-get-package-attributes returned the names of all
attributes attached to a package's first component, including those
which have been set to "unknown". This has been fixed; now only
attributes whose value is not "unknown" are listed in the output.
- If an artificial pin was present in multiple components of a
package, get-pins and get-pins-nets returned the pin once for each
component, resulting in duplicate pins in the output. This has been
fixed; each pin in now listed only once.
- The renamed-nets section in the test backend has been removed as it
isn't meaningful any longer.
- With the new subsheet link-up code, the order of the pins on an
inter-schematic net connected to multiple ports now depends
primarily on the order of the pins of the subsheet symbol instead of
the order of the pins inside the subsheet.
- Some of the errors covered in the DRC2 tests are now detected by the
netlister and cause it to abort with an error, so netlist errors are
ignored for this backend.
The tests do NOT cover most of the more advanced features of the
backends; they are basically just a bunch of standard schematics run
through each backend, whether meaningful or not.
Please note that the tests only make sure there are no accidental new
defects. In particular, it has not been checked whether the original
output files were correct in the first place.
--------------------------------------------------------------------------------
Copyright (C) 2013-2019 Roland Lutz
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the ``GNU Free
Documentation License'' file as part of this distribution.