[pull] main from mhatzl:main - #2
Open
pull[bot] wants to merge 179 commits into
Open
Conversation
Useful to display covered lines in reports.
Moved content fields to indirections via hashes to reduce duplicating content if related fields change but not the content.
This allows to e.g. track the git repository+commit traces and requirements where retrieved from.
Renames projects to products
Since excluded and deprecated requirements cannot be verified, it would not be possible to hit 100% manuals verified even if all usable ones are verified
Needed for cargo publish mantra to include the stored queries
Switching to mantra-macros and mantra-procm. Re-exported mantra-macros in mantra under feature "macros"
The underlying database is now able to handle: multiple products in one database multiple parents for requirements well-known test & coverage formats such as JUnit and Cobertura test result overrides from reviews different trace kinds such as satisfies, verifies, clarifies and link optional requirements line coverage data is stored in the database coverage exclusions from annotations found in code Easier interfacing with external tools: JSON schemas are defined for every collection type mantra manages (e.g. requirements, test runs, annotations, reviews) built-in collection internally converts to structs representing those schemas Report restructuring: reports are now split into multiple files structure is built to publish a report as static HTML website prevents large single report files easier customization for specific pages through templates Current limitations: traces only detected in Rust code traces in (doc-)comments are not detected Markdown format to define requirements is not yet implemented macro traces do not generate defmt logs Next steps: Option to set defmt logs for embedded requirements coverage detection Markdown formats to define requirements and create reviews detect traces in Rust comments detect traces in plain text and Markdown files
GitHub and local dev behave differently especially with the wiki git submodule
Adds `rustfmt` and `clippy` in rust-toolchain.toml for GitHub runners to install all needed components for CI jobs. Note: job using `clippy` is currently commented due to mantra containing some unused code parts
Crates.io cannot handle relative links from a workspace README, causing a difference between the GitHub landing page and crates.io
Indirect unverified or skipped state was not properly forwarded to parent requirement of mandatory child if the child itself only had optional, excluded, or deprecated children
Fix only in the mantra crate, so all others stay at v0.8.0
* Add test data for the Markdown requirements format
* Allow traces to explicitly set the product id
besides string literal for the requirement ID, traces now accept
"{ id: "<requirement ID>", product_id: "<product ID>" }"
* Adapt requirement trace tables
It is now possible to explicitly set a product id for a requirement trace.
A replaced requirement is marked as deprecated
* Add basic Markdown parsing for req definitions Settings from bullet lists are not yet extracted * Add initial Markdown parsing to define requirements * Add req Markdown parsing tests * Fix db connection pooling for mult products "try_begin()" may fail to start a transaction if more than one product is collected in one "mantra collect" call. Switched to "begin()". Likely due to the prev. connection not being fully released when trying to aquire connection for the next product. * Add multi-product Markdown test Tests explicit product-id filtering in frontmatter * Add requirement origin to report template Test content added to show how origin is displayed for reqs from Markdown files * Switch tree to blob for origin This fits with GitHub's URL for files of any branch. * Highlight req Markdown syntax in test content Explicitly stating product id makes switching between branches as base easier.
Missed to set `no_std`. Crate would have already been compatible.
* Make mantra-macros no_std compatible Missed to set `no_std`. Crate would have already been compatible. * Add feature to set and extract coverage defmt logs With the "defmt" feature enabled, macros will print a defmt msg including the line and file the macros are used at. This allows to get coverage information from embedded targets * Set defmt and log logs for mantra-macros * Impl Error for ExtractError in mantra-macros Allows passing it as error context.
* Fix exclude propagation * Fix optional propagation * Fix manual propagation * Update stored query data * Add indirect verified state test Checks effects of marker propagations like manual and optional
* Fix indirect state propagation from unverified manual reqs * Add test case for manual unverified state propagation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )