tests/test-check-config.t
author Adam Simpkins <simpkins@fb.com>
Tue, 27 Jun 2017 17:24:31 -0700
changeset 33116 6c113a7dec52
parent 32940 75be14993fda
child 33195 5d8942dbe49e
permissions -rw-r--r--
tests: use the system hg for examining the local repository Most test scripts use "hg" to interact with a temporary test repository. However a few tests also want to run hg commands to interact with the local repository containing the mercurial source code. Notably, many of the test-check-* tests want to check local files and commit messages. These tests were previously using the version of hg being tested to query the source repository. However, this will fail if the source repository requires extensions or other settings not supported by the version of mercurial being tested. The source repository was typically initially cloned using the system hg installation, so we should use the system hg installation to query it. There was already a helpers-testrepo.sh script designed to help cope with different requirements for the source repository versus the test repositories. However, it only handled the evolve extension. This new behavior works with any extensions that are different between the system installation and the test installation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
#require test-repo
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 27992
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
32846
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     4
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     5
Sanity check check-config.py
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     6
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     7
  $ cat > testfile.py << EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     8
  > # Good
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
     9
  > foo = ui.config('ui', 'username')
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    10
  > # Missing
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    11
  > foo = ui.config('ui', 'doesnotexist')
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    12
  > # Missing different type
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    13
  > foo = ui.configint('ui', 'missingint')
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    14
  > # Missing with default value
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    15
  > foo = ui.configbool('ui', 'missingbool1', default=True)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    16
  > foo = ui.configbool('ui', 'missingbool2', False)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    17
  > EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    18
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    19
  $ cat > files << EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    20
  > mercurial/help/config.txt
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    21
  > $TESTTMP/testfile.py
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    22
  > EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    23
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
  $ cd "$TESTDIR"/..
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32851
diff changeset
    26
  $ $PYTHON contrib/check-config.py < $TESTTMP/files
32846
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    27
  undocumented: ui.doesnotexist (str)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    28
  undocumented: ui.missingbool1 (bool) [True]
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    29
  undocumented: ui.missingbool2 (bool)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    30
  undocumented: ui.missingint (int)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    31
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
New errors are not allowed. Warnings are strongly discouraged.
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
33116
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 32940
diff changeset
    34
  $ syshg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' |
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32851
diff changeset
    35
  >   $PYTHON contrib/check-config.py
32851
cb6436e051ca profiling: allow configuring minimum display threshold for hotpath
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32850
diff changeset
    36
              limit = ui.configwith(fraction, 'profiling', 'showmin', 0.05)
cb6436e051ca profiling: allow configuring minimum display threshold for hotpath
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32850
diff changeset
    37
  
cb6436e051ca profiling: allow configuring minimum display threshold for hotpath
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32850
diff changeset
    38
  conflict on profiling.showmin: ('with', '0.05') != ('with', '0.005')