##// END OF EJS Templates
py3: handle keyword arguments correctly in hgext/patchbomb.py...
py3: handle keyword arguments correctly in hgext/patchbomb.py The keys of keyword arguments must be str on Python 3 which is unicode. This patch make sure we pass keyword arguments with keys are str everywhere in this file and access the keys depending on whether they are bytes or str. This patch uses pycompat.{byteskwargs|strkwargs} and somewhere it also added r'' to prevent transformer from adding a b'' over there. Differential Revision: https://phab.mercurial-scm.org/D974

File last commit:

r33689:5b2f331d default
r35035:71e63fe6 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])