mirror of https://github.com/databricks/cli.git
acc: Support custom replacements (#2231)
## Changes - Ability to extend a list of replacements via test.toml - Modify selftest to both demo this feature and to get rid of sed on Windows. ## Tests Acceptance tests. I'm also using it https://github.com/databricks/cli/pull/2213 for things like pid.
This commit is contained in:
parent
82b0dd36d6
commit
1cb32eca90
|
@ -190,6 +190,7 @@ func runTest(t *testing.T, dir, coverDir string, repls testdiff.ReplacementsCont
|
||||||
}
|
}
|
||||||
|
|
||||||
repls.SetPathWithParents(tmpDir, "$TMPDIR")
|
repls.SetPathWithParents(tmpDir, "$TMPDIR")
|
||||||
|
repls.Repls = append(repls.Repls, config.Repls...)
|
||||||
|
|
||||||
scriptContents := readMergedScriptContents(t, dir)
|
scriptContents := readMergedScriptContents(t, dir)
|
||||||
testutil.WriteFile(t, filepath.Join(tmpDir, EntryPointScript), scriptContents)
|
testutil.WriteFile(t, filepath.Join(tmpDir, EntryPointScript), scriptContents)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/BurntSushi/toml"
|
"github.com/BurntSushi/toml"
|
||||||
|
"github.com/databricks/cli/libs/testdiff"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -24,6 +25,10 @@ type TestConfig struct {
|
||||||
// Which OSes the test is enabled on. Each string is compared against runtime.GOOS.
|
// Which OSes the test is enabled on. Each string is compared against runtime.GOOS.
|
||||||
// If absent, default to true.
|
// If absent, default to true.
|
||||||
GOOS map[string]bool
|
GOOS map[string]bool
|
||||||
|
|
||||||
|
// List of additional replacements to apply on this test.
|
||||||
|
// Old is a regexp, New is a replacement expression.
|
||||||
|
Repls []testdiff.Replacement
|
||||||
}
|
}
|
||||||
|
|
||||||
// FindConfig finds the closest config file.
|
// FindConfig finds the closest config file.
|
||||||
|
|
|
@ -28,3 +28,8 @@ $TMPDIR/subdir/a/b/c
|
||||||
|
|
||||||
=== Custom output files - everything starting with out is captured and compared
|
=== Custom output files - everything starting with out is captured and compared
|
||||||
>>> echo HELLO
|
>>> echo HELLO
|
||||||
|
|
||||||
|
=== Custom regex can be specified in [[Repl]] section
|
||||||
|
1234
|
||||||
|
CUSTOM_NUMBER_REGEX
|
||||||
|
123456
|
||||||
|
|
|
@ -15,7 +15,12 @@ trace python3 -c 'import os; print(os.getcwd())'
|
||||||
|
|
||||||
printf "\n=== Capturing subdir"
|
printf "\n=== Capturing subdir"
|
||||||
trace mkdir -p subdir/a/b/c
|
trace mkdir -p subdir/a/b/c
|
||||||
trace withdir subdir/a/b/c python3 -c 'import os; print(os.getcwd())' | sed 's/\\/\//g'
|
trace withdir subdir/a/b/c python3 -c 'import os; print(os.getcwd())'
|
||||||
|
|
||||||
printf "\n=== Custom output files - everything starting with out is captured and compared"
|
printf "\n=== Custom output files - everything starting with out is captured and compared"
|
||||||
trace echo HELLO > out.hello.txt
|
trace echo HELLO > out.hello.txt
|
||||||
|
|
||||||
|
printf "\n=== Custom regex can be specified in [[Repl]] section\n"
|
||||||
|
echo 1234
|
||||||
|
echo 12345
|
||||||
|
echo 123456
|
||||||
|
|
|
@ -9,3 +9,12 @@
|
||||||
|
|
||||||
# Disable on Linux
|
# Disable on Linux
|
||||||
#linux = false
|
#linux = false
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
Old = '\b[0-9]{5}\b'
|
||||||
|
New = "CUSTOM_NUMBER_REGEX"
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
# Fix path with reverse slashes in the output for Windows.
|
||||||
|
Old = '\$TMPDIR\\subdir\\a\\b\\c'
|
||||||
|
New = '$$TMPDIR/subdir/a/b/c'
|
||||||
|
|
Loading…
Reference in New Issue