def setUp(self): resource = TestContextManager.current_context().resource self.txunit, self.rxunit = resource.acquire_pair() self.tx_gen3_1 = self.txunit.device.gen3_1 self.tx_gen3_2 = self.txunit.device.gen3_2 self.rx_gen3_1 = self.rxunit.device.gen3_1 self.rx_gen3_2 = self.rxunit.device.gen3_2 self.qd = self.txunit.avproducer self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name + ".jpg") if re.match("DVI_", self.format, re.IGNORECASE): self.iface = "DVI" self.format = re.sub("DVI_", "", self.format) elif re.match("HDMI_", self.format, re.IGNORECASE): self.iface = "HDMI" self.format = re.sub("HDMI_", "", self.format) else: self.iface = "HDMI" # if self.rx_gen3_2.nvramget(0x66) != 0x0: # self.rx_gen3_2.nvramset(0x66, 0x0) # self.rxunit.reset() # time.sleep(10) self.make_connected(self.txunit.device, self.rxunit.device)
def setUp(self): self.__rx_port = Sii9777RxPort_t(RX_PORT_MAPPER[self.rx_port]) context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir)
def archive(src, zippath, exclude=None, ziptype=Type.ZIP): logger.info("archive: src=[%s], zippath=[%s], exclude=[%s], type=[%s]", src, zippath, exclude, ziptype) dirpath = os.path.dirname(zippath) if not os.path.exists(dirpath): fs.mkpath(dirpath) if ziptype == Type.ZIP: zipobj = zipfile.ZipFile(zippath, "w") if os.path.isdir(src): for found in fs.find(src, exclude=exclude): logger.debug("found: %s", found) relname = os.path.relpath(found, src) if relname != ".": relname = relname.replace("\\", "/") if os.path.isdir(found): relname += "/" zipobj.write(found, relname) else: zipobj.write(src, os.path.basename(src)) zipobj.close() elif ziptype == Type.TGZ or ziptype == Type.TBZ: raise NotImplementedError else: raise ValueError("unsupported archive type")
def save(self, filename): dirname = os.path.dirname(filename) if not os.path.exists(dirname): fs.mkpath(dirname) s = ElementTree.tostring(self.to_etree_element()) with open(filename, "w") as fdst: fdst.write(minidom.parseString(s).toprettyxml())
def setUp(self): resource = TestContextManager.current_context().resource self.txunit, self.rxunit = resource.acquire_pair() self.tx_gen3_1 = self.txunit.device.gen3_1 self.tx_gen3_2 = self.txunit.device.gen3_2 self.rx_gen3_1 = self.rxunit.device.gen3_1 self.rx_gen3_2 = self.rxunit.device.gen3_2 self.qd = self.txunit.avproducer self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name+".jpg") if re.match("DVI_", self.format, re.IGNORECASE): self.iface = "DVI" self.format = re.sub("DVI_", "", self.format) elif re.match("HDMI_", self.format, re.IGNORECASE): self.iface = "HDMI" self.format = re.sub("HDMI_", "", self.format) else: self.iface = "HDMI" # if self.rx_gen3_2.nvramget(0x66) != 0x0: # self.rx_gen3_2.nvramset(0x66, 0x0) # self.rxunit.reset() # time.sleep(10) self.make_connected(self.txunit.device, self.rxunit.device)
def _adjustTestCaseLogPath(self, test): new_logdir = None if test.record.status in (TestCaseResultRecord.Status.FAILED, TestCaseResultRecord.Status.ERRONEOUS, TestCaseResultRecord.Status.WARNING): new_logdir = os.path.join( self.logdir, TestCaseResultRecord.STATUS_MAPPER[test.record.status].lower()) else: pass if new_logdir is not None: try: fs.mkpath(new_logdir) test.logdir = new_logdir fs.move(test.logname, new_logdir) test.logname = os.path.join(new_logdir, os.path.basename(test.logname)) for index in range(len(test.extlognames)): ext_logname = test.extlognames[index] fs.move(ext_logname, new_logdir) test.extlognames[index] = os.path.join( new_logdir, os.path.basename(ext_logname)) except IOError: logger.exception("")
def setUp(self): context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir)
def scp_get(self, rsrc, ldst, exclude=None): logger.info("scp get: rsrc=%s, ldst=%s, exclude=%s", rsrc, ldst, exclude) if exclude is not None and not isinstance(exclude, re._pattern_type): exclude = re.compile(exclude) if self._isdir(rsrc): self.getdir(rsrc, ldst, exclude) else: ldstpath = None name = os.path.basename(rsrc) if os.path.exists(ldst): if os.path.isdir(ldst): ldstpath = posixpath.join(ldst, name) else: ldstpath = ldst else: if ldst.endswith("\\") or ldst.endswith("/"): fs.mkpath(ldst) ldstpath = posixpath.join(ldst, name) else: fs.mkpath(os.path.dirname(ldst)) ldstpath = ldst logger.debug("scp get: %s -> %s", rsrc, ldstpath) self.get(rsrc, ldstpath)
def setUp(self): resource = TestContextManager.current_context().resource self.txunit, self.rxunit = resource.acquire_pair() self.capture_image_dir = os.path.join(self.logdir, "images") self.capture_image_name = os.path.join( self.capture_image_dir, "%s_%s.jpg" % (self.name, self.cycleindex)) self.make_connected(self.txunit.device, self.rxunit.device) fs.mkpath(self.capture_image_dir)
def setUp(self): resource = TestContextManager.current_context().resource self.txunit, self.rxunit = resource.acquire_pair() self.capture_image_dir = os.path.join(self.logdir, "images") self.capture_image_name = os.path.join(self.capture_image_dir, "%s_%s.jpg" % (self.name, self.cycleindex)) self.make_connected(self.txunit.device, self.rxunit.device) fs.mkpath(self.capture_image_dir)
def main(): parser = argparse.ArgumentParser(add_help=True) subparsers = parser.add_subparsers(dest="mode") parser.add_argument('--failfast', action='store_true', dest="failfast", default=False) parser.add_argument('--despxml', action='store', dest="despxml", type=file, default="TestDescription.xml") native_parser = subparsers.add_parser("native") args = parser.parse_args() despcfg = TestDescriptionConfiguration(args.despxml) if args.mode == "native": basedir = os.path.join(common.logdir, time.strftime("%Y-%m-%d_%H-%M-%S")) fs.mkpath(basedir) logconf = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(asctime)-15s - %(thread)-5d [%(levelname)-8s] - %(message)s' }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'level': 'DEBUG', 'formatter': 'verbose' }, 'file_debug': { 'class': 'logging.handlers.RotatingFileHandler', 'level': 'DEBUG', 'formatter': 'verbose', 'filename': os.path.join(basedir, "debug.log"), 'maxBytes': 50000000, 'backupCount': 10 }, }, 'root': { 'level': 'DEBUG', 'handlers': ['console', 'file_debug'], } } logging.config.dictConfig(logconf) rsrccfg = TestBenchConfiguration(common.resconf) console = NativeTestConsole(rsrccfg, despcfg, basedir) console.run() else: raise ValueError
def setUp(self): context = TestContextManager.current_context() resource = context.resource self.astro = resource.avproducer self.qd980 = resource.avconsumer self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name+".jpg")
def setUp(self): self.__is_enable = bool_t() with self.device.lock: Sii9777TpgEnableGet(self.device.drv_instance, byref(self.__is_enable)) context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name+".jpg")
def setUp(self): with self.device.lock: retcode = Sii9777TpgEnableSet(self.device.drv_instance, byref(bool_t(True))) self._test_api_retcode("Sii9777TpgEnableSet", retcode) context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name+".jpg")
def setUp(self): resource = TestContextManager.current_context().resource self.txunit, self.rxunit = resource.acquire_pair() self.tx_gen3_1 = self.txunit.device.gen3_1 self.tx_gen3_2 = self.txunit.device.gen3_2 self.rx_gen3_1 = self.rxunit.device.gen3_1 self.rx_gen3_2 = self.rxunit.device.gen3_2 self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name + ".jpg") self.make_connected(self.txunit.device, self.rxunit.device)
def _test_device_av(self, device, keyword, timeout): with device.log_subject.listen(keyword) as listener: event = listener.get(timeout=timeout) self.assertIsNotNone(event, msg="should get log keyword '%s' in %ss" % (keyword, timeout)) time.sleep(2) capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(capture_image_dir) capture_image_name = os.path.join(capture_image_dir, self.name + str(time.time()) + ".jpg") webcam = TestContextManager.current_context().resource.webcam time.sleep(10) webcam.capture_image(capture_image_name)
def setUp(self): with self.device.lock: retcode = Sii9777TpgEnableSet(self.device.drv_instance, byref(bool_t(True))) self._test_api_retcode("Sii9777TpgEnableSet", retcode) context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name + ".jpg")
def setUp(self): self.__is_enable = bool_t() with self.device.lock: Sii9777TpgEnableGet(self.device.drv_instance, byref(self.__is_enable)) context = TestContextManager.current_context() resource = context.resource self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name + ".jpg")
def getdir(self, rsrc, ldst, exclude): fs.mkpath(ldst) for name in self.listdir(rsrc): rsrcname = posixpath.join(rsrc, name) if exclude and exclude.search(rsrcname): logger.info("scp get: skip %s", rsrcname) continue ldstname = os.path.join(ldst, name) if self._isdir(rsrcname): self.getdir(rsrcname, ldstname, exclude) else: logger.debug("scp get: %s -> %s", rsrcname, ldstname) self.get(rsrcname, ldstname)
def _test_device_av(self, device, keyword, timeout): with device.log_subject.listen(keyword) as listener: event = listener.get(timeout=timeout) self.assertIsNotNone(event, msg="should get log keyword '%s' in %ss" % (keyword, timeout)) time.sleep(2) capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(capture_image_dir) capture_image_name = os.path.join( capture_image_dir, self.name + str(time.time()) + ".jpg") webcam = TestContextManager.current_context().resource.webcam time.sleep(10) webcam.capture_image(capture_image_name)
def save_as_xml(self, filename): """ <TestSuite name="cases.common"> <TestSuite name="cases.common.test_edid"> <TestCase class="cases.common.test_edid.EDIDTestCase" method="test_sink_tv_edid"/> </TestSuite> <TestSuite name="cases.common.test_formats"> <TestCase class="cases.common.test_formats.FormatsTestCase" method="test_3d_format"> <Attribute name="device" value="%(device)s"/> <Attribute name="listen_keyword" value="%(listen_keyword)s"/> <Attribute name="format" value="%(format)s"> <Choice></Choice> <Choice></Choice> </Attribute> </TestCase> <TestCase class="cases.common.test_formats.FormatsTestCase" method="test_audio_format"> <Attribute name="device" value="%(device)s"/> <Attribute name="listen_keyword" value="%(listen_keyword)s"/> <Attribute name="format" value="%(format)s"/> <Attribute name="listen_timeout" value="3.0"/> <Attribute name="aud_vfmt" value="1080p60_RGB_8"/> </TestCase> <TestCase class="cases.common.test_formats.FormatsTestCase" method="test_video_format"> <Attribute name="device" value="%(device)s"/> <Attribute name="listen_keyword" value="%(listen_keyword)s"/> <Attribute name="format" value="%(format)s"/> <Attribute name="listen_timeout" value="3.0"/> <Attribute name="IMAGE_2D" value="Acer1"/> </TestCase> </TestSuite> <TestSuite name="cases.common.test_playvideo"> <TestCase class="cases.common.test_playvideo.PlayVideoTestCase" method="test_playvideo"> <Attribute name="interval" value="60"/> <Attribute name="totaltime" value="600"/> </TestCase> </TestSuite> </TestSuite> """ logger.debug("load test suite from '%s', save it to %s", self.__module.__name__, filename) dirname = os.path.dirname(filename) if not os.path.exists(dirname): fs.mkpath(dirname) s = ElementTree.tostring(self.to_etree_element()) with open(filename, "w") as fdst: fdst.write(minidom.parseString(s).toprettyxml())
def setUp(self): context = TestContextManager.current_context() resource = context.resource self.qd = resource.avproducer self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name+".jpg") if re.match("DVI_", self.format, re.IGNORECASE): self.iface = "DVI" self.format = re.sub("DVI_", "", self.format) elif re.match("HDMI_", self.format, re.IGNORECASE): self.iface = "HDMI" self.format = re.sub("HDMI_", "", self.format) else: self.iface = "HDMI"
def setUp(self): context = TestContextManager.current_context() resource = context.resource self.qd = resource.avproducer self.webcam = resource.webcam self.capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(self.capture_image_dir) self.capture_image_name = os.path.join(self.capture_image_dir, self.name + ".jpg") if re.match("DVI_", self.format, re.IGNORECASE): self.iface = "DVI" self.format = re.sub("DVI_", "", self.format) elif re.match("HDMI_", self.format, re.IGNORECASE): self.iface = "HDMI" self.format = re.sub("HDMI_", "", self.format) else: self.iface = "HDMI"
def run(self, result, debug=False): context = TestContextManager.getCurrentContext() context.cursuite = self if self.logdir is None: self.logdir = os.path.join(context.logdir, self.name.strip()) fs.mkpath(self.logdir) self._toplevel = False if getattr(result, '_testRunEntered', False) is False: result._testRunEntered = self._toplevel = True if self._toplevel: result.suite_records.append(self.record) self._runTests(result, debug) if self._toplevel: self._tearDownPreviousClass(None, result) self._handleModuleTearDown(result) result._testRunEntered = False return result
def _adjustTestCaseLogPath(self, test): new_logdir = None if test.record.status in (TestCaseResultRecord.Status.FAILED, TestCaseResultRecord.Status.ERRONEOUS, TestCaseResultRecord.Status.WARNING): new_logdir = os.path.join(self.logdir, TestCaseResultRecord.STATUS_MAPPER[test.record.status].lower()) else: pass if new_logdir is not None: try: fs.mkpath(new_logdir) test.logdir = new_logdir fs.move(test.logname, new_logdir) test.logname = os.path.join(new_logdir, os.path.basename(test.logname)) for index in range(len(test.extlognames)): ext_logname = test.extlognames[index] fs.move(ext_logname, new_logdir) test.extlognames[index] = os.path.join(new_logdir, os.path.basename(ext_logname)) except IOError: logger.exception("")
def main(): parser = argparse.ArgumentParser(add_help=True) parser.add_argument('--target', dest="target", required=True) parser.add_argument('--bench', dest="bench", required=True) parser.add_argument('--failfast', action='store_true', dest="failfast", default=False) subparsers = parser.add_subparsers(dest="mode") native_parser = subparsers.add_parser("native") native_parser.add_argument('--logdir', dest="logdir", default=os.path.join(common.logdir, time.strftime("%Y-%m-%d_%H-%M-%S"))) native_parser.add_argument('--casedir', dest="casedir", default=common.casedir) remote_parser = subparsers.add_parser("remote") remote_parser.add_argument('--host', dest="host", default="127.0.0.1") remote_parser.add_argument('--port', dest="port", type=int, default=5389) remote_parser.add_argument('--amqpurl', dest="amqpurl", default="amqp://*****:*****@localhost:5672") args, unknown = parser.parse_known_args() defines = dict() for value in unknown: tup = value.replace("-", "").partition("=") defines[tup[0]] = tup[2] if args.mode == "native": fs.mkpath(args.logdir) logconf = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(asctime)-15s - %(thread)-5d [%(levelname)-8s] - %(message)s' }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'level': 'DEBUG', 'formatter': 'verbose' }, 'file_debug': { 'class': 'logging.handlers.RotatingFileHandler', 'level': 'DEBUG', 'formatter': 'verbose', 'filename': os.path.join(args.logdir, "debug.log"), 'maxBytes': 50000000, 'backupCount': 10 }, }, 'root': { 'level': 'DEBUG', 'handlers': ['console', 'file_debug'], } } logging.config.dictConfig(logconf) context = TestContext() context.logdir = args.logdir context.resource = TestBenchConfiguration(common.resconf).buildTestBenchByName(args.bench) target = NativeTestTarget(args.target, args.casedir, args.failfast, context, defines) target.run() elif args.mode == "remote": logging.basicConfig( level=logging.DEBUG, format='%(asctime)-15s - %(thread)-5d [%(levelname)-8s] - %(message)s', ) context = TestContext() context.rsrcname = args.bench baseurl = "http://%s:%s/husky/xmlrpc/testrunners" % (args.host, args.port) target = RemoteTestTarget(args.target, baseurl, args.amqpurl, args.failfast, context, defines) target.run() else: raise ValueError
def setUp(self): capture_image_dir = os.path.join(self.logdir, "images") fs.mkpath(capture_image_dir) self.capture_image_name = os.path.join(capture_image_dir, self.name + ".jpg") self.webcam = TestContextManager.current_context().resource.webcam