From 19b97a9dc2073b84c1702317900e5f85c3059a98 Mon Sep 17 00:00:00 2001 From: deadc0de6 Date: Tue, 2 May 2023 23:19:37 +0200 Subject: [PATCH] refactoring --- ...e.sh => compare-global-negative-ignore.sh} | 1 + tests-ng/compare-negative-ignore-relative.sh | 43 +++++++++++-------- tests-ng/compare-negative-ignore.sh | 29 +++++++++---- ...sh => install-negative-ignore-no-match.sh} | 1 + ...re.sh => update-global-negative-ignore.sh} | 1 + 5 files changed, 48 insertions(+), 27 deletions(-) rename tests-ng/{global-compare-negative-ignore.sh => compare-global-negative-ignore.sh} (98%) rename tests-ng/{negative-ignore-no-match.sh => install-negative-ignore-no-match.sh} (99%) rename tests-ng/{global-update-negative-ignore.sh => update-global-negative-ignore.sh} (99%) diff --git a/tests-ng/global-compare-negative-ignore.sh b/tests-ng/compare-global-negative-ignore.sh similarity index 98% rename from tests-ng/global-compare-negative-ignore.sh rename to tests-ng/compare-global-negative-ignore.sh index 0c09a34..eb2dcfa 100755 --- a/tests-ng/global-compare-negative-ignore.sh +++ b/tests-ng/compare-global-negative-ignore.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # author: jtt9340 (https://github.com/jtt9340) +# author: deadc0de6 # # test install cmpignore with negative ignores globally # returns 1 in case of error diff --git a/tests-ng/compare-negative-ignore-relative.sh b/tests-ng/compare-negative-ignore-relative.sh index ea4aaec..b36a909 100755 --- a/tests-ng/compare-negative-ignore-relative.sh +++ b/tests-ng/compare-negative-ignore-relative.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # author: jtt9340 (https://github.com/jtt9340) +# author: deadc0de6 # # test compare negative ignore relative # returns 1 in case of error @@ -37,9 +38,9 @@ clear_on_exit "${tmpd}" # some files mkdir -p "${tmpd}"/program/ignore_me -echo "some data" > "${tmpd}"/program/a -echo "some data" > "${tmpd}"/program/ignore_me/b -echo "some data" > "${tmpd}"/program/ignore_me/c +echo "some data1" > "${tmpd}"/program/a +echo "some data2" > "${tmpd}"/program/ignore_me/b +echo "some data3" > "${tmpd}"/program/ignore_me/c # create the config file cfg="${basedir}/config.yaml" @@ -50,33 +51,35 @@ echo "[+] import" cd "${ddpath}" | ${bin} import -f -c "${cfg}" "${tmpd}"/program # make some changes to generate a diff -echo "some other data" > "${tmpd}"/program/a -echo "some other data" > "${tmpd}"/program/ignore_me/b -echo "some other data" > "${tmpd}"/program/ignore_me/c +echo "changed1" > "${tmpd}"/program/a +echo "changed2" > "${tmpd}"/program/ignore_me/b +echo "changed3" > "${tmpd}"/program/ignore_me/c # expects two diffs (no need to test comparing normal - 3 diffs, as that is taken care of in compare-negative-ignore.sh) patt0="ignore_me/*" patt1="!ignore_me/c" -echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - 2 diffs" +echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - expect 2 diffs" set +e cd "${ddpath}" | ${bin} compare -c "${cfg}" --verbose --ignore="${patt0}" --ignore=${patt1} [ "$?" = "0" ] && exit 1 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg}" --ignore="${patt0}" --ignore=${patt1} | grep '^=> diff' | wc -l) set -e +[ "${cnt}" != "2" ] && echo "bad number of diffs: ${cnt}/2" && exit 1 + ######################################## # Test ignores specified in config.yaml ######################################## # add some files -mkdir -p "${tmpd}"/.zsh -echo "some data" > "${tmpd}"/.zsh/somefile -mkdir -p "${tmpd}"/.zsh/plugins -echo "some data" > "${tmpd}"/.zsh/plugins/someplugin +mkdir -p "${tmpd}/.zsh/plugins" +echo "data1" > "${tmpd}"/.zsh/somefile +echo "data2" > "${tmpd}"/.zsh/plugins/someplugin echo "[+] import .zsh" cd "${ddpath}" | ${bin} import -f -c "${cfg}" "${tmpd}"/.zsh -touch "${tmpd}"/.zsh/plugins/ignore-1.zsh -touch "${tmpd}"/.zsh/plugins/ignore-2.zsh +echo "init1" > "${tmpd}"/.zsh/plugins/ignore-1.zsh +echo "init2" > "${tmpd}"/.zsh/plugins/ignore-2.zsh # adding ignore in config.yaml cfg2="${basedir}/config2.yaml" @@ -89,19 +92,23 @@ sed '/d_zsh:/a\ # expects one diff patt0="plugins/ignore-?.zsh" patt1="!plugins/ignore-2.zsh" -echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - 1 diff" +echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - expect 1 diff" set +e cd "${ddpath}" | ${bin} compare -c "${cfg}" --verbose -C "${tmpd}"/.zsh --ignore="${patt0}" --ignore=${patt1} [ "$?" = "0" ] && exit 1 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg}" -C "${tmpd}"/.zsh --ignore="${patt0}" --ignore=${patt1} | grep 'does not exist in dotdrop$' | wc -l) set -e +[ "${cnt}" != "1" ] && echo "bad number of diffs: ${cnt}/1" && exit 1 + # expects one diff -echo "[+] comparing .zsh with ignore in dotfile - 1 diff expected" +echo "[+] comparing .zsh with ignore in dotfile - expect 1 diff" set +e cd "${ddpath}" | ${bin} compare -c "${cfg2}" --verbose -C "${tmpd}"/.zsh -ret="$?" -echo ${ret} -[ "${ret}" = "0" ] && exit 1 +[ "${?}" = "0" ] && exit 1 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg2}" -C "${tmpd}"/.zsh | grep 'does not exist in dotdrop$' | wc -l) set -e +[ "${cnt}" != "1" ] && echo "bad number of diffs: ${cnt}/1" && exit 1 + echo "OK" diff --git a/tests-ng/compare-negative-ignore.sh b/tests-ng/compare-negative-ignore.sh index facbb23..f980395 100755 --- a/tests-ng/compare-negative-ignore.sh +++ b/tests-ng/compare-negative-ignore.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # author: jtt9340 (https://github.com/jtt9340) +# author: deadc0de6 # # test install negative ignore absolute/relative # returns 1 in case of error @@ -44,9 +45,9 @@ clear_on_exit "${tmpd}" # some files mkdir -p "${tmpd}"/program/ignore_me -echo "some data" > "${tmpd}"/program/a -echo "some data" > "${tmpd}"/program/ignore_me/b -echo "some data" > "${tmpd}"/program/ignore_me/c +echo "data1" > "${tmpd}"/program/a +echo "data2" > "${tmpd}"/program/ignore_me/b +echo "data3" > "${tmpd}"/program/ignore_me/c # create the config file cfg="${basedir}/config.yaml" @@ -57,25 +58,32 @@ echo "[+] import" cd "${ddpath}" | ${bin} import -f -c "${cfg}" "${tmpd}"/program # make some changes to generate a diff -echo "some other data" > "${tmpd}"/program/a -echo "some other data" > "${tmpd}"/program/ignore_me/b -echo "some other data" > "${tmpd}"/program/ignore_me/c +echo "changed1" > "${tmpd}"/program/a +echo "changed1" > "${tmpd}"/program/ignore_me/b +echo "changed1" > "${tmpd}"/program/ignore_me/c -echo "[+] comparing normal - 3 diffs" +echo "[+] comparing normal - 3 diffs expected" set +e cd "${ddpath}" | ${bin} compare -c "${cfg}" --verbose [ "$?" = 0 ] && exit 1 # We don't want an exit status of 0 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg}" | grep '^=> diff' | wc -l) set -e +[ "${cnt}" != "3" ] && echo "bad number of diff: ${cnt}/3" && exit 1 + # expects two diffs patt0="*/ignore_me/*" patt1="!*/ignore_me/c" -echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - 2 diffs" +echo "[+] comparing with ignore (patterns: ${patt0} and ${patt1}) - 2 diffs expected" set +e cd "${ddpath}" | ${bin} compare -c "${cfg}" --verbose --ignore="${patt0}" --ignore="${patt1}" [ "$?" = "0" ] && exit 1 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg}" --ignore="${patt0}" --ignore="${patt1}" | grep '^=> diff' | wc -l) set -e +[ "${cnt}" != "2" ] && echo "bad number of diff: ${cnt}/2" && exit 1 + + # Adding ignore in dotfile cfg2="${basedir}/config2.yaml" # shellcheck disable=SC1004 @@ -86,11 +94,14 @@ sed '/d_program:/a\ ' "${cfg}" > "${cfg2}" # still expects two diffs -echo "[+] comparing with ignore in dotfile - 2 diffs" +echo "[+] comparing with ignore in dotfile - 2 diffs expected" set +e cd "${ddpath}" | ${bin} compare -c "${cfg2}" --verbose [ "$?" = "0" ] && exit 1 +cnt=$(cd "${ddpath}" | ${bin} compare -c "${cfg2}" | grep '^=> diff' | wc -l) set -e +[ "${cnt}" != "2" ] && echo "bad number of diff: ${cnt}/2" && exit 1 + echo "OK" exit 0 diff --git a/tests-ng/negative-ignore-no-match.sh b/tests-ng/install-negative-ignore-no-match.sh similarity index 99% rename from tests-ng/negative-ignore-no-match.sh rename to tests-ng/install-negative-ignore-no-match.sh index 14b05b0..42d1547 100755 --- a/tests-ng/negative-ignore-no-match.sh +++ b/tests-ng/install-negative-ignore-no-match.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # author: jtt9340 (https://github.com/jtt9340) +# author: deadc0de6 # # test that dotdrop warns when a negative ignore pattern # does not match a file that would be ignored diff --git a/tests-ng/global-update-negative-ignore.sh b/tests-ng/update-global-negative-ignore.sh similarity index 99% rename from tests-ng/global-update-negative-ignore.sh rename to tests-ng/update-global-negative-ignore.sh index 14793e1..6a2b836 100755 --- a/tests-ng/global-update-negative-ignore.sh +++ b/tests-ng/update-global-negative-ignore.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # author: jtt9340 (https://github.com/jtt9340) +# author: deadc0de6 # # test global negative ignore update # returns 1 in case of error