Skip to content

Catch more compile-time errors in CI #477

Description

@kkysen

Right now in CI, we just test

cargo build
./scripts/test_translator.py tests/

We should test more:

cargo fmt --check
RUSTFLAGS='-D warnings' cargo clippy --tests --all --all-features # includes cargo build
RUSTDOCFLAGS='-D warnings' cargo doc --all-features --document-private-items
cargo test --all-features
./scripts/test_translator.py tests/
# immunant/c2rust-testsuite CI

Note that we currently don't build with -all-features so, for example, the dynamic-instrumentation feature and that whole crate are not built in CI at all.

Furthermore, we should run the external tests, ./scripts/test_translator.py tests/ and immunant/c2rust-testsuite CI inside of cargo test. This not only simplifies testing workflows, but also hooks into external testing, such as crater runs.

I think we should definitely add these at least by the time we move CI to GitHub Actions instead of Azure Pipelines, but preferably earlier, as cargo clippy is almost passing (#474), and once it is, I'd like to keep it that way.

  • cargo fmt --check
  • cargo check --all-features
  • cargo build
  • RUSTFLAGS='-D warnings' cargo check --all-features
  • RUSTFLAGS='-D warnings' cargo build
  • RUSTFLAGS='-D warnings' cargo clippy --tests --all-features (includes cargo check)
  • RUSTDOCFLAGS='-D warnings' cargo doc --all-features --document-private-items --no-deps
  • cargo test
  • ./scripts/test_translator.py tests/
  • cargo test -p c2rust-analyze fails CI due to no FileCheck #593

PRs and Tracking Issues:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions