Fix flaky tests

Signed-off-by: dubo-dubon-duponey <dubodubonduponey+github@pm.me>
This commit is contained in:
dubo-dubon-duponey 2022-02-24 17:21:22 -08:00
parent 0bfb1bd447
commit 30b5db0586
No known key found for this signature in database
GPG Key ID: C3B96779C681DA56
7 changed files with 61 additions and 23 deletions

View File

@ -94,19 +94,21 @@ setup() {
} }
@test "plan/outputs/directories" { @test "plan/outputs/directories" {
cd "$TESTDIR"/plan/outputs/directories cd "$TESTDIR"/plan/outputs/directories
rm -f "./out/test" "$DAGGER" up ./outputs.cue
"$DAGGER" up ./outputs.cue assert [ -f "./out/test_outputs" ]
assert [ -f "./out/test" ]
rm -f "./out/test_outputs"
} }
@test "plan/outputs/directories relative paths" { @test "plan/outputs/directories relative paths" {
cd "$TESTDIR"/plan cd "$TESTDIR"/plan
rm -f "./outputs/directories/out/test" "$DAGGER" up ./outputs/directories/relative.cue
"$DAGGER" up ./outputs/directories/outputs.cue assert [ -f "./outputs/directories/out/test_relative" ]
assert [ -f "./outputs/directories/out/test" ]
rm -f "./outputs/directories/out/test_relative"
} }
@test "plan/outputs/files normal usage" { @test "plan/outputs/files normal usage" {
@ -114,22 +116,22 @@ setup() {
"$DAGGER" up ./usage.cue "$DAGGER" up ./usage.cue
run ./test.sh run ./test_usage
assert_output "Hello World!" assert_output "Hello World!"
run ls -l "./test.sh" run ls -l "./test_usage"
assert_output --partial "-rwxr-x---" assert_output --partial "-rwxr-x---"
rm -f "./test.sh" rm -f "./test_usage"
} }
@test "plan/outputs/files relative path" { @test "plan/outputs/files relative path" {
cd "$TESTDIR"/plan cd "$TESTDIR"/plan
"$DAGGER" up ./outputs/files/usage.cue "$DAGGER" up ./outputs/files/relative.cue
assert [ -f "./outputs/files/test.sh" ] assert [ -f "./outputs/files/test_relative" ]
rm -f "./outputs/files/test.sh" rm -f "./outputs/files/test_relative"
} }
@test "plan/outputs/files default permissions" { @test "plan/outputs/files default permissions" {
@ -137,10 +139,10 @@ setup() {
"$DAGGER" up ./default_permissions.cue "$DAGGER" up ./default_permissions.cue
run ls -l "./test" run ls -l "./test_default_permissions"
assert_output --partial "-rw-r--r--" assert_output --partial "-rw-r--r--"
rm -f "./test" rm -f "./test_default_permissions"
} }
@test "plan/outputs/files no contents" { @test "plan/outputs/files no contents" {
@ -150,7 +152,9 @@ setup() {
assert_failure assert_failure
assert_output --partial "contents is not set" assert_output --partial "contents is not set"
assert [ ! -f "./test" ] assert [ ! -f "./test_no_contents" ]
rm -f "./test_no_contents"
} }
@test "plan/platform" { @test "plan/platform" {

View File

@ -7,12 +7,12 @@ import (
dagger.#Plan & { dagger.#Plan & {
actions: data: dagger.#WriteFile & { actions: data: dagger.#WriteFile & {
input: dagger.#Scratch input: dagger.#Scratch
path: "/test" path: "/test_outputs"
permissions: 0o600 permissions: 0o600
contents: "foobar" contents: "foobar"
} }
outputs: directories: test: { outputs: directories: test_outputs: {
contents: actions.data.output contents: actions.data.output
dest: "./out" dest: "./out"
} }

View File

@ -0,0 +1,19 @@
package main
import (
"dagger.io/dagger"
)
dagger.#Plan & {
actions: data: dagger.#WriteFile & {
input: dagger.#Scratch
path: "/test_relative"
permissions: 0o600
contents: "foobar"
}
outputs: directories: test_relative: {
contents: actions.data.output
dest: "./out"
}
}

View File

@ -5,6 +5,6 @@ import "dagger.io/dagger"
dagger.#Plan & { dagger.#Plan & {
outputs: files: test: { outputs: files: test: {
contents: "foobar" contents: "foobar"
dest: "./test" dest: "./test_default_permissions"
} }
} }

View File

@ -3,5 +3,5 @@ package main
import "dagger.io/dagger" import "dagger.io/dagger"
dagger.#Plan & { dagger.#Plan & {
outputs: files: test: dest: "./test" outputs: files: test: dest: "./test_no_contents"
} }

View File

@ -0,0 +1,15 @@
package main
import "dagger.io/dagger"
dagger.#Plan & {
outputs: files: {
[path=string]: dest: path
test_relative: contents: """
#!/bin/bash
set -euo pipefail
echo "Hello World!"
"""
}
}

View File

@ -5,7 +5,7 @@ import "dagger.io/dagger"
dagger.#Plan & { dagger.#Plan & {
outputs: files: { outputs: files: {
[path=string]: dest: path [path=string]: dest: path
"test.sh": { test_usage: {
contents: """ contents: """
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail