Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Step Unit Test Infrastructure #207

Merged
merged 14 commits into from
Oct 10, 2023
Merged

Step Unit Test Infrastructure #207

merged 14 commits into from
Oct 10, 2023

Conversation

donn
Copy link
Member

@donn donn commented Oct 8, 2023

  • Created step unit testing infrastructure, relying on specially-laid out folders that provide input data with the ability to add a per-step input data preprocessor and output
    • Requires --all-steps flag to be passed to pytest
    • Created submodule to host step tests
    • Added step to Nix build that utilizes the step unit testing infrastructure
  • Created method openlane/common/misc.py::Path::startswith
  • Added a new internal subcommand, openlane.steps create-test, which creates a flat reproducible that can be more easily added as a step unit
  • Expanded test coverage to openlane/steps/checker.py
  • Expanded openlane/common/generic_dict.py::copy_recursive to support dataclasses
  • Fixes and tweaks for step reproducibles:
    • openlane.steps create-reproducible has new flag, --no-include-pdk, which excludes PDK files from reproducibles and make any reference to them utilize pdk_dir::
    • Slight internal rework for openlane/steps/step.py::Step::create_reproducible to support flattened file structures suitable for testing
    • Reproducibles now no longer include views of the design not explicitly declared in step .inputs
  • Metric design__latch__count renamed to design__inferred_latch__count
  • Reworked Nix derivations for the OpenLane shell, OpenLane, and the Docker image
  • Fixed bug in Verilator.Lint where inferred latch warnings were not properly processed
  • Fixed bug in openlane/config/config.py::__load_dict where pdkpath was not being set in some scenarios

@donn donn marked this pull request as ready for review October 9, 2023 13:25
.coveragerc Show resolved Hide resolved
.gitmodules Show resolved Hide resolved
@donn donn changed the title Initial Work on Step Unit Tests Step Unit Test Infrastructure Oct 10, 2023
@donn donn enabled auto-merge (squash) October 10, 2023 10:12
@donn donn merged commit c8b38a7 into main Oct 10, 2023
67 checks passed
@donn donn deleted the step_unit_tests branch October 23, 2023 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants