sapling/tests/test-check-config.t
Gregory Szorc e4b6d44784 check-config: syntax to allow inconsistent config values
The ignore regular expression has been updated to detect
"inconsistent config." If present, we track which configs have
that set and we suppress the conflicting defaults error for those
options.

I also added named groups to the regexp to aid readability.

A comment was added to profiling.py to make a desired inconsistent
value error go away.
2017-07-01 20:34:27 -07:00

48 lines
1.5 KiB
Raku

#require test-repo
$ . "$TESTDIR/helpers-testrepo.sh"
Sanity check check-config.py
$ cat > testfile.py << EOF
> # Good
> foo = ui.config('ui', 'username')
> # Missing
> foo = ui.config('ui', 'doesnotexist')
> # Missing different type
> foo = ui.configint('ui', 'missingint')
> # Missing with default value
> foo = ui.configbool('ui', 'missingbool1', default=True)
> foo = ui.configbool('ui', 'missingbool2', False)
> # Inconsistent values for defaults.
> foo = ui.configint('ui', 'intdefault', default=1)
> foo = ui.configint('ui', 'intdefault', default=42)
> # Can suppress inconsistent value error
> foo = ui.configint('ui', 'intdefault2', default=1)
> # inconsistent config: ui.intdefault2
> foo = ui.configint('ui', 'intdefault2', default=42)
> EOF
$ cat > files << EOF
> mercurial/help/config.txt
> $TESTTMP/testfile.py
> EOF
$ cd "$TESTDIR"/..
$ $PYTHON contrib/check-config.py < $TESTTMP/files
foo = ui.configint('ui', 'intdefault', default=42)
conflict on ui.intdefault: ('int', '42') != ('int', '1')
undocumented: ui.doesnotexist (str)
undocumented: ui.intdefault (int) [42]
undocumented: ui.intdefault2 (int) [42]
undocumented: ui.missingbool1 (bool) [True]
undocumented: ui.missingbool2 (bool)
undocumented: ui.missingint (int)
New errors are not allowed. Warnings are strongly discouraged.
$ syshg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' |
> $PYTHON contrib/check-config.py