Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -304,24 +304,41 @@ jobs:
with:
path: ~/dwg-corpus
key: dwg-corpus-${{ hashFiles('tools/corpus/pins.tsv') }}
# tests/samples.rs, class_census.rs, block_names.rs, corpus_roundtrip.rs
# and r2013_entity_values.rs read ../../samples and skip silently when a
# file is absent, so a skip here would be a vacuous pass.
# Every tests/ target of tools/ci/test-targets.txt that reads ../../samples
# (class real): samples, class_census, block_names, corpus_roundtrip,
# r2013_entity_values, integration_dxf_roundtrip, integration_gltf and
# integration_legacy_container, without the seven byte-built tests its
# skip= list in the manifest leaves out (the names are unique across the
# eight binaries, and libtest's --skip applies to all of them). They skip
# silently when a file is absent,
# so a skip here would be a vacuous pass; integration_dxf_roundtrip also
# returns early, printing "convert failed", when the converter errors on
# the drawing, which passes just as vacuously. Both fail the step below.
- name: Real-file tests on the 19-file corpus
if: steps.fetch.outputs.measured == 'true'
run: |
set +e
cargo +stable test --release --all-features --test samples --test class_census \
--test block_names --test corpus_roundtrip --test r2013_entity_values \
-- --nocapture > corpus-tests.log 2>&1
--test integration_dxf_roundtrip --test integration_gltf \
--test integration_legacy_container \
-- --nocapture \
--skip r14_flat_file_walks_its_object_map_and_decodes_a_line \
--skip r2000_flat_file_walks_its_object_map_and_decodes_a_line \
--skip r13_r15_object_stream_is_the_whole_file \
--skip r13_r15_locators_carry_the_canonical_section_names \
--skip r2007_locates_its_string_stream_from_the_object_prologue \
--skip r2007_system_page_size_matches_the_spec_pseudo_code \
--skip r2007_page_map_pairs_accumulate_into_offsets \
> corpus-tests.log 2>&1
status=$?
set -e
cat corpus-tests.log
if [ "$status" -ne 0 ]; then
exit "$status"
fi
if grep -n -i 'skipping' corpus-tests.log; then
echo "::error::a corpus test skipped although the corpus is present"
if grep -n -i -e 'skipping' -e 'convert failed' corpus-tests.log; then
echo "::error::a corpus test skipped or returned early although the corpus is present"
exit 1
fi
- name: Measure every pinned drawing and check the ratchet
Expand Down
Loading