##// END OF EJS Templates
test-acl: mock up util.getuser() to trust $LOGNAME on Windows...
test-acl: mock up util.getuser() to trust $LOGNAME on Windows The test relies on POSIX-like getuser() behavior, so we can't use windows.getuser().

File last commit:

r33689:5b2f331d default
r36524:74c033b9 default
Show More
test-duplicateoptions.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 from __future__ import absolute_import, print_function
Idan Kamara
tests: add a test to check for duplicate command options
r14449 import os
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 from mercurial import (
commands,
extensions,
Yuya Nishihara
test-duplicateoptions: alias ui as uimod
r28804 ui as uimod,
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 )
Idan Kamara
tests: add a test to check for duplicate command options
r14449
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 ignore = {b'highlight', b'win32text', b'factotum'}
Idan Kamara
tests: add a test to check for duplicate command options
r14449
if os.name != 'nt':
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 ignore.add(b'win32mbcs')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore]
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc = open(os.environ["HGRCPATH"], 'wb')
hgrc.write(b'[extensions]\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
for ext in disabled:
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc.write(ext + b'=\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
hgrc.close()
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 extensions.loadall(u)
Simon Heimberg
test: test for options duplicate with global options...
r15099 globalshort = set()
globallong = set()
for option in commands.globalopts:
option[0] and globalshort.add(option[0])
option[1] and globallong.add(option[1])
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 for cmd, entry in commands.table.items():
Simon Heimberg
test: test for options duplicate with global options...
r15099 seenshort = globalshort.copy()
seenlong = globallong.copy()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 for option in entry[1]:
if (option[0] and option[0] in seenshort) or \
(option[1] and option[1] in seenlong):
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 print("command '" + cmd + "' has duplicate option " + str(option))
Idan Kamara
tests: add a test to check for duplicate command options
r14449 seenshort.add(option[0])
seenlong.add(option[1])