tests/test-hgrc.t
author Matt Mackall <mpm@selenic.com>
Tue, 21 Sep 2010 16:44:13 -0500
changeset 12366 c01dc9087d9a
parent 12109 51272b65b9b7
child 12372 5163e3c8aa52
permissions -rw-r--r--
tests: drop a bunch of sed calls from unified tests

  $ echo "invalid" > $HGRCPATH
  $ hg version
  hg: parse error at .*/\.hgrc:1: invalid
  [255]
  $ echo "" > $HGRCPATH

issue1199: escaping

  $ hg init "foo%bar"
  $ hg clone "foo%bar" foobar
  updating to branch default
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ p=`pwd`
  $ cd foobar
  $ cat .hg/hgrc
  [paths]
  default = .*/foo%bar
  $ hg paths
  default = .*/foo%bar
  $ hg showconfig
  bundle.mainreporoot=.*/foobar
  paths.default=.*/foo%bar
  $ cd ..

issue1829: wrong indentation

  $ echo '[foo]' > $HGRCPATH
  $ echo '  x = y' >> $HGRCPATH
  $ hg version
  hg: parse error at .*/\.hgrc:2:   x = y
  [255]

  $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
  > > $HGRCPATH
  $ hg showconfig foo
  foo.bar=a\nb\nc\nde\nfg
  foo.baz=bif cb

  $ FAKEPATH=/path/to/nowhere
  $ export FAKEPATH
  $ echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
  $ hg version
  hg: parse error at .*/.hgrc:1: cannot include /path/to/nowhere/no-such-file \(No such file or directory\)
  [255]
  $ unset FAKEPATH

username expansion

  $ olduser=$HGUSER
  $ unset HGUSER

  $ FAKEUSER='John Doe'
  $ export FAKEUSER
  $ echo '[ui]' > $HGRCPATH
  $ echo 'username = $FAKEUSER' >> $HGRCPATH

  $ hg init usertest
  $ cd usertest
  $ touch bar
  $ hg commit --addremove --quiet -m "added bar"
  $ hg log --template "{author}\n"
  John Doe
  $ cd ..

  $ hg showconfig
  ui.username=$FAKEUSER

  $ unset FAKEUSER
  $ HGUSER=$olduser
  $ export HGUSER

HGPLAIN

  $ cd ..
  $ p=`pwd`
  $ echo "[ui]" > $HGRCPATH
  $ echo "debug=true" >> $HGRCPATH
  $ echo "fallbackencoding=ASCII" >> $HGRCPATH
  $ echo "quiet=true" >> $HGRCPATH
  $ echo "slash=true" >> $HGRCPATH
  $ echo "traceback=true" >> $HGRCPATH
  $ echo "verbose=true" >> $HGRCPATH
  $ echo "style=~/.hgstyle" >> $HGRCPATH
  $ echo "logtemplate={node}" >> $HGRCPATH
  $ echo "[defaults]" >> $HGRCPATH
  $ echo "identify=-n" >> $HGRCPATH
  $ echo "[alias]" >> $HGRCPATH
  $ echo "log=log -g" >> $HGRCPATH

customized hgrc

  $ hg showconfig
  read config from: .*/.hgrc
  .*/.hgrc:13: alias.log=log -g
  .*/.hgrc:11: defaults.identify=-n
  .*/.hgrc:2: ui.debug=true
  .*/.hgrc:3: ui.fallbackencoding=ASCII
  .*/.hgrc:4: ui.quiet=true
  .*/.hgrc:5: ui.slash=true
  .*/.hgrc:6: ui.traceback=true
  .*/.hgrc:7: ui.verbose=true
  .*/.hgrc:8: ui.style=~/.hgstyle
  .*/.hgrc:9: ui.logtemplate={node}

plain hgrc

  $ HGPLAIN=; export HGPLAIN
  $ hg showconfig --config ui.traceback=True --debug
  read config from: .*/.hgrc
  none: ui.traceback=True
  none: ui.verbose=False
  none: ui.debug=True
  none: ui.quiet=False