aboutsummaryrefslogtreecommitdiffstats
path: root/t/chainlint/chain-break-return-exit.test
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2022-09-21 08:13:27 +0800
committerJiang Xin <worldhello.net@gmail.com>2022-09-21 08:13:27 +0800
commit2e2f4dd1e6ac94e7a0dbf212a74a3f1246a99d8e (patch)
treedb706cc504dbf82a30ae2268e44b3208ce902a61 /t/chainlint/chain-break-return-exit.test
parentMerge branch 'master' of github.com:nafmo/git-l10n-sv (diff)
parentA bit more of remaining topics before -rc1 (diff)
downloadgit-2e2f4dd1e6ac94e7a0dbf212a74a3f1246a99d8e.tar.gz
git-2e2f4dd1e6ac94e7a0dbf212a74a3f1246a99d8e.zip
Merge branch 'main' of github.com:git/git
* 'main' of github.com:git/git: (45 commits) A bit more of remaining topics before -rc1 t1800: correct test to handle Cygwin chainlint: colorize problem annotations and test delimiters ls-files: fix black space in error message list-objects-filter: convert filter_spec to a strbuf list-objects-filter: add and use initializers list-objects-filter: handle null default filter spec list-objects-filter: don't memset after releasing filter struct builtin/mv.c: fix possible segfault in add_slash() Documentation/technical: include Scalar technical doc t/perf: add 'GIT_PERF_USE_SCALAR' run option t/perf: add Scalar performance tests scalar-clone: add test coverage scalar: add to 'git help -a' command list scalar: implement the `help` subcommand git help: special-case `scalar` scalar: include in standard Git build & installation scalar: fix command documentation section header t: retire unused chainlint.sed t/Makefile: teach `make test` and `make prove` to run chainlint.pl ...
Diffstat (limited to 't/chainlint/chain-break-return-exit.test')
-rw-r--r--t/chainlint/chain-break-return-exit.test23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/chainlint/chain-break-return-exit.test b/t/chainlint/chain-break-return-exit.test
new file mode 100644
index 0000000000..46542edf88
--- /dev/null
+++ b/t/chainlint/chain-break-return-exit.test
@@ -0,0 +1,23 @@
+case "$(git ls-files)" in
+one) echo pass one ;;
+# LINT: broken &&-chain okay if explicit "return 1" signals failuire
+*) echo bad one; return 1 ;;
+esac &&
+(
+ case "$(git ls-files)" in
+ two) echo pass two ;;
+# LINT: broken &&-chain okay if explicit "exit 1" signals failuire
+ *) echo bad two; exit 1 ;;
+ esac
+) &&
+case "$(git ls-files)" in
+dir/two"$LF"one) echo pass both ;;
+# LINT: broken &&-chain okay if explicit "return 1" signals failuire
+*) echo bad; return 1 ;;
+esac &&
+
+for i in 1 2 3 4 ; do
+# LINT: broken &&-chain okay if explicit "return $?" signals failure
+ git checkout main -b $i || return $?
+ test_commit $i $i $i tag$i || return $?
+done