diff --git a/dotdrop/options.py b/dotdrop/options.py index d27fae5..15148a6 100644 --- a/dotdrop/options.py +++ b/dotdrop/options.py @@ -18,6 +18,8 @@ from dotdrop.config import Cfg ENV_PROFILE = 'DOTDROP_PROFILE' ENV_CONFIG = 'DOTDROP_CONFIG' ENV_NOBANNER = 'DOTDROP_NOBANNER' +ENV_DEBUG = 'DOTDROP_DEBUG' +ENV_NODEBUG = 'DOTDROP_FORCE_NODEBUG' BACKUP_SUFFIX = '.dotdropbak' PROFILE = socket.gethostname() @@ -98,6 +100,10 @@ class Options(AttrMonitor): self.args = docopt(USAGE, version=VERSION) self.log = Logger() self.debug = self.args['--verbose'] + if not self.debug and ENV_DEBUG in os.environ: + self.debug = True + if ENV_NODEBUG in os.environ: + self.debug = False self.profile = self.args['--profile'] self.confpath = os.path.expanduser(self.args['--cfg']) if self.debug: diff --git a/tests-ng/actions-args.sh b/tests-ng/actions-args.sh index 86acd3e..fc1f619 100755 --- a/tests-ng/actions-args.sh +++ b/tests-ng/actions-args.sh @@ -84,7 +84,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "test" > ${tmps}/dotfiles/abc diff --git a/tests-ng/actions-pre.sh b/tests-ng/actions-pre.sh index 782bc31..4cc924d 100755 --- a/tests-ng/actions-pre.sh +++ b/tests-ng/actions-pre.sh @@ -106,7 +106,7 @@ profiles: - d_dir - d_dlink _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo 'test' > ${tmps}/dotfiles/abc diff --git a/tests-ng/actions.sh b/tests-ng/actions.sh index 604ea58..f05566d 100755 --- a/tests-ng/actions.sh +++ b/tests-ng/actions.sh @@ -80,7 +80,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "test" > ${tmps}/dotfiles/abc diff --git a/tests-ng/compare-ignore.sh b/tests-ng/compare-ignore.sh index d3f992a..a19229f 100755 --- a/tests-ng/compare-ignore.sh +++ b/tests-ng/compare-ignore.sh @@ -103,12 +103,12 @@ cd ${ddpath} | ${bin} compare -c ${cfg} --verbose --ignore=${patt} [ "$?" = "0" ] && exit 1 set -e -cat ${cfg} +#cat ${cfg} # adding ignore in dotfile cfg2="${basedir}/config2.yaml" sed '/d_config:/a \ \ \ \ cmpignore:\n\ \ \ \ - "*/config/b"' ${cfg} > ${cfg2} -cat ${cfg2} +#cat ${cfg2} # expects one diff echo "[+] comparing with ignore in dotfile - 1 diff" @@ -121,7 +121,7 @@ set -e cfg2="${basedir}/config2.yaml" sed '/d_config:/a \ \ \ \ cmpignore:\n\ \ \ \ - "*b"' ${cfg} > ${cfg2} sed -i '/d_program:/a \ \ \ \ cmpignore:\n\ \ \ \ - "*b"' ${cfg2} -cat ${cfg2} +#cat ${cfg2} # expects no diff patt="*b" diff --git a/tests-ng/duplicate-key.sh b/tests-ng/duplicate-key.sh index 481dca7..0470fd4 100755 --- a/tests-ng/duplicate-key.sh +++ b/tests-ng/duplicate-key.sh @@ -68,7 +68,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the imported one mkdir -p ${tmps}/dotfiles/${tmpd} diff --git a/tests-ng/dynactions.sh b/tests-ng/dynactions.sh index 7ba7963..98d76d4 100755 --- a/tests-ng/dynactions.sh +++ b/tests-ng/dynactions.sh @@ -96,7 +96,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "test" > ${tmps}/dotfiles/abc diff --git a/tests-ng/dyndotfilepaths.sh b/tests-ng/dyndotfilepaths.sh index 4821a3c..e9561ef 100755 --- a/tests-ng/dyndotfilepaths.sh +++ b/tests-ng/dyndotfilepaths.sh @@ -72,7 +72,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ dpath @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/dyninclude.sh b/tests-ng/dyninclude.sh index 1075c8f..f191717 100755 --- a/tests-ng/dyninclude.sh +++ b/tests-ng/dyninclude.sh @@ -84,7 +84,7 @@ profiles: include: - profile{{@@ dvar1 @@}} _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile c1="content:abc" diff --git a/tests-ng/dynvariables.sh b/tests-ng/dynvariables.sh index 54b7801..2e65356 100755 --- a/tests-ng/dynvariables.sh +++ b/tests-ng/dynvariables.sh @@ -81,7 +81,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ var1 @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/header.sh b/tests-ng/header.sh index fd70c08..67a43ca 100755 --- a/tests-ng/header.sh +++ b/tests-ng/header.sh @@ -70,7 +70,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ header() @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/jhelpers.sh b/tests-ng/jhelpers.sh index a6bc816..afc2bcc 100755 --- a/tests-ng/jhelpers.sh +++ b/tests-ng/jhelpers.sh @@ -69,7 +69,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "this is the test dotfile" > ${tmps}/dotfiles/abc @@ -83,12 +83,12 @@ echo "{%@@ if exists('/dev/abcdef') @@%}" >> ${tmps}/dotfiles/abc echo "this should not exist" >> ${tmps}/dotfiles/abc echo "{%@@ endif @@%}" >> ${tmps}/dotfiles/abc -cat ${tmps}/dotfiles/abc +#cat ${tmps}/dotfiles/abc # install cd ${ddpath} | ${bin} install -f -c ${cfg} -p p1 -V -cat ${tmpd}/abc +#cat ${tmpd}/abc grep '^this should exist' ${tmpd}/abc >/dev/null grep -v '^this should not exist' ${tmpd}/abc >/dev/null diff --git a/tests-ng/link-templates-dir-home.sh b/tests-ng/link-templates-dir-home.sh index b57542d..b734c36 100755 --- a/tests-ng/link-templates-dir-home.sh +++ b/tests-ng/link-templates-dir-home.sh @@ -76,7 +76,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile mkdir -p ${tmps}/dotfiles/abc diff --git a/tests-ng/link-templates-dir.sh b/tests-ng/link-templates-dir.sh index 6699e5b..4401e96 100755 --- a/tests-ng/link-templates-dir.sh +++ b/tests-ng/link-templates-dir.sh @@ -76,7 +76,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile mkdir -p ${tmps}/dotfiles/abc diff --git a/tests-ng/link-templates.sh b/tests-ng/link-templates.sh index fb87d58..b242530 100755 --- a/tests-ng/link-templates.sh +++ b/tests-ng/link-templates.sh @@ -76,7 +76,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ profile @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/profile-dynvariables.sh b/tests-ng/profile-dynvariables.sh index 62a3ac1..47436ed 100755 --- a/tests-ng/profile-dynvariables.sh +++ b/tests-ng/profile-dynvariables.sh @@ -93,7 +93,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "===================" > ${tmps}/dotfiles/abc diff --git a/tests-ng/recvariables.sh b/tests-ng/recvariables.sh index 6cced8a..55e9a83 100755 --- a/tests-ng/recvariables.sh +++ b/tests-ng/recvariables.sh @@ -79,7 +79,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "var3: {{@@ var3 @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/transformations.sh b/tests-ng/transformations.sh index 661d7c2..2f1861c 100755 --- a/tests-ng/transformations.sh +++ b/tests-ng/transformations.sh @@ -95,7 +95,7 @@ profiles: - f_def - d_ghi _EOF -cat ${cfg} +#cat ${cfg} # create the base64 dotfile tmpf=`mktemp --suffix='-dotdrop-tests'` diff --git a/tests-ng/update-ignore.sh b/tests-ng/update-ignore.sh index 866dc20..372867a 100755 --- a/tests-ng/update-ignore.sh +++ b/tests-ng/update-ignore.sh @@ -77,7 +77,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} #tree ${dt} diff --git a/tests-ng/update-templates.sh b/tests-ng/update-templates.sh index cfa635a..5fc20ed 100755 --- a/tests-ng/update-templates.sh +++ b/tests-ng/update-templates.sh @@ -75,7 +75,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "head" > ${tmps}/dotfiles/abc @@ -92,14 +92,14 @@ echo "is p1" >> ${tmpd}/abc echo "tail" >> ${tmpd}/abc # update -cat ${tmps}/dotfiles/abc +#cat ${tmps}/dotfiles/abc set +e patch=`cd ${ddpath} | ${bin} update -P -p p1 -k f_abc --cfg ${cfg} 2>&1 | grep 'try patching with' | sed 's/"//g'` set -e patch=`echo ${patch} | sed 's/^.*: //g'` echo "patching with: ${patch}" eval ${patch} -cat ${tmps}/dotfiles/abc +#cat ${tmps}/dotfiles/abc ## CLEANING rm -rf ${tmps} ${tmpd} ${tmpw} diff --git a/tests-ng/variables.sh b/tests-ng/variables.sh index 357351a..5fe620d 100755 --- a/tests-ng/variables.sh +++ b/tests-ng/variables.sh @@ -74,7 +74,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ var1 @@}}" > ${tmps}/dotfiles/abc diff --git a/tests-ng/workdir.sh b/tests-ng/workdir.sh index bee36f0..85954a6 100755 --- a/tests-ng/workdir.sh +++ b/tests-ng/workdir.sh @@ -83,7 +83,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ profile @@}}" > ${tmpf}/abc @@ -138,7 +138,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ profile @@}}" > ${tmpf}/abc @@ -189,7 +189,7 @@ profiles: dotfiles: - f_abc _EOF -cat ${cfg} +#cat ${cfg} # create the dotfile echo "{{@@ profile @@}}" > ${tmpf}/abc diff --git a/tests.sh b/tests.sh index 96d5fe0..5777444 100755 --- a/tests.sh +++ b/tests.sh @@ -25,6 +25,9 @@ which ${nosebin} 2>/dev/null [ "$?" != "0" ] && echo "Install nosetests" && exit 1 set -e +# comment this to get debug info +export DOTDROP_FORCE_NODEBUG= + # execute tests with coverage PYTHONPATH=dotdrop ${nosebin} -s --with-coverage --cover-package=dotdrop #PYTHONPATH=dotdrop python3 -m pytest tests diff --git a/tests/helpers.py b/tests/helpers.py index ff65799..d43d1f2 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -10,7 +10,7 @@ import string import random import tempfile -from dotdrop.options import Options +from dotdrop.options import Options, ENV_NODEBUG from dotdrop.linktypes import LinkTypes from dotdrop.utils import strip_home @@ -128,6 +128,8 @@ def load_options(confpath, profile): o.link = LinkTypes.NOLINK.value o.install_showdiff = True o.debug = True + if ENV_NODEBUG in os.environ: + o.debug = False o.compare_dopts = '' o.variables = {} return o diff --git a/tests/test_compare.py b/tests/test_compare.py index 34f11ec..43553d5 100644 --- a/tests/test_compare.py +++ b/tests/test_compare.py @@ -29,9 +29,9 @@ class TestCompare(unittest.TestCase): def compare(self, o, tmp, nbdotfiles): dotfiles = o.dotfiles self.assertTrue(len(dotfiles) == nbdotfiles) - t = Templategen(base=o.dotpath, debug=True) + t = Templategen(base=o.dotpath, debug=o.debug) inst = Installer(create=o.create, backup=o.backup, - dry=o.dry, base=o.dotpath, debug=True) + dry=o.dry, base=o.dotpath, debug=o.debug) comp = Comparator() results = {} for dotfile in dotfiles: diff --git a/tests/test_install.py b/tests/test_install.py index ea8e5b1..d844322 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -186,7 +186,6 @@ exec bspwm # install them o = load_options(confpath, profile) o.safe = False - o.debug = True o.install_showdiff = True o.variables = {} cmd_install(o) diff --git a/tests/test_update.py b/tests/test_update.py index ba994e0..4b30621 100644 --- a/tests/test_update.py +++ b/tests/test_update.py @@ -94,7 +94,6 @@ class TestUpdate(unittest.TestCase): create=self.CONFIG_CREATE) self.assertTrue(os.path.exists(confpath)) o = load_options(confpath, profile) - o.debug = True o.update_showpatch = True dfiles = [d1, dir1, d2, d3t, dsubstmp] @@ -105,7 +104,6 @@ class TestUpdate(unittest.TestCase): # get new config o = load_options(confpath, profile) o.safe = False - o.debug = True o.update_showpatch = True trans = Transform('trans', 'cp -r {0} {1}') d3tb = os.path.basename(d3t)