tests/test-globalopts
author Renato Cunha <renatoc@gmail.com>
Tue, 03 Aug 2010 13:52:48 -0300
changeset 11748 37a70a784397
parent 7429 dbc40381620e
permissions -rwxr-xr-x
py3kcompat: added a "compatibility layer" for py3k This patch adds some ugly constructs. The first of them is bytesformatter, a function that formats strings like when '%' is called. The main motivation for this function is py3k's strange behavior: >>> 'foo %s' % b'bar' "foo b'bar'" >>> b'foo %s' % b'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes' >>> b'foo %s' % 'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'str' In other words, if we can't format bytes with bytes, and recall that all mercurial strings will be converted by a fixer, then things will break badly if we don't take a similar approach. The other addition with this patch is that the os.environ dictionary is monkeypatched to have bytes items. Hopefully this won't be needed in the future, as python 3.2 might get a os.environb dictionary that holds bytes items.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
7429
dbc40381620e tests: Skip tests if they will fail because of outer repo
Mads Kiilerich <mads@kiilerich.com>
parents: 6150
diff changeset
     3
"$TESTDIR/hghave" no-outer-repo || exit 80
dbc40381620e tests: Skip tests if they will fail because of outer repo
Mads Kiilerich <mads@kiilerich.com>
parents: 6150
diff changeset
     4
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     5
hg init a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     6
cd a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     7
echo a > a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     8
hg ci -A -d'1 0' -m a
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    10
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    11
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    12
hg init b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    13
cd b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    14
echo b > b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    15
hg ci -A -d'1 0' -m b
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    16
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    17
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    18
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    19
hg clone a c
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    20
cd c
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    21
hg pull -f ../b
4365
46280c004f22 change tests to use simplemerge by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2843
diff changeset
    22
hg merge
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    23
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    24
cd ..
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    25
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    26
echo %% -R/--repository
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    27
hg -R a tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    28
hg --repository b tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    29
6150
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    30
echo %% implicit -R
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    31
hg ann a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    32
hg ann a/a a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    33
hg ann a/a b/b
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    34
hg -R b ann a/a
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    35
hg log
aafdea37f796 Infer a --repository argument from command arguments when reasonable.
Jesse Glick <jesse.glick@sun.com>
parents: 4734
diff changeset
    36
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    37
echo %% abbrev of long option
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    38
hg --repo c tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    39
4728
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    40
echo "%% earlygetopt with duplicate options (36d23de02da1)"
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    41
hg --cwd a --cwd b --cwd c tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    42
hg --repo c --repository b -R a tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    43
4732
b0520e3903fe Disallow short earlygetop option combined with other short options
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4728
diff changeset
    44
echo "%% earlygetopt short option without following space"
4728
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    45
hg -q -Rb tip
7bb5bcb089e3 Added test for earlygetopt fixes (36d23de02da1 and 79cc512a34ed)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    46
4734
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    47
echo "%% earlygetopt with illegal abbreviations"
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    48
hg --confi "foo.bar=baz"
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    49
hg --cw a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    50
hg --rep a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    51
hg --repositor a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    52
hg -qR a tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    53
hg -qRa tip
9ac493f12901 Abort if earlygetopt fails to detect an option.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4732
diff changeset
    54
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    55
echo %% --cwd
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    56
hg --cwd a parents
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    57
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    58
echo %% -y/--noninteractive - just be sure it is parsed
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    59
hg --cwd a tip -q --noninteractive
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    60
hg --cwd a tip -q -y
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    61
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    62
echo %% -q/--quiet
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    63
hg -R a -q tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    64
hg -R b -q tip
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    65
hg -R c --quiet parents
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    66
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    67
echo %% -v/--verbose
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    68
hg --cwd c head -v
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    69
hg --cwd b tip --verbose
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    70
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    71
echo %% --config
2843
0b9ac7dfcf56 Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents: 2528
diff changeset
    72
hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    73
hg --cwd c --config '' tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    74
hg --cwd c --config a.b tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    75
hg --cwd c --config a tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    76
hg --cwd c --config a.= tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    77
hg --cwd c --config .b= tip -q
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    78
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    79
echo %% --debug
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    80
hg --cwd c log --debug
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    81
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    82
echo %% --traceback
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    83
hg --cwd c --config x --traceback tip 2>&1 | grep -i 'traceback'
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    84
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    85
echo %% --time
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    86
hg --cwd a --time tip 2>&1 | grep '^Time:' | sed 's/[0-9][0-9]*/x/g'
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    87
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    88
echo %% --version
2528
049f930f18c1 Workaround to work with less sophisticated sed versions.
Sascha Wilde <wilde@sha-bang.de>
parents: 2319
diff changeset
    89
hg --version -q | sed 's/version [^)]*/version xxx/'
2293
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    90
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    91
echo %% -h/--help
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    92
hg -h
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    93
hg --help
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    94
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    95
echo %% not tested: --debugger
3dc6f2501dbc add --config global option. allows to set hgrc option on command line.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    96