You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test: add Java and .NET chroot integration tests (#569)
* test: add Java and .NET chroot integration tests
Validates the procfs fix (dda7c67) that replaced the static /proc/self
bind mount with a dynamic `mount -t proc`, unblocking .NET CLR and JVM
runtimes that read /proc/self/exe for binary introspection.
Changes:
- Add DOTNET_ROOT to criticalEnvVars in awf-runner.ts so it survives sudo
- Add actions/setup-java and actions/setup-dotnet to test-chroot.yml
- Add Java language tests: version check, compile+run Hello World, stdlib
- Add .NET language tests: version check, dotnet --info, create+run app
- Add .NET package manager tests: list SDKs/runtimes, NuGet restore,
blocked-domain test
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add /proc filesystem correctness tests for chroot mode
Adds a dedicated test suite validating the dynamic procfs mount:
- /proc/self/exe resolves differently for different binaries
- /proc/cpuinfo, /proc/meminfo, /proc/self/status are accessible
- Java program reads /proc/self/exe and verifies it contains "java"
- JVM Runtime.availableProcessors() returns correct CPU count
These are the core regression tests for the procfs fix (dda7c67),
sourced from independent TDD test design.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: relax procfs test assertion to handle debug output in stdout
The stdout from awf includes [entrypoint] debug log lines when
logLevel is 'debug'. The /proc/self/exe test was asserting the
entire trimmed stdout starts with '/', but it starts with debug
output. Match for known binary paths instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add external package to NuGet blocked-domain test
A bare 'dotnet restore' on a default console project succeeds from
the local SDK cache without hitting NuGet. Adding Newtonsoft.Json as
an external dependency forces a network fetch, which correctly fails
when NuGet domains are not whitelisted.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments