40b004f78a
Add more formatting contexts to the max-content differential and a cross-context min/max clamping invariant: - flex item max-content matches inline-block (passes). - min/max-width clamping holds for block/inline-block/flex/grid (passes). - Add a `just sizing-fuzz` recipe mirroring flex-fuzz. Findings: - Grid is excluded: GridTrackSize has no content-based variant and auto/fr tracks resolve to fill, so grid has no content-sized track sizing — a feature gap, not a bug, documented inline. - Table cell intrinsic sizing has a real bug: max-content of mixed text + atomic-inline content takes max() instead of sum() (the flexbox F-007 class, in table auto layout). Recorded as an ignored known-bug test (known_bug_table_cell_mixed_content_max_not_sum); text-only and lone-atomic cells size correctly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
79 lines
2.1 KiB
Makefile
79 lines
2.1 KiB
Makefile
set shell := ["bash", "-eu", "-o", "pipefail", "-c"]
|
|
|
|
_default:
|
|
@just --list
|
|
|
|
fix:
|
|
cargo fmt --all
|
|
|
|
fmt:
|
|
cargo fmt --all --check
|
|
|
|
lint:
|
|
cargo xclippy -- -D warnings
|
|
|
|
test:
|
|
cargo xtest -- --skip wpt_suite_matches_manifest_expectations --skip js262_suite_matches_manifest_expectations --skip js262_full_suite_matches_manifest_expectations
|
|
cargo test -p rust_browser --test wpt_harness wpt_suite_matches_manifest_expectations -- --nocapture
|
|
cargo test -p rust_browser --test js262_harness js262_suite_matches_manifest_expectations -- --nocapture
|
|
|
|
policy:
|
|
scripts/check_unsafe.sh
|
|
scripts/check_deps.sh
|
|
scripts/check_file_size.sh
|
|
|
|
metrics:
|
|
scripts/metrics.sh
|
|
|
|
ci:
|
|
just fmt
|
|
just lint
|
|
just test
|
|
just policy
|
|
just metrics
|
|
|
|
san:
|
|
scripts/sanitizer.sh
|
|
|
|
# Hammer the flexbox invariant/property tests with a high case count to flush
|
|
# out layout bugs. Override the per-test case count: `just flex-fuzz 10000`.
|
|
flex-fuzz CASES="3000":
|
|
PROPTEST_CASES={{CASES}} cargo test -p layout --lib flex_property -- --nocapture
|
|
|
|
# Hammer the cross-context sizing invariant/property tests with a high case
|
|
# count. Override the per-test case count: `just sizing-fuzz 10000`.
|
|
sizing-fuzz CASES="3000":
|
|
PROPTEST_CASES={{CASES}} cargo test -p layout --lib sizing_property -- --nocapture
|
|
|
|
regen-wpt:
|
|
cargo test -p rust_browser --test wpt_harness regenerate_wpt_expected_outputs -- --ignored --nocapture
|
|
|
|
import-wpt *ARGS:
|
|
python3 scripts/import_wpt_reftests.py {{ARGS}}
|
|
|
|
wpt-status *ARGS:
|
|
python3 scripts/wpt_status.py {{ARGS}}
|
|
|
|
js262-status *ARGS:
|
|
python3 scripts/wpt_status.py --manifest tests/external/js262/js262_manifest.toml {{ARGS}}
|
|
|
|
curate-test262 *ARGS:
|
|
python3 scripts/curate_test262.py {{ARGS}}
|
|
|
|
triage-test262:
|
|
python3 scripts/triage_test262.py
|
|
|
|
clone-test262:
|
|
python3 scripts/clone_test262.py
|
|
|
|
test262-scan:
|
|
python3 scripts/clone_test262.py
|
|
python3 scripts/scan_test262.py
|
|
|
|
test262-full:
|
|
just test262-scan
|
|
cargo test -p rust_browser --test js262_harness js262_full_suite_matches_manifest_expectations -- --nocapture
|
|
|
|
triage-test262-full:
|
|
python3 scripts/triage_test262_full.py
|