本文整理汇总了Python中bzt.utils.FileReader.close方法的典型用法代码示例。如果您正苦于以下问题:Python FileReader.close方法的具体用法?Python FileReader.close怎么用?Python FileReader.close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bzt.utils.FileReader
的用法示例。
在下文中一共展示了FileReader.close方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_requests
# 需要导入模块: from bzt.utils import FileReader [as 别名]
# 或者: from bzt.utils.FileReader import close [as 别名]
def test_requests(self):
self.configure(yaml.load(open(RESOURCES_DIR + "yaml/selenium_executor_requests.yml").read()))
self.obj.prepare()
self.obj.get_widget()
self.obj.startup()
while not self.obj.check():
time.sleep(self.obj.engine.check_interval)
self.obj.shutdown()
reader = FileReader(os.path.join(self.obj.engine.artifacts_dir, "apiritif.0.csv"))
lines = reader.get_lines(last_pass=True)
reader.close()
self.obj.runner._tailer.close()
self.obj.runner.reader.underlings[0].csvreader.file.close()
self.assertEquals(4, len(list(lines)))
示例2: ApiritifNoseExecutor
# 需要导入模块: from bzt.utils import FileReader [as 别名]
# 或者: from bzt.utils.FileReader import close [as 别名]
#.........这里部分代码省略.........
wd_addr=remote, test_mode=test_mode)
builder.build_source_code()
builder.save(filename)
if isinstance(self.engine.aggregator, ConsolidatingAggregator) and isinstance(builder, ApiritifScriptGenerator):
self.engine.aggregator.ignored_labels.extend(builder.service_methods)
return filename
def startup(self):
executable = self.settings.get("interpreter", sys.executable)
report_type = ".ldjson" if self.engine.is_functional_mode() else ".csv"
report_tpl = self.engine.create_artifact("apiritif", ".") + "%s" + report_type
cmdline = [executable, "-m", "apiritif.loadgen", '--result-file-template', report_tpl]
load = self.get_load()
if load.concurrency:
cmdline += ['--concurrency', str(load.concurrency)]
if load.iterations:
cmdline += ['--iterations', str(load.iterations)]
if load.hold:
cmdline += ['--hold-for', str(load.hold)]
if load.ramp_up:
cmdline += ['--ramp-up', str(load.ramp_up)]
if load.steps:
cmdline += ['--steps', str(load.steps)]
if self.__is_verbose():
cmdline += ['--verbose']
cmdline += [self.script]
self.process = self._execute(cmdline)
self._tailer = FileReader(filename=self.stdout.name, parent_logger=self.log)
def has_results(self):
if not self.reader:
return False
return self.reader.read_records
@staticmethod
def _normalize_label(label):
for char in ":/":
if char in label:
label = label.replace(char, '_')
return label
def _check_stdout(self):
for line in self._tailer.get_lines():
if "Adding worker" in line:
marker = "results="
pos = line.index(marker)
fname = line[pos + len(marker):].strip()
self.log.debug("Adding result reader for %s", fname)
self.reader.register_file(fname)
elif "Transaction started" in line:
colon = line.index('::')
values = {
part.split('=')[0]: part.split('=')[1]
for part in line[colon + 2:].strip().split(',')
}
label = self._normalize_label(values['name'])
start_time = float(values['start_time'])
self.transaction_started(label, start_time)
elif "Transaction ended" in line:
colon = line.index('::')
values = {
part.split('=')[0]: part.split('=')[1]
for part in line[colon + 2:].strip().split(',')
}
label = self._normalize_label(values['name'])
duration = float(values['duration'])
self.transacion_ended(label, duration)
def check(self):
self._check_stdout()
return super(ApiritifNoseExecutor, self).check()
def __log_lines(self):
lines = []
for line in self._tailer.get_lines():
if not IGNORED_LINE.match(line):
lines.append(line)
if lines:
self.log.info("\n".join(lines))
def post_process(self):
self._check_stdout()
self.__log_lines()
self._tailer.close()
super(ApiritifNoseExecutor, self).post_process()
def __is_verbose(self):
engine_verbose = self.engine.config.get(SETTINGS).get("verbose", False)
executor_verbose = self.settings.get("verbose", engine_verbose)
return executor_verbose