annotate tests/dummyssh @ 27279:40eb385f798f

tests: add test for Python 3 compatibility Python 3 is inevitable. There have been incremental movements towards converting the code base to be Python 3 compatible. Unfortunately, we don't have any tests that look for Python 3 compatibility. This patch changes that. We introduce a check-py3-compat.py script whose role is to verify Python 3 compatibility of the files passed in. We add a test that calls this script with all .py files from the source checkout. The script currently only verifies that absolute_import and print_function are used. These are the low hanging fruits for Python compatbility. Over time, we can include more checks, including verifying we're able to load each Python file with Python 3. You have to start somewhere. Accepting this patch means that all new .py files must have absolute_import and print_function (if "print" is used) to avoid a new warning about Python 3 incompatibility. We've already converted several files to use absolute_import and print_function is in the same boat, so I don't think this is such a radical proposition.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 06 Dec 2015 22:39:12 -0800
parents f266cb3f1c2b
children 26d4ce8ca2bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14186
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
1 #!/usr/bin/env python
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
2
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
3 import sys
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
4 import os
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
5
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
6 os.chdir(os.getenv('TESTTMP'))
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
7
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
8 if sys.argv[1] != "user@dummy":
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
9 sys.exit(-1)
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
10
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
11 os.environ["SSH_CLIENT"] = "127.0.0.1 1 2"
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
12
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
13 log = open("dummylog", "ab")
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
14 log.write("Got arguments")
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
15 for i, arg in enumerate(sys.argv[1:]):
19320
f266cb3f1c2b dummyssh: fix check-code nit
Augie Fackler <raf@durin42.com>
parents: 15768
diff changeset
16 log.write(" %d:%s" % (i + 1, arg))
14186
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
17 log.write("\n")
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
18 log.close()
15768
cdf9c43445df tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
19 hgcmd = sys.argv[2]
cdf9c43445df tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
20 if os.name == 'nt':
cdf9c43445df tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
21 # hack to make simple unix single quote quoting work on windows
cdf9c43445df tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
22 hgcmd = hgcmd.replace("'", '"')
cdf9c43445df tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
23 r = os.system(hgcmd)
14186
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents:
diff changeset
24 sys.exit(bool(r))