c3f271481a
Prior to this patch, Dotbot was relying on running with the base directory being the current working directory. In practice, it was relying on the install shim to set up this context. It makes more sense sense to actually execute `chdir()` within Dotbot itself, rather than relying on the install shim to do so.
29 lines
610 B
Bash
29 lines
610 B
Bash
test_description='directory-based plugin loading works'
|
|
. '../test-lib.bash'
|
|
|
|
test_expect_success 'setup' '
|
|
mkdir ${DOTFILES}/plugins
|
|
cat > ${DOTFILES}/plugins/test.py <<EOF
|
|
import dotbot
|
|
import os.path
|
|
|
|
class Test(dotbot.Plugin):
|
|
def can_handle(self, directive):
|
|
return directive == "test"
|
|
|
|
def handle(self, directive, data):
|
|
with open(os.path.expanduser("~/flag"), "w") as f:
|
|
f.write("it works")
|
|
return True
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'run' '
|
|
run_dotbot --plugin-dir ${DOTFILES}/plugins <<EOF
|
|
- test: ~
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'test' '
|
|
grep "it works" ~/flag
|
|
'
|