Files
Zachary D. Rowitsch 40b004f78a Widen cross-context sizing differential (slice 2)
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>
2026-06-03 08:30:06 -04:00

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