Files
runc/tests/integration/spec.bats
T
Shengjing Zhu b8ebeecec5 tests: replace local hello world bundle with busybox bundle
Currently only amd64 and arm64v8 tarball have been checked in testdata,
while busybox bundle is downloaded on fly, and supports multiple architectures.

To enable integration tests for more architectures, the hello world
bundle is replaced by busybox one.

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
(cherry picked from commit 66bf3718b4)
2023-02-07 16:05:47 -08:00

42 lines
1.1 KiB
Bash

#!/usr/bin/env bats
load helpers
function setup() {
setup_busybox
update_config '.process.args = ["/bin/echo", "Hello World"]'
}
function teardown() {
teardown_bundle
}
@test "spec generation cwd" {
runc run test_hello
[ "$status" -eq 0 ]
}
@test "spec generation --bundle" {
runc run --bundle "$(pwd)" test_hello
[ "$status" -eq 0 ]
}
@test "spec validator" {
requires rootless_no_features
SPEC_VERSION=$(awk '$1 == "github.com/opencontainers/runtime-spec" {print $2}' "$BATS_TEST_DIRNAME"/../../go.mod)
# Will look like this when not pinned to specific tag: "v0.0.0-20190207185410-29686dbc5559", otherwise "v1.0.0"
SPEC_COMMIT=$(cut -d "-" -f 3 <<<"$SPEC_VERSION")
SPEC_REF=$([[ -z "$SPEC_COMMIT" ]] && echo "$SPEC_VERSION" || echo "$SPEC_COMMIT")
git clone https://github.com/opencontainers/runtime-spec.git
(cd runtime-spec && git reset --hard "$SPEC_REF")
SCHEMA='runtime-spec/schema/config-schema.json'
[ -e "$SCHEMA" ]
GO111MODULE=auto go get github.com/xeipuuv/gojsonschema
GO111MODULE=auto go build runtime-spec/schema/validate.go
./validate "$SCHEMA" config.json
}