Enable device keyword option when running pyboard.py --tests and run-tests --pyboard

This commit is contained in:
blmorris 2014-10-01 13:53:50 -04:00 committed by Damien George
parent 762d57519d
commit 3b064370f8
2 changed files with 5 additions and 4 deletions

View File

@ -139,6 +139,7 @@ def run_tests(pyb, tests, args):
def main(): def main():
cmd_parser = argparse.ArgumentParser(description='Run tests for Micro Python.') cmd_parser = argparse.ArgumentParser(description='Run tests for Micro Python.')
cmd_parser.add_argument('--pyboard', action='store_true', help='run the tests on the pyboard') cmd_parser.add_argument('--pyboard', action='store_true', help='run the tests on the pyboard')
cmd_parser.add_argument('--device', default='/dev/ttyACM0', help='the serial device of the pyboard')
cmd_parser.add_argument('-d', '--test-dirs', nargs='*', help='input test directories (if no files given)') cmd_parser.add_argument('-d', '--test-dirs', nargs='*', help='input test directories (if no files given)')
cmd_parser.add_argument('--write-exp', action='store_true', help='save .exp files to run tests w/o CPython') cmd_parser.add_argument('--write-exp', action='store_true', help='save .exp files to run tests w/o CPython')
cmd_parser.add_argument('--emit', default='bytecode', help='Micro Python emitter to use (bytecode or native)') cmd_parser.add_argument('--emit', default='bytecode', help='Micro Python emitter to use (bytecode or native)')
@ -147,7 +148,7 @@ def main():
if args.pyboard: if args.pyboard:
import pyboard import pyboard
pyb = pyboard.Pyboard('/dev/ttyACM0') pyb = pyboard.Pyboard(args.device)
pyb.enter_raw_repl() pyb.enter_raw_repl()
else: else:
pyb = None pyb = None

View File

@ -105,12 +105,12 @@ def execfile(filename, device='/dev/ttyACM0'):
pyb.exit_raw_repl() pyb.exit_raw_repl()
pyb.close() pyb.close()
def run_test(): def run_test(device):
device = '/dev/ttyACM0'
pyb = Pyboard(device) pyb = Pyboard(device)
pyb.enter_raw_repl() pyb.enter_raw_repl()
print('opened device {}'.format(device)) print('opened device {}'.format(device))
pyb.exec('import pyb') # module pyb no longer imported by default, required for pyboard tests
print('seconds since boot:', pyb.get_time()) print('seconds since boot:', pyb.get_time())
pyb.exec('def apply(l, f):\r\n for item in l:\r\n f(item)\r\n') pyb.exec('def apply(l, f):\r\n for item in l:\r\n f(item)\r\n')
@ -170,7 +170,7 @@ def main():
args = cmd_parser.parse_args() args = cmd_parser.parse_args()
if args.test: if args.test:
run_test() run_test(device=args.device)
for file in args.files: for file in args.files:
execfile(file, device=args.device) execfile(file, device=args.device)