mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-10 21:58:48 +01:00
Make Python scripts Python 2 and 3 compatible. An alternative to #71.
This commit is contained in:
3
AUTHORS
3
AUTHORS
@ -2,4 +2,5 @@ This is the (likely imcomplete) list of people who have made Wren what it is.
|
||||
If you submit a patch to Wren, please add your name and email address to the
|
||||
end of this list.
|
||||
|
||||
Robert Nystrom <robert@stuffwithstuff.com>
|
||||
Robert Nystrom <robert@stuffwithstuff.com>
|
||||
Kyle Marek-Spartz <kyle.marek.spartz@gmail.com>
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import glob
|
||||
import os.path
|
||||
import re
|
||||
@ -33,7 +34,7 @@ def copy_builtin(filename):
|
||||
with open("src/wren_" + name + ".c", "w") as f:
|
||||
f.write(c_source)
|
||||
|
||||
print name
|
||||
print(name)
|
||||
|
||||
|
||||
for f in glob.iglob("builtin/*.wren"):
|
||||
|
||||
@ -7,6 +7,7 @@ import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
def is_up_to_date(path, out_path):
|
||||
@ -49,7 +50,7 @@ def format_file(path, skip_up_to_date):
|
||||
elif command == "category":
|
||||
category = args
|
||||
else:
|
||||
print "UNKNOWN COMMAND:", command, args
|
||||
print(' '.join(["UNKNOWN COMMAND:", command, args]))
|
||||
|
||||
elif stripped.startswith('#'):
|
||||
# Add anchors to the headers.
|
||||
@ -57,7 +58,7 @@ def format_file(path, skip_up_to_date):
|
||||
headertype = stripped[:index]
|
||||
header = stripped[index:].strip()
|
||||
anchor = header.lower().replace(' ', '-')
|
||||
anchor = anchor.translate(None, '.?!:/')
|
||||
anchor = re.compile('\.|\?|!|:|/').sub('', anchor)
|
||||
|
||||
contents += indentation + headertype
|
||||
contents += '{1} <a href="#{0}" name="{0}" class="header-anchor">#</a>\n'.format(anchor, header)
|
||||
@ -84,7 +85,7 @@ def format_file(path, skip_up_to_date):
|
||||
with open(out_path, 'w') as out:
|
||||
out.write(template.format(**fields))
|
||||
|
||||
print "converted", basename
|
||||
print("converted " + basename)
|
||||
|
||||
|
||||
def check_sass():
|
||||
@ -98,7 +99,7 @@ def check_sass():
|
||||
return
|
||||
|
||||
subprocess.call(['sass', 'doc/site/style.scss', 'build/docs/style.css'])
|
||||
print "built css"
|
||||
print("built css")
|
||||
|
||||
|
||||
def format_files(skip_up_to_date):
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
|
||||
import glob
|
||||
import fnmatch
|
||||
@ -64,17 +64,17 @@ for dir_path, dir_names, file_names in os.walk("test"):
|
||||
num_expects += 1
|
||||
continue
|
||||
|
||||
print "source:"
|
||||
print " files ", num_files
|
||||
print " semicolons ", num_semicolons
|
||||
print " TODOs ", num_todos
|
||||
print " comment lines ", num_docs
|
||||
print " code lines ", num_code
|
||||
print " empty lines ", num_empty
|
||||
print
|
||||
print "test:"
|
||||
print " files ", num_test_files
|
||||
print " TODOs ", num_test_todos
|
||||
print " expectations ", num_expects
|
||||
print " non-empty lines", num_test
|
||||
print " empty lines ", num_test_empty
|
||||
print("source:")
|
||||
print(" files " + str(num_files))
|
||||
print(" semicolons " + str(num_semicolons))
|
||||
print(" TODOs " + str(num_todos))
|
||||
print(" comment lines " + str(num_docs))
|
||||
print(" code lines " + str(num_code))
|
||||
print(" empty lines " + str(num_empty))
|
||||
print("\n")
|
||||
print("test:")
|
||||
print(" files " + str(num_test_files))
|
||||
print(" TODOs " + str(num_test_todos))
|
||||
print(" expectations " + str(num_expects))
|
||||
print(" non-empty lines " + str(num_test))
|
||||
print(" empty lines " + str(num_test_empty))
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from collections import defaultdict
|
||||
from os import listdir
|
||||
@ -55,11 +57,11 @@ def walk(dir, callback):
|
||||
|
||||
def print_line(line=None):
|
||||
# Erase the line.
|
||||
print '\033[2K',
|
||||
print('\033[2K', end='')
|
||||
# Move the cursor to the beginning.
|
||||
print '\r',
|
||||
print('\r', end='')
|
||||
if line:
|
||||
print line,
|
||||
print(line, end='')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
@ -134,7 +136,7 @@ def run_test(path):
|
||||
# Invoke wren and run the test.
|
||||
proc = Popen([WREN_APP, path], stdout=PIPE, stderr=PIPE)
|
||||
(out, err) = proc.communicate()
|
||||
(out, err) = out.replace('\r\n', '\n'), err.replace('\r\n', '\n')
|
||||
(out, err) = out.decode("utf-8").replace('\r\n', '\n'), err.decode("utf-8").replace('\r\n', '\n')
|
||||
|
||||
fails = []
|
||||
|
||||
@ -193,6 +195,8 @@ def run_test(path):
|
||||
del out_lines[-1]
|
||||
|
||||
for line in out_lines:
|
||||
if sys.version_info < (3, 0):
|
||||
line = line.encode('utf-8')
|
||||
if expect_index >= len(expect_output):
|
||||
fails.append('Got output "{0}" when none was expected.'.format(line))
|
||||
elif expect_output[expect_index][0] != line:
|
||||
@ -214,23 +218,23 @@ def run_test(path):
|
||||
else:
|
||||
failed += 1
|
||||
print_line(color.RED + 'FAIL' + color.DEFAULT + ': ' + path)
|
||||
print
|
||||
print('\n')
|
||||
for fail in fails:
|
||||
print ' ', color.PINK + fail + color.DEFAULT
|
||||
print
|
||||
print(' ' + color.PINK + fail + color.DEFAULT)
|
||||
print('\n')
|
||||
|
||||
walk(TEST_DIR, run_test)
|
||||
|
||||
print_line()
|
||||
if failed == 0:
|
||||
print 'All ' + color.GREEN + str(passed) + color.DEFAULT + ' tests passed.'
|
||||
print('All ' + color.GREEN + str(passed) + color.DEFAULT + ' tests passed.')
|
||||
else:
|
||||
print (color.GREEN + str(passed) + color.DEFAULT + ' tests passed. ' +
|
||||
print(color.GREEN + str(passed) + color.DEFAULT + ' tests passed. ' +
|
||||
color.RED + str(failed) + color.DEFAULT + ' tests failed.')
|
||||
|
||||
for key in sorted(skipped.keys()):
|
||||
print ('Skipped ' + color.YELLOW + str(skipped[key]) + color.DEFAULT +
|
||||
print('Skipped ' + color.YELLOW + str(skipped[key]) + color.DEFAULT +
|
||||
' tests: ' + key)
|
||||
|
||||
if failed != 0:
|
||||
sys.exit(1)
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user