Add tests for canonicalize-path
This commit is contained in:
parent
138fdbc8d7
commit
320d5d0123
3 changed files with 45 additions and 2 deletions
|
@ -73,10 +73,10 @@ def main():
|
||||||
if not isinstance(tasks, list):
|
if not isinstance(tasks, list):
|
||||||
raise ReadingError('Configuration file must be a list of tasks')
|
raise ReadingError('Configuration file must be a list of tasks')
|
||||||
if options.base_directory:
|
if options.base_directory:
|
||||||
base_directory = options.base_directory
|
base_directory = os.path.abspath(options.base_directory)
|
||||||
else:
|
else:
|
||||||
# default to directory of config file
|
# default to directory of config file
|
||||||
base_directory = os.path.dirname(os.path.realpath(options.config_file))
|
base_directory = os.path.dirname(os.path.abspath(options.config_file))
|
||||||
os.chdir(base_directory)
|
os.chdir(base_directory)
|
||||||
dispatcher = Dispatcher(base_directory)
|
dispatcher = Dispatcher(base_directory)
|
||||||
success = dispatcher.dispatch(tasks)
|
success = dispatcher.dispatch(tasks)
|
||||||
|
|
20
test/tests/link-canonicalize.bash
Normal file
20
test/tests/link-canonicalize.bash
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
test_description='linking canonicalizes path by default'
|
||||||
|
. '../test-lib.bash'
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
echo "apple" > ${DOTFILES}/f &&
|
||||||
|
ln -s dotfiles dotfiles-symlink
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'run' '
|
||||||
|
cat > "${DOTFILES}/${INSTALL_CONF}" <<EOF
|
||||||
|
- link:
|
||||||
|
~/.f:
|
||||||
|
path: f
|
||||||
|
EOF
|
||||||
|
${DOTBOT_EXEC} -c dotfiles-symlink/${INSTALL_CONF}
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test' '
|
||||||
|
[ "$(readlink ~/.f | cut -d/ -f4-)" = "dotfiles/f" ]
|
||||||
|
'
|
23
test/tests/link-no-canonicalize.bash
Normal file
23
test/tests/link-no-canonicalize.bash
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
test_description='linking path canonicalization can be disabled'
|
||||||
|
. '../test-lib.bash'
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
echo "apple" > ${DOTFILES}/f &&
|
||||||
|
ln -s dotfiles dotfiles-symlink
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'run' '
|
||||||
|
cat > "${DOTFILES}/${INSTALL_CONF}" <<EOF
|
||||||
|
- defaults:
|
||||||
|
link:
|
||||||
|
canonicalize-path: false
|
||||||
|
- link:
|
||||||
|
~/.f:
|
||||||
|
path: f
|
||||||
|
EOF
|
||||||
|
${DOTBOT_EXEC} -c ./dotfiles-symlink/${INSTALL_CONF}
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'test' '
|
||||||
|
[ "$(readlink ~/.f | cut -d/ -f4-)" = "dotfiles-symlink/f" ]
|
||||||
|
'
|
Loading…
Reference in a new issue