From 8c26bfec32441830b4a0e5938a6cc7de1a64ff99 Mon Sep 17 00:00:00 2001 From: Mike Burns Date: Mon, 5 May 2014 11:08:02 +0200 Subject: Add a hostname override Based on issue #82, we now provide `-B` to override the hostname. In particular: - `mkrc -B foo` will enable `-o` but with the hostname set up `foo`. - `lsrc -B foo` will work like normal `lsrc` except it treats `host-foo` as the host-specific directory. - `rcup -B foo` will run a normal `rcup` except `host-foo` is the host-specific directory. - `rcdn -B foo` is just like normal `rcdn`, but with `host-foo` as the host-specific directory. The `HOSTNAME` can also be set in the rcrc(5), and this is overridden by the aforementioned `-B`. While making this change: The `test/Makefile.am` used a mix of tabs and spaces. Since it's a Makefile, replace it all with tabs. --- test/Makefile.am | 37 ++++++++++++++++++++----------------- test/lsrc-hostname.t | 4 ++++ test/mkrc-hostname.t | 9 +++++++++ test/rcrc-custom.t | 2 +- test/rcrc-hostname.t | 21 +++++++++++++++++++++ test/rcup-hostname.t | 14 ++++++++++++++ 6 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 test/mkrc-hostname.t create mode 100644 test/rcrc-hostname.t create mode 100644 test/rcup-hostname.t (limited to 'test') diff --git a/test/Makefile.am b/test/Makefile.am index 9cbc6b2..53dcf0b 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,20 +1,23 @@ TESTS = \ - lsrc-dotfiles-dirs.t \ - lsrc-excludes.t \ - lsrc-hostname.t \ - lsrc-sigils.t \ - lsrc.t \ - lsrc-tags.t \ - lsrc-usage.t \ - mkrc-alternate-dotfiles-dir.t \ - mkrc-copy-file.t \ - mkrc-host-file.t \ - mkrc-simple-output.t \ - mkrc-tagged-file.t \ - mkrc-usage.t \ - rcrc-custom.t \ - rcrc.t \ - rcup-link-files.t \ - rcup-usage.t + lsrc-dotfiles-dirs.t \ + lsrc-excludes.t \ + lsrc-hostname.t \ + lsrc-sigils.t \ + lsrc.t \ + lsrc-tags.t \ + lsrc-usage.t \ + mkrc-alternate-dotfiles-dir.t \ + mkrc-copy-file.t \ + mkrc-host-file.t \ + mkrc-hostname.t \ + mkrc-simple-output.t \ + mkrc-tagged-file.t \ + mkrc-usage.t \ + rcrc-custom.t \ + rcrc-hostname.t \ + rcrc.t \ + rcup-link-files.t \ + rcup-hostname.t \ + rcup-usage.t LOG_COMPILER = cram diff --git a/test/lsrc-hostname.t b/test/lsrc-hostname.t index 9170c74..35ad0fe 100644 --- a/test/lsrc-hostname.t +++ b/test/lsrc-hostname.t @@ -11,3 +11,7 @@ Should include entries that match hostname $ lsrc /*/.example:/*/.dotfiles/example (glob) /*/.h-example:/*/.dotfiles/host-*/h-example (glob) + + $ lsrc -B not-hostname + /*/.example:/*/.dotfiles/example (glob) + /*/.nh-example:/*/.dotfiles/host-*/nh-example (glob) diff --git a/test/mkrc-hostname.t b/test/mkrc-hostname.t new file mode 100644 index 0000000..849af75 --- /dev/null +++ b/test/mkrc-hostname.t @@ -0,0 +1,9 @@ + $ . "$TESTDIR/helper.sh" + +Able to override the hostname + + $ touch .example + + $ mkrc -B another_thing .example >/dev/null + + $ assert_linked "$HOME/.example" "$HOME/.dotfiles/host-another_thing/example" diff --git a/test/rcrc-custom.t b/test/rcrc-custom.t index 658099d..9c1c7a3 100644 --- a/test/rcrc-custom.t +++ b/test/rcrc-custom.t @@ -1,6 +1,6 @@ $ . "$TESTDIR/helper.sh" -mkrc should accept -r for a custom rcrc +mkrc should accept a custom rcrc $ touch .example > mkdir .other-dotfiles diff --git a/test/rcrc-hostname.t b/test/rcrc-hostname.t new file mode 100644 index 0000000..1008cd9 --- /dev/null +++ b/test/rcrc-hostname.t @@ -0,0 +1,21 @@ + $ . "$TESTDIR/helper.sh" + +The hostname can be set in ~/.rcrc + + $ touch .dotfiles/example + > mkdir .dotfiles/host-$(hostname) + > touch .dotfiles/host-$(hostname)/h-example + > mkdir .dotfiles/host-eggplant_firetruck + > touch .dotfiles/host-eggplant_firetruck/nh-example + > mkdir .dotfiles/host-haircut_hammer + > touch .dotfiles/host-haircut_hammer/nh-example + + $ echo 'HOSTNAME="eggplant_firetruck"' > $HOME/.rcrc + + $ lsrc + /*/.example:/*/.dotfiles/example (glob) + /*/.nh-example:/*/.dotfiles/host-eggplant_firetruck/nh-example (glob) + + $ lsrc -B haircut_hammer + /*/.example:/*/.dotfiles/example (glob) + /*/.nh-example:/*/.dotfiles/host-haircut_hammer/nh-example (glob) diff --git a/test/rcup-hostname.t b/test/rcup-hostname.t new file mode 100644 index 0000000..b85dbb8 --- /dev/null +++ b/test/rcup-hostname.t @@ -0,0 +1,14 @@ + $ . "$TESTDIR/helper.sh" + +Should create symlinks for files and directories in the hostname + + $ touch .dotfiles/example + > mkdir .dotfiles/host-awesome_host/ + > touch .dotfiles/host-awesome_host/example2 + > mkdir .dotfiles/host-$(hostname)/ + > touch .dotfiles/host-$(hostname)/example3 + + $ rcup -B awesome_host > /dev/null + + $ assert_linked "$HOME/.example" "$HOME/.dotfiles/example" + $ assert_linked "$HOME/.example2" "$HOME/.dotfiles/host-awesome_host/example2" -- cgit v1.2.3