1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/usr/bin/env python2
- import argparse
- import sys
- import os
- import nose2
- from infra.basetest import BRTest
- def main():
- parser = argparse.ArgumentParser(description='Run Buildroot tests')
- parser.add_argument('testname', nargs='*',
- help='list of test cases to execute')
- parser.add_argument('-l', '--list', action='store_true',
- help='list of available test cases')
- parser.add_argument('-a', '--all', action='store_true',
- help='execute all test cases')
- parser.add_argument('-s', '--stdout', action='store_true',
- help='log everything to stdout')
- parser.add_argument('-o', '--output',
- help='output directory')
- parser.add_argument('-d', '--download',
- help='download directory')
- parser.add_argument('-k', '--keep',
- help='keep build directories',
- action='store_true')
- args = parser.parse_args()
- script_path = os.path.realpath(__file__)
- test_dir = os.path.dirname(script_path)
- if args.stdout:
- BRTest.logtofile = False
- if args.list:
- print "List of tests"
- nose2.discover(argv=[script_path,
- "-s", test_dir,
- "-v",
- "--collect-only"],
- plugins=["nose2.plugins.collect"])
- return 0
- if args.download is None:
- args.download = os.getenv("BR2_DL_DIR")
- if args.download is None:
- print "Missing download directory, please use -d/--download"
- print ""
- parser.print_help()
- return 1
- BRTest.downloaddir = os.path.abspath(args.download)
- if args.output is None:
- print "Missing output directory, please use -o/--output"
- print ""
- parser.print_help()
- return 1
- if not os.path.exists(args.output):
- os.mkdir(args.output)
- BRTest.outputdir = os.path.abspath(args.output)
- if args.all is False and len(args.testname) == 0:
- print "No test selected"
- print ""
- parser.print_help()
- return 1
- BRTest.keepbuilds = args.keep
- nose2_args = ["-v",
- "-s", "support/testing",
- "-c", "support/testing/conf/unittest.cfg"]
- if len(args.testname) != 0:
- nose2_args += args.testname
- nose2.discover(argv=nose2_args)
- if __name__ == "__main__":
- sys.exit(main())
|