39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
#!/usr/bin/env nu
|
|
let tempdir = (mktemp --directory)
|
|
let template = $env.PWD
|
|
|
|
for command_is_simple in [Yes, No] {
|
|
for multi_command in [Yes, No] {
|
|
print ($"Testing with command_is_simple=($command_is_simple), " ++
|
|
$"multi_command=($multi_command)")
|
|
let result = (do {
|
|
do --capture-errors {
|
|
cd $tempdir
|
|
(
|
|
^cargo generate
|
|
--path $template
|
|
--force
|
|
--silent
|
|
--name nu_plugin_test_plugin
|
|
--define command_name="test command"
|
|
--define $"command_is_simple=($command_is_simple)"
|
|
--define $"multi_command=($multi_command)"
|
|
--define github_username=
|
|
)
|
|
do { cd nu_plugin_test_plugin; ^cargo test }
|
|
rm -r nu_plugin_test_plugin
|
|
}
|
|
} | complete)
|
|
|
|
if $result.exit_code != 0 {
|
|
print -e ($"Failed with command_is_simple=($command_is_simple), " ++
|
|
$"multi_command=($multi_command)")
|
|
rm -rf $tempdir
|
|
error make { msg: $result.stderr }
|
|
}
|
|
}
|
|
}
|
|
|
|
rm -rf $tempdir
|
|
print "All tests passed."
|