diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-11-10 15:25:23 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-11-10 15:25:23 +0100 |
commit | aa727b8868b428a6b75e0d48a854be65242b257c (patch) | |
tree | 37be2eeff0f50effca07977eec99b7b5364bdddb | |
parent | ba7820b18c0ee8631505f7a2a764f7222a732d44 (diff) | |
download | app.sh-master.tar.gz app.sh-master.tar.bz2 app.sh-master.tar.xz app.sh-master.zip |
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | STYLE-GUIDE.txt | 13 | ||||
-rwxr-xr-x | test/app-upgrade.bats | 15 |
3 files changed, 25 insertions, 10 deletions
@@ -7,16 +7,19 @@ TESTS=$(addprefix test-,$(BATS)) test-%: @echo === $@ - @bats $(patsubst test-%,test/%,$@) + @PATH=test/bats/bin:$(PATH) bats $(patsubst test-%,test/%,$@) show-tests: @echo BATS=$(BATS) @echo TESTS=$(TESTS) @echo $(addprefix set_header-,$(BINS)) -test: $(TESTS) +test: test/bats $(TESTS) .PHONY: test +test/bats: + cd test && git clone git://github.com/sstephenson/bats.git + clean: @make -s -C docs clean .PHONY: clean diff --git a/STYLE-GUIDE.txt b/STYLE-GUIDE.txt index 77dce24..4eab7c2 100644 --- a/STYLE-GUIDE.txt +++ b/STYLE-GUIDE.txt @@ -43,8 +43,21 @@ usage_text() { Executing Commands ================== +When chaining commands look at `pipefail`. + * http://unix.stackexchange.com/q/23026 +If you want to fail this shell if a sub-shell fails, use this form: + +---------------------------------------------------------------------- +ENV=$(app conf get app.env) || false +---------------------------------------------------------------------- + +The sub-shell will exit with a non-zero exit code, but even with `-e` +set bash won't exit the current shell. + +See also http://www.fvue.nl/wiki/Bash:_Error_handling. + Parsing options =============== diff --git a/test/app-upgrade.bats b/test/app-upgrade.bats index 9a282e3..28841f3 100755 --- a/test/app-upgrade.bats +++ b/test/app-upgrade.bats @@ -58,13 +58,12 @@ load utils # Try to reinstall the same file rm fail-pre-install app upgrade - eq '${lines[0]}' "Resolving version " - eq '${lines[1]}' "Resolved version to 1359766920" - eq '${lines[2]}' "Version 1359766920 is already unpacked" - eq '${lines[3]}' "Importing config from versions/1359766920/app.config" - eq '${lines[4]}' "pre-install" - eq '${lines[5]}' "Changing current symlink from 1356998460 to 1359766920" - eq '${lines[6]}' "post-install" - + eq '${lines[0]}' "Resolving version " + eq '${lines[1]}' "Resolved version to 1359766920" + eq '${lines[2]}' "Version 1359766920 is already unpacked" + eq '${lines[3]}' "Importing config from versions/1359766920/app.config" + eq '${lines[4]}' "pre-install" + eq '${lines[5]}' "Changing current symlink from 1356998460 to 1359766920" + eq '${lines[6]}' "post-install" eq '${#lines[*]}' 7 } |