From 7ffaa65482a59fa485e7a8f19fe07a33694fc157 Mon Sep 17 00:00:00 2001 From: Anish Athalye Date: Wed, 25 Mar 2020 21:38:39 -0400 Subject: Add --only and --except command-line arguments Internal to Dotbot, we use the name "skip" instead of "except", because the latter is a keyword, and using a name like "except_" didn't seem as nice. --- test/tests/except-multi.bash | 21 +++++++++++++++++++++ test/tests/except.bash | 31 +++++++++++++++++++++++++++++++ test/tests/only-multi.bash | 20 ++++++++++++++++++++ test/tests/only.bash | 31 +++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 test/tests/except-multi.bash create mode 100644 test/tests/except.bash create mode 100644 test/tests/only-multi.bash create mode 100644 test/tests/only.bash (limited to 'test') diff --git a/test/tests/except-multi.bash b/test/tests/except-multi.bash new file mode 100644 index 0000000..4193e66 --- /dev/null +++ b/test/tests/except-multi.bash @@ -0,0 +1,21 @@ +test_description='--except with multiple arguments' +. '../test-lib.bash' + +test_expect_success 'setup' ' +ln -s ${DOTFILES}/nonexistent ~/bad && touch ${DOTFILES}/y +' + +test_expect_success 'run' ' +run_dotbot --except clean shell < ~/x +- link: + ~/y: y +EOF +' + +test_expect_success 'test' ' +[ "$(readlink ~/bad | cut -d/ -f4-)" = "dotfiles/nonexistent" ] && + ! test -f ~/x && test -f ~/y +' diff --git a/test/tests/except.bash b/test/tests/except.bash new file mode 100644 index 0000000..356eaef --- /dev/null +++ b/test/tests/except.bash @@ -0,0 +1,31 @@ +test_description='--except' +. '../test-lib.bash' + +test_expect_success 'setup' ' +echo "apple" > ${DOTFILES}/x +' + +test_expect_success 'run' ' +run_dotbot --except link < ~/y +- link: + ~/x: x +EOF +' + +test_expect_success 'test' ' +grep "pear" ~/y && ! test -f ~/x +' + +test_expect_success 'run 2' ' +run_dotbot --except shell < ~/z +- link: + ~/x: x +' + +test_expect_success 'test' ' +grep "apple" ~/x && ! test -f ~/z +' diff --git a/test/tests/only-multi.bash b/test/tests/only-multi.bash new file mode 100644 index 0000000..e8d8362 --- /dev/null +++ b/test/tests/only-multi.bash @@ -0,0 +1,20 @@ +test_description='--only with multiple arguments' +. '../test-lib.bash' + +test_expect_success 'setup' ' +ln -s ${DOTFILES}/nonexistent ~/bad && touch ${DOTFILES}/y +' + +test_expect_success 'run' ' +run_dotbot --only clean shell < ~/x +- link: + ~/y: y +EOF +' + +test_expect_success 'test' ' +! test -f ~/bad && grep "x" ~/x && ! test -f ~/y +' diff --git a/test/tests/only.bash b/test/tests/only.bash new file mode 100644 index 0000000..5222881 --- /dev/null +++ b/test/tests/only.bash @@ -0,0 +1,31 @@ +test_description='--only' +. '../test-lib.bash' + +test_expect_success 'setup' ' +echo "apple" > ${DOTFILES}/x +' + +test_expect_success 'run' ' +run_dotbot --only shell < ~/y +- link: + ~/x: x +EOF +' + +test_expect_success 'test' ' +grep "pear" ~/y && ! test -f ~/x +' + +test_expect_success 'run 2' ' +run_dotbot --only link < ~/z +- link: + ~/x: x +' + +test_expect_success 'test' ' +grep "apple" ~/x && ! test -f ~/z +' -- cgit v1.2.3