Skip to content

Commit 2b4c17c

Browse files
committed
test(conformance): assert proposals target Bash
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
1 parent 057356d commit 2b4c17c

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

‎crates/openshell-conformance/src/scenarios/policy_behavior.rs‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,17 @@ async fn sandbox_bash_path(runner: &OpenShellRunner, name: &str) -> Result<Strin
167167
"--",
168168
"bash",
169169
"-c",
170-
"readlink -f /proc/$$/exe",
170+
"printf '%s\\n' \"$(readlink -f /proc/$$/exe)\"",
171171
])
172172
.await
173173
.map_err(|error| error.to_string())?;
174174
result.require_success()?;
175175
let binary = result.stdout().trim();
176-
if !binary.starts_with('/') || binary.contains('\n') {
177-
return Err(result.failure_diagnostic("one absolute Bash executable path"));
176+
if !binary.starts_with('/')
177+
|| binary.contains('\n')
178+
|| binary.rsplit('/').next() != Some("bash")
179+
{
180+
return Err(result.failure_diagnostic("one absolute Bash executable path ending in /bash"));
178181
}
179182
Ok(binary.to_string())
180183
}
@@ -335,7 +338,7 @@ network_policies: {}
335338
.stdout()
336339
.lines()
337340
.find_map(|line| line.strip_prefix("BINARY="))
338-
.filter(|binary| binary.starts_with('/'))
341+
.filter(|binary| binary.starts_with('/') && binary.rsplit('/').next() == Some("bash"))
339342
.ok_or_else(|| probe.failure_diagnostic("canonical Bash executable path is reported"))?
340343
.to_string();
341344
if !probe.stdout().lines().any(|line| line == "DENIED") {

0 commit comments

Comments
 (0)