mirror of https://github.com/databricks/cli.git
Add acceptance/selftest, showcasing basic features (#2229)
Also make TestInprocessMode use this test.
This commit is contained in:
parent
b3d98fe666
commit
82b0dd36d6
|
@ -17,3 +17,5 @@ For more complex tests one can also use:
|
||||||
- `errcode` helper: if the command fails with non-zero code, it appends `Exit code: N` to the output but returns success to caller (bash), allowing continuation of script.
|
- `errcode` helper: if the command fails with non-zero code, it appends `Exit code: N` to the output but returns success to caller (bash), allowing continuation of script.
|
||||||
- `trace` helper: prints the arguments before executing the command.
|
- `trace` helper: prints the arguments before executing the command.
|
||||||
- custom output files: redirect output to custom file (it must start with `out`), e.g. `$CLI bundle validate > out.txt 2> out.error.txt`.
|
- custom output files: redirect output to custom file (it must start with `out`), e.g. `$CLI bundle validate > out.txt 2> out.error.txt`.
|
||||||
|
|
||||||
|
See [selftest](./selftest) for a toy test.
|
||||||
|
|
|
@ -60,12 +60,7 @@ func TestInprocessMode(t *testing.T) {
|
||||||
if InprocessMode {
|
if InprocessMode {
|
||||||
t.Skip("Already tested by TestAccept")
|
t.Skip("Already tested by TestAccept")
|
||||||
}
|
}
|
||||||
if runtime.GOOS == "windows" {
|
require.Equal(t, 1, testAccept(t, true, "selftest"))
|
||||||
// - catalogs A catalog is the first layer of Unity Catalog’s three-level namespace.
|
|
||||||
// + catalogs A catalog is the first layer of Unity Catalog<6F>s three-level namespace.
|
|
||||||
t.Skip("Fails on CI on unicode characters")
|
|
||||||
}
|
|
||||||
require.NotZero(t, testAccept(t, true, "help"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testAccept(t *testing.T, InprocessMode bool, singleTest string) int {
|
func testAccept(t *testing.T, InprocessMode bool, singleTest string) int {
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
HELLO
|
|
@ -0,0 +1,30 @@
|
||||||
|
=== Capturing STDERR
|
||||||
|
>>> python3 -c import sys; sys.stderr.write("STDERR\n")
|
||||||
|
STDERR
|
||||||
|
|
||||||
|
=== Capturing STDOUT
|
||||||
|
>>> python3 -c import sys; sys.stderr.write("STDOUT\n")
|
||||||
|
STDOUT
|
||||||
|
|
||||||
|
=== Capturing exit code
|
||||||
|
>>> errcode python3 -c raise SystemExit(5)
|
||||||
|
|
||||||
|
Exit code: 5
|
||||||
|
|
||||||
|
=== Capturing exit code (alt)
|
||||||
|
>>> python3 -c raise SystemExit(7)
|
||||||
|
|
||||||
|
Exit code: 7
|
||||||
|
|
||||||
|
=== Capturing pwd
|
||||||
|
>>> python3 -c import os; print(os.getcwd())
|
||||||
|
$TMPDIR
|
||||||
|
|
||||||
|
=== Capturing subdir
|
||||||
|
>>> mkdir -p subdir/a/b/c
|
||||||
|
|
||||||
|
>>> withdir subdir/a/b/c python3 -c import os; print(os.getcwd())
|
||||||
|
$TMPDIR/subdir/a/b/c
|
||||||
|
|
||||||
|
=== Custom output files - everything starting with out is captured and compared
|
||||||
|
>>> echo HELLO
|
|
@ -0,0 +1,21 @@
|
||||||
|
printf "=== Capturing STDERR"
|
||||||
|
trace python3 -c 'import sys; sys.stderr.write("STDERR\n")'
|
||||||
|
|
||||||
|
printf "\n=== Capturing STDOUT"
|
||||||
|
trace python3 -c 'import sys; sys.stderr.write("STDOUT\n")'
|
||||||
|
|
||||||
|
printf "\n=== Capturing exit code"
|
||||||
|
trace errcode python3 -c 'raise SystemExit(5)'
|
||||||
|
|
||||||
|
printf "\n=== Capturing exit code (alt)"
|
||||||
|
errcode trace python3 -c 'raise SystemExit(7)'
|
||||||
|
|
||||||
|
printf "\n=== Capturing pwd"
|
||||||
|
trace python3 -c 'import os; print(os.getcwd())'
|
||||||
|
|
||||||
|
printf "\n=== Capturing subdir"
|
||||||
|
trace mkdir -p subdir/a/b/c
|
||||||
|
trace withdir subdir/a/b/c python3 -c 'import os; print(os.getcwd())' | sed 's/\\/\//g'
|
||||||
|
|
||||||
|
printf "\n=== Custom output files - everything starting with out is captured and compared"
|
||||||
|
trace echo HELLO > out.hello.txt
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Badness = "Brief description of what's wrong with the test output, if anything"
|
||||||
|
|
||||||
|
#[GOOS]
|
||||||
|
# Disable on Windows
|
||||||
|
#windows = false
|
||||||
|
|
||||||
|
# Disable on Mac
|
||||||
|
#mac = false
|
||||||
|
|
||||||
|
# Disable on Linux
|
||||||
|
#linux = false
|
Loading…
Reference in New Issue