Skip to content

Commit 1969d19

Browse files
committed
feat: P5 — replace E2E platform skip lists with capability-based tags
Each test now declares requirements via `# requires:` comment. run_all.sh detects available capabilities (elf, gcc, symlink, scan-deps, import-std-libcxx, etc.) and skips tests with missing requirements — no more platform-specific skip arrays.
1 parent ecb186f commit 1969d19

49 files changed

Lines changed: 137 additions & 78 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tests/e2e/01_help_and_version.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires:
23
# Verify --help and --version
34
set -e
45

tests/e2e/02_new_build_run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires:
23
# Single-module hello world: mcpp new → build → run
34
set -e
45

tests/e2e/03_multi_module.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires: elf gcc
23
# Multi-module: package with .cppm + main.cpp importing it
34
set -e
45

tests/e2e/04_incremental.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires:
23
# Incremental: a no-op rebuild does no work; touching main.cpp recompiles only it
34
set -e
45

tests/e2e/05_errors.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires:
23
# Error paths: missing manifest, missing version, conditional import, header unit, naming violation
34
set -e
45

tests/e2e/06_emit_xpkg.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires:
23
# emit xpkg: produce valid Lua entry from mcpp.toml
34
set -e
45

tests/e2e/07_static_library.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires: elf
23
# Static library: kind = "lib" → libNAME.a via `ar rcs`
34
set -e
45

tests/e2e/08_shared_library.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires: elf
23
# Shared library: kind = "shared" → libNAME.so via -shared -fPIC
34
set -e
45

tests/e2e/09_path_dependency.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires: elf gcc
23
# Path-based dependency: package B imports modules from package A via
34
# [dependencies.A] path = "../A"
45
# Verifies the multi-package scanner + linker pipeline.

tests/e2e/10_env_command.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# requires: symlink
23
# `mcpp env` initializes $MCPP_HOME and prints expected layout.
34
set -e
45

0 commit comments

Comments
 (0)