Merge pull request #1314 from grouville/test-#subir

Fix and Test #Subdir
This commit is contained in:
Andrea Luzzardi 2022-01-06 18:48:04 +01:00 committed by GitHub
commit 1c06504bde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 144 additions and 3 deletions

View File

@ -14,13 +14,18 @@ import (
path: string path: string
// Subdirectory tree // Subdirectory tree
output: #FS & _copy.output output: #FS & copy.output
_copy: engine.#Copy & { // Base image
"input": engine.#Scratch.output scratch: engine.#Scratch
// Copy action
copy: engine.#Copy & {
"input": scratch.output
source: { source: {
root: input root: input
"path": path "path": path
} }
dest: "/"
} }
} }

View File

@ -94,6 +94,17 @@ setup() {
"$DAGGER" --europa up ./scratch.cue -l debug "$DAGGER" --europa up ./scratch.cue -l debug
} }
@test "task: #Subdir" {
cd "$TESTDIR"/tasks/subdir
"$DAGGER" --europa up ./subdir_simple.cue
run "$DAGGER" --europa up ./subdir_invalid_path.cue
assert_failure
run "$DAGGER" --europa up ./subdir_invalid_exec.cue
assert_failure
}
@test "task: #GitPull" { @test "task: #GitPull" {
cd "$TESTDIR" cd "$TESTDIR"
"$DAGGER" --europa up ./tasks/gitpull/exists.cue "$DAGGER" --europa up ./tasks/gitpull/exists.cue

View File

@ -0,0 +1,41 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/test/foo"
}
verify: engine.#Exec & {
input: subdir.output
args: [
"sh", "-c",
#"""
# impossible execution
"""#,
]
}
}
}

View File

@ -0,0 +1,45 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/directorynotfound"
}
verify: engine.#Exec & {
input: image.output
mounts: fs: {
dest: "/target"
contents: subdir.output
}
args: [
"sh", "-c",
#"""
test $(ls /target | wc -l) = 1
"""#,
]
}
}
}

View File

@ -0,0 +1,39 @@
package main
import (
"alpha.dagger.io/europa/dagger/engine"
"alpha.dagger.io/europa/dagger"
)
engine.#Plan & {
actions: {
image: engine.#Pull & {
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
}
mkdir: engine.#Mkdir & {
input: image.output
path: "/test/foo"
}
writeChecker: engine.#WriteFile & {
input: mkdir.output
path: "/test/foo/hello"
contents: "world"
permissions: 0o700
}
subdir: dagger.#Subdir & {
input: writeChecker.output
path: "/test/foo"
}
verify: engine.#ReadFile & {
input: subdir.output
path: "/hello"
} & {
// assert result
contents: "world"
}
}
}