def run_tests(steps): '''run a list of steps''' global results passed = True failed = [] for step in steps: util.pexpect_close_all() if skip_step(step): continue t1 = time.time() print(">>>> RUNNING STEP: %s at %s" % (step, time.asctime())) try: if not run_step(step): print(">>>> FAILED STEP: %s at %s" % (step, time.asctime())) passed = False failed.append(step) results.add(step, '<span class="failed-text">FAILED</span>', time.time() - t1) continue except Exception, msg: passed = False failed.append(step) print(">>>> FAILED STEP: %s at %s (%s)" % (step, time.asctime(), msg)) traceback.print_exc(file=sys.stdout) results.add(step, '<span class="failed-text">FAILED</span>', time.time() - t1) check_logs(step) continue results.add(step, '<span class="passed-text">PASSED</span>', time.time() - t1) print(">>>> PASSED STEP: %s at %s" % (step, time.asctime())) check_logs(step)
def run_tests(tests): '''run a list of tests''' global results, unit_test_results passed = True failed = [] for testname in tests: util.pexpect_close_all() testcase = TestResult(testname) testcase.success = False t1 = time.time() print(">>>> RUNNING test: %s at %s" % (testname, time.asctime())) try: if not fly_ArduCopter_scripted(testname): print(">>>> FAILED test: %s at %s" % (testname, time.asctime())) passed = False testcase.elapsed = "%.1f" % (time.time() - t1) testcase.result = ''' <testcase classname="ardupilot-mega-autotest" name=\"%s\" time=\"%s\"> <failure type=\"test failure\"> %s </failure> </testcase> ''' % (testcase.name, testcase.elapsed, "failed") unit_test_results.tests.append(testcase) print testcase.result failed.append(testname) continue except Exception, msg: testcase.elapsed = "%.1f" % (time.time() - t1) passed = False print(">>>> FAILED test: %s at %s (%s)" % (testname, time.asctime(), msg)) traceback.print_exc(file=sys.stdout) testcase.result = ''' <testcase classname="ardupilot-mega-autotest" name=\"%s\" time=\"%s\"> <error type=\"Test error\"> %s </error> </testcase> ''' % (testcase.name, testcase.elapsed, traceback.format_exc() ) print testcase.result unit_test_results.tests.append(testcase) failed.append(testcase.name) continue #success testcase.elapsed = "%.1f" % (time.time() - t1) testcase.success = True testcase.result = ''' <testcase classname="ardupilot-mega-autotest" name=\"%s\" time=\"%s\"> </testcase> ''' % (testcase.name, testcase.elapsed ) unit_test_results.tests.append(testcase) print(">>>> PASSED test: %s at %s" % (testname, time.asctime())) print testcase.result
def __del__(self): print 'SensorHil shutting down' # JSBSim really doesn't like to die ... if self.jsb_console is not None: self.jsb_console.send('quit\n') if self.jsb is not None and getattr(self.jsb, 'pid', None) is not None: os.kill(self.jsb.pid, signal.SIGKILL) self.jsb.close(force=True) util.pexpect_close_all()
def exit_handler(): '''exit the sim''' signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) # JSBSim really doesn't like to die ... if getattr(jsb, 'pid', None) is not None: os.kill(jsb.pid, signal.SIGKILL) jsb_console.send('quit\n') jsb.close(force=True) util.pexpect_close_all() sys.exit(1)
def alarm_handler(signum, frame): '''handle test timeout''' global results, opts try: results.add('TIMEOUT', '<span class="failed-text">FAILED</span>', opts.timeout) util.pexpect_close_all() convert_gpx() write_fullresults() os.killpg(0, signal.SIGKILL) except Exception: pass sys.exit(1)
def signal_handler(self, signal, frame): print('-'*20) try: self.teardown_class() except AttributeError: #mav not created yet pass util.pexpect_close_all() try: sys.exit() except SystemExit: print 'Tests finished.' #Seriously, stop os._exit(os.EX_OK)
def signal_handler(self, signal, frame): print('-' * 20) try: self.teardown_class() except AttributeError: #mav not created yet pass util.pexpect_close_all() try: sys.exit() except SystemExit: print 'Tests finished.' #Seriously, stop os._exit(os.EX_OK)
def alarm_handler(signum, frame): '''handle test timeout''' global results, opts try: results.add('TIMEOUT', '<span class="failed-text">FAILED</span>', opts.timeout) util.pexpect_close_all() results.addfile('Full Logs', 'autotest-output.txt') results.addglob('DataFlash Log', '*.flashlog') results.addglob("MAVLink log", '*.tlog') results.addfile('ArduPlane build log', 'ArduPlane.txt') results.addfile('ArduPlane defaults', 'ArduPlane.defaults.txt') results.addfile('ArduCopter build log', 'ArduCopter.txt') results.addfile('ArduCopter defaults', 'ArduCopter.defaults.txt') write_webresults(results) os.killpg(0, signal.SIGKILL) except Exception: pass sys.exit(1)
def teardown_class(cls): #stop MAVLink, any postrun code print('*'*20) print("Shutting down.") cls.mav.close() util.pexpect_close(cls.mavproxy) util.pexpect_close(cls.sil) util.pexpect_close(cls.runsim) util.pexpect_close_all() PROCNAME = ["JSBSim", "mavproxy.py"] for proc in psutil.process_iter(): if proc.name in PROCNAME: proc.kill() #And just in case... subprocess.call('xdotool windowkill $(xdotool search --name "Map")', shell=True) subprocess.call('xdotool windowkill $(xdotool search --name "Console")', shell=True)
def teardown_class(cls): #stop MAVLink, any postrun code print('*' * 20) print("Shutting down.") cls.mav.close() util.pexpect_close(cls.mavproxy) util.pexpect_close(cls.sil) util.pexpect_close(cls.runsim) util.pexpect_close_all() PROCNAME = ["JSBSim", "mavproxy.py"] for proc in psutil.process_iter(): if proc.name in PROCNAME: proc.kill() #And just in case... subprocess.call('xdotool windowkill $(xdotool search --name "Map")', shell=True) subprocess.call( 'xdotool windowkill $(xdotool search --name "Console")', shell=True)
continue except Exception, msg: passed = False failed.append(step) print(">>>> FAILED STEP: %s at %s (%s)" % (step, time.asctime(), msg)) traceback.print_exc(file=sys.stdout) results.add(step, '<span class="failed-text">FAILED</span>', time.time() - t1) check_logs(step) continue results.add(step, '<span class="passed-text">PASSED</span>', time.time() - t1) print(">>>> PASSED STEP: %s at %s" % (step, time.asctime())) check_logs(step) if not passed: print("FAILED %u tests: %s" % (len(failed), failed)) util.pexpect_close_all() write_fullresults() return passed util.mkdir_p(util.reltopdir('../buildlogs')) lck = util.lock_file(util.reltopdir('../buildlogs/autotest.lck')) if lck is None: print("autotest is locked - exiting") sys.exit(0) atexit.register(util.pexpect_close_all)
continue except Exception, msg: passed = False failed.append(step) print(">>>> FAILED STEP: %s at %s (%s)" % (step, time.asctime(), msg)) traceback.print_exc(file=sys.stdout) results.add(step, '<span class="failed-text">FAILED</span>', time.time() - t1) check_logs(step) continue results.add(step, '<span class="passed-text">PASSED</span>', time.time() - t1) print(">>>> PASSED STEP: %s at %s" % (step, time.asctime())) check_logs(step) if not passed: print("FAILED %u tests: %s" % (len(failed), failed)) util.pexpect_close_all() write_fullresults() return passed util.mkdir_p('buildlogs') lck = util.lock_file('buildlogs/autotest.lck') if lck is None: print("autotest is locked - exiting") sys.exit(0) atexit.register(util.pexpect_close_all)