stow/t
Charles LeDoux 9674738792 Apply environment expansion to options in .stowrc files
Expand environment variables used in stowrc, as requested in

    https://savannah.gnu.org/bugs/?41826

This is achieved by creating a new function expand_environment() that
replaces any substring of the form '$VAR' or '${VAR}' with contents of
environment variable $VAR.  Literal '$' can be given by '\$'.

N.B. The function is only applied to the --target and --dir options,
and only for options specified in .stowrc; cli options are left
untouched.

Undefined variables are expanded to the empty string, as they would be
in normal shell parameter expansion.

Unit tests added accordingly:

  - Test expand_environment():
    * Expand $HOME
    * Expand ${HOME}
    * Expand ${WITH SPACE}
    * Expand '\$HOME'. Expected is '$HOME'
    * Expand ${UNDEFINED}. Expected is ''.

  - Test that it's applied to the correct options.

  - Test that CLI options are not expanded.
2019-06-25 19:38:26 +01:00
..
chkstow.t Use make_invalid_link() to reliably setup symlink fixtures. 2012-02-18 20:33:34 +00:00
cleanup_invalid_links.t Use make_invalid_link() to reliably setup symlink fixtures. 2012-02-18 20:33:34 +00:00
cli.t Return non-zero exit code when invalid option is specified (#34) 2019-06-25 15:43:08 +01:00
cli_options.t Apply environment expansion to options in .stowrc files 2019-06-25 19:38:26 +01:00
defer.t Numerous fixes so that `make distcheck' succeeds. 2011-11-26 16:34:57 +00:00
dotfiles.t Make dotfiles.t executable for consistency with other tests 2019-06-25 14:30:30 +01:00
examples.t Remove accidentally duplicated code. 2012-02-19 19:16:00 +00:00
find_stowed_path.t Numerous fixes so that `make distcheck' succeeds. 2011-11-26 16:34:57 +00:00
foldable.t Numerous fixes so that `make distcheck' succeeds. 2011-11-26 16:34:57 +00:00
ignore.t Add another ignore example to the manual and test suite. 2011-12-21 11:45:43 +00:00
join_paths.t Add another test to join_paths.t 2011-11-26 15:10:28 +00:00
parent.t Clean up coding style in tests 2011-11-26 15:10:28 +00:00
rc_options.t Apply environment expansion to options in .stowrc files 2019-06-25 19:38:26 +01:00
stow.t fix stowing of relative links when --no-folding is used 2015-01-01 19:02:46 +00:00
testutil.pm Change init_test_dirs to point $HOME at $OUT_DIRS 2019-06-25 19:38:25 +01:00
unstow.t make it more obvious when target (sub)directory is skipped 2014-09-23 01:37:54 +01:00
unstow_orig.t make it more obvious when target (sub)directory is skipped 2014-09-23 01:37:54 +01:00