Skip to content

Commit 601d74f

Browse files
committed
test: preserve Desktop production theme context
1 parent 93ade18 commit 601d74f

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

tests/native_reader_runtime_bootstrap_test.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
provider_loading = (SCRIPTS / "augment_native_provider_loading.py").read_text(encoding="utf-8")
1919
mobile_suite = (SCRIPTS / "run_native_corpus_mobile_suite.sh").read_text(encoding="utf-8")
2020
desktop_suite = (SCRIPTS / "run_native_corpus_desktop_suite.sh").read_text(encoding="utf-8")
21+
desktop_player = (SCRIPTS / "augment_native_desktop_player.py").read_text(encoding="utf-8")
2122
desktop_workflow = (ROOT / ".github/workflows/native-desktop-reader-acceptance.yml").read_text(encoding="utf-8")
2223
tv_bootstrap = (SCRIPTS / "nuvio_tv_test_bootstrap.py").read_text(encoding="utf-8")
2324
reader_acceptance = (SCRIPTS / "prepare_native_reader_acceptance.py").read_text(encoding="utf-8")
@@ -98,11 +99,10 @@
9899
assert "adb shell pm path com.nuviodebug.com" in mobile_suite
99100
assert "FIELD_NATIVE_MOBILE_APP_INSTALLED" in mobile_suite
100101

101-
# Desktop evidence must run under the same ordinary JVM/module policy as the real
102-
# NuvioDesktop application. A test-only --add-opens can make a lab pass while the
103-
# actual application still fails, creating exactly the parallel-runtime logic the
104-
# native acceptance architecture is designed to eliminate. If an official HEAD
105-
# requires forbidden reflective access, the real Desktop lab must expose it.
102+
# Desktop evidence must run under the same ordinary JVM/module policy and
103+
# composition-local contract as the real NuvioDesktop UI. The current production
104+
# PlatformPlayerSurface reads LocalNuvioPlatformDensity, which is intentionally
105+
# unavailable outside NuvioTheme; a bare ComposePanel is therefore not production.
106106
for forbidden in (
107107
"--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED",
108108
"--add-opens=java.desktop/sun.awt=ALL-UNNAMED",
@@ -113,9 +113,14 @@
113113
assert "No test-only --add-opens/JVM privilege relaxation" in desktop_workflow
114114
assert "root_execution_forbidden" in desktop_suite
115115
assert "privilege=ordinary-user" in desktop_suite
116+
assert "import com.nuvio.app.core.ui.NuvioTheme" in desktop_player
117+
assert "NuvioTheme {" in desktop_player
118+
assert "desktopThrowableChain" in desktop_player
119+
assert "exception_chain64=${b64(reader.exceptionChain)}" in desktop_player
116120

117121
print(
118122
"native reader runtime bootstrap contract passed: "
119123
"tv_explicit_pairs=true generated_empty_generics_typed=true tv_single_owner_hilt_imports=true "
120-
"tv_version_agnostic_bootstrap=true mobile_real_app=true desktop_ordinary_jvm_policy=true"
124+
"tv_version_agnostic_bootstrap=true mobile_real_app=true desktop_ordinary_jvm_policy=true "
125+
"desktop_production_theme=true desktop_unwrapped_errors=true"
121126
)

0 commit comments

Comments
 (0)