tests/test-check-config.t
author Yuya Nishihara <yuya@tcha.org>
Sun, 04 Mar 2018 15:24:45 -0500
changeset 36729 389b950f5190
parent 35393 4441705b7111
child 39707 5abc47d4ca6b
permissions -rw-r--r--
py3: use startswith() instead of slicing to detect leading whitespace
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)
33195
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    17
  > # Inconsistent values for defaults.
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    18
  > foo = ui.configint('ui', 'intdefault', default=1)
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    19
  > foo = ui.configint('ui', 'intdefault', default=42)
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    20
  > # Can suppress inconsistent value error
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    21
  > foo = ui.configint('ui', 'intdefault2', default=1)
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    22
  > # inconsistent config: ui.intdefault2
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    23
  > foo = ui.configint('ui', 'intdefault2', default=42)
32846
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    24
  > EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    25
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    26
  $ cat > files << EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    27
  > mercurial/help/config.txt
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    28
  > $TESTTMP/testfile.py
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    29
  > EOF
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    30
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
  $ cd "$TESTDIR"/..
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32851
diff changeset
    33
  $ $PYTHON contrib/check-config.py < $TESTTMP/files
33195
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    34
  foo = ui.configint('ui', 'intdefault', default=42)
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    35
  conflict on ui.intdefault: ('int', '42') != ('int', '1')
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33570
diff changeset
    36
  at $TESTTMP/testfile.py:12:
32846
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    37
  undocumented: ui.doesnotexist (str)
33195
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    38
  undocumented: ui.intdefault (int) [42]
5d8942dbe49e check-config: syntax to allow inconsistent config values
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33116
diff changeset
    39
  undocumented: ui.intdefault2 (int) [42]
32846
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    40
  undocumented: ui.missingbool1 (bool) [True]
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    41
  undocumented: ui.missingbool2 (bool)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    42
  undocumented: ui.missingint (int)
7c11869cf23a tests: add test coverage for check-config
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29219
diff changeset
    43
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    44
New errors are not allowed. Warnings are strongly discouraged.
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    45
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33195
diff changeset
    46
  $ testrepohg 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
    47
  >   $PYTHON contrib/check-config.py