Mercurial > hg
annotate tests/test-duplicateoptions.py @ 20122:8f4a226c840c
dispatch: turn off custom debugger for HGPLAIN mode
Some debuggers, such as ipdb, load escape codes and color codes even when later
turned off. This will affect scripts that do simple parsing and can't handle
escape codes. Therefore, we only load a custom debugger if ui.plain() is false.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Mon, 25 Nov 2013 12:20:39 -0500 |
parents | f5dd179bfa4a |
children | 352abbb0be88 |
rev | line source |
---|---|
14449
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
1 import os |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
2 from mercurial import ui, commands, extensions |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
3 |
16383
f5dd179bfa4a
plan9: initial support for plan 9 from bell labs
Steven Stallion <sstallion@gmail.com>
parents:
15099
diff
changeset
|
4 ignore = set(['highlight', 'inotify', 'win32text', 'factotum']) |
14449
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
5 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
6 if os.name != 'nt': |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
7 ignore.add('win32mbcs') |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
8 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
9 disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore] |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
10 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
11 hgrc = open(os.environ["HGRCPATH"], 'w') |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
12 hgrc.write('[extensions]\n') |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
13 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
14 for ext in disabled: |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
15 hgrc.write(ext + '=\n') |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
16 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
17 hgrc.close() |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
18 |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
19 u = ui.ui() |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
20 extensions.loadall(u) |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
21 |
15099
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
22 globalshort = set() |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
23 globallong = set() |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
24 for option in commands.globalopts: |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
25 option[0] and globalshort.add(option[0]) |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
26 option[1] and globallong.add(option[1]) |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
27 |
14449
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
28 for cmd, entry in commands.table.iteritems(): |
15099
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
29 seenshort = globalshort.copy() |
b1f49efeab65
test: test for options duplicate with global options
Simon Heimberg <simohe@besonet.ch>
parents:
14762
diff
changeset
|
30 seenlong = globallong.copy() |
14449
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
31 for option in entry[1]: |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
32 if (option[0] and option[0] in seenshort) or \ |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
33 (option[1] and option[1] in seenlong): |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
34 print "command '" + cmd + "' has duplicate option " + str(option) |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
35 seenshort.add(option[0]) |
7d171c05a631
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
36 seenlong.add(option[1]) |