def worker(results): os.chdir(os.path.join(image_directory_path, "iottest")) # nuke test logs for f in os.listdir("."): if "ssh_target_log" in f: os.remove(f) os.chdir(image_directory_path) ## Remove all log and xml files from previous run to prevent clutter #for f in os.listdir("."): # if f.endswith(".log") or f.endswith(".xml"): # os.remove(f) device.write_image(image) tester = Tester(device) tester.execute() results.put((tester.get_results(), tester.get_results_str()))
def main(argv=None): """ Entry point for library-like use. """ config.parse() logging.basicConfig(filename=config.AFT_LOG_NAME, level=logging.INFO, format='%(asctime)s - %(name)s - ' '%(levelname)s - %(message)s') if argv != None: backup_argv = sys.argv sys.argv = argv args = parse_args() if args.configure: builder = TopologyBuilder(args) builder.build_topology() return 0 if args.check: results = device_config.check(args) logging.info(results[1]) print results[1] if results[0] == True: return 0 else: return 1 elif args.checkall: results = device_config.check_all(args) logging.info(results[1]) print results[1] if results[0] == True: logging.info("All tests passed") return 0 else: logging.info("There were failures") return 1 device_manager = DevicesManager(args) if args.blacklist: if not args.device: print "Device must be specified for blacklisting" return 1 device_manager.blacklist_device(args.device, args.reason) return 0 if args.recover_edisons: recover_edisons(device_manager, args.verbose) return 0 if not args.machine or not args.file_name: print "Both machine and image must be specified" return 1 device = device_manager.reserve() tester = Tester(device) if args.record: device.record_serial() if not args.noflash: print "Flashing " + str(device.name) + "." device.write_image(args.file_name) if not args.notest: tester.execute() if not args.nopoweroff: device.detach() if "backup_argv" in locals(): sys.argv = backup_argv return 0