本文整理汇总了Python中vunit.ostools.file_exists函数的典型用法代码示例。如果您正苦于以下问题:Python file_exists函数的具体用法?Python file_exists怎么用?Python file_exists使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了file_exists函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _needs_recompile
def _needs_recompile(self, dependency_graph, source_file):
"""
Returns True if the source_file needs to be recompiled
given the dependency_graph, the file contents and the last modification time
"""
content_hash = source_file.content_hash
content_hash_file_name = self._hash_file_name_of(source_file)
if not ostools.file_exists(content_hash_file_name):
LOGGER.debug("%s has no vunit_hash file at %s and must be recompiled",
source_file.name, content_hash_file_name)
return True
old_content_hash = ostools.read_file(content_hash_file_name)
if old_content_hash != content_hash:
LOGGER.debug("%s has different hash than last time and must be recompiled",
source_file.name)
return True
for other_file in dependency_graph.get_direct_dependencies(source_file):
other_content_hash_file_name = self._hash_file_name_of(other_file)
if not ostools.file_exists(other_content_hash_file_name):
continue
if more_recent(other_content_hash_file_name, content_hash_file_name):
LOGGER.debug("%s has dependency compiled earlier and must be recompiled",
source_file.name)
return True
LOGGER.debug("%s has same hash file and must not be recompiled",
source_file.name)
return False
示例2: create_library
def create_library(self, library_name, path):
if not file_exists(dirname(path)):
os.makedirs(dirname(path))
if not file_exists(path):
proc = Process(['vlib', '-unix', path])
proc.consume_output(callback=None)
try:
proc = Process(['vmap', '-modelsimini', self._modelsim_ini, library_name])
proc.consume_output(callback=None)
except Process.NonZeroExitCode:
pass
match = self._vmap_pattern.search(proc.output)
if match:
do_vmap = not file_exists(match.group('dir'))
else:
do_vmap = False
if 'No mapping for library' in proc.output:
do_vmap = True
if do_vmap:
proc = Process(['vmap','-modelsimini', self._modelsim_ini, library_name, path])
proc.consume_output(callback=None)
示例3: _create_modelsim_ini
def _create_modelsim_ini(self):
"""
Create the modelsim.ini file if it does not exist
"""
if file_exists(self._modelsim_ini):
return
parent = dirname(self._modelsim_ini)
if not file_exists(parent):
os.makedirs(parent)
with open(join(self._prefix, "..", "modelsim.ini"), 'rb') as fread:
with open(self._modelsim_ini, 'wb') as fwrite:
fwrite.write(fread.read())
示例4: _preprocess
def _preprocess(self, library_name, file_name, preprocessors):
"""
Preprocess file_name within library_name using explicit preprocessors
if preprocessors is None then use implicit globally defined processors
"""
# @TODO dependency checking etc...
if preprocessors is None:
preprocessors = [self._location_preprocessor, self._check_preprocessor]
preprocessors = [p for p in preprocessors if p is not None]
preprocessors = self._external_preprocessors + preprocessors
if len(preprocessors) == 0:
return file_name
code = ostools.read_file(file_name)
for preprocessor in preprocessors:
code = preprocessor.run(code, basename(file_name))
pp_file_name = join(self._preprocessed_path, library_name, basename(file_name))
idx = 1
while ostools.file_exists(pp_file_name):
LOGGER.debug("Preprocessed file exists '%s', adding prefix", pp_file_name)
pp_file_name = join(self._preprocessed_path,
library_name, "%i_%s" % (idx, basename(file_name)))
idx += 1
ostools.write_file(pp_file_name, code)
return pp_file_name
示例5: _create_modelsim_ini
def _create_modelsim_ini(self):
"""
Create the modelsim.ini file if it does not exist
"""
if file_exists(self._modelsim_ini):
return
write_file(self._modelsim_ini, read_file(join(self._prefix, "..", "modelsim.ini")))
示例6: add_source_file
def add_source_file(self, # pylint: disable=too-many-arguments
file_name, library_name, file_type='vhdl', include_dirs=None, defines=None,
vhdl_standard='2008',
no_parse=False):
"""
Add a file_name as a source file in library_name with file_type
:param no_parse: Do not parse file contents
"""
if not ostools.file_exists(file_name):
raise ValueError("File %r does not exist" % file_name)
LOGGER.debug('Adding source file %s to library %s', file_name, library_name)
self._validate_library_name(library_name)
library = self._libraries[library_name]
if file_type == "vhdl":
assert include_dirs is None
source_file = VHDLSourceFile(file_name, library,
vhdl_parser=self._vhdl_parser,
vhdl_standard=vhdl_standard,
no_parse=no_parse)
library.add_vhdl_design_units(source_file.design_units)
elif file_type == "verilog":
source_file = VerilogSourceFile(file_name, library, self._verilog_parser, include_dirs, defines, no_parse)
library.add_verilog_design_units(source_file.design_units)
else:
raise ValueError(file_type)
library.add_source_file(source_file)
self._source_files_in_order.append(source_file)
return source_file
示例7: _determine_partial_pass
def _determine_partial_pass(self, output_path):
"""
In case of simulation failure determine which of the individual test cases failed.
This is done by reading the test_runner_trace.csv file and checking for test case entry points.
"""
log_file = join(output_path, "test_runner_trace.csv")
retval = {}
for name in self.test_cases:
retval[name] = FAILED
if not ostools.file_exists(log_file):
return retval
test_log = ostools.read_file(log_file)
test_starts = []
for test_name in self._test_cases:
if "Test Runner,Test case: " + test_name in test_log:
test_starts.append(test_name)
for test_name in test_starts[:-1]:
retval[self._full_name(test_name)] = PASSED
for test_name in self._test_cases:
if test_name not in test_starts:
retval[self._full_name(test_name)] = SKIPPED
return retval
示例8: _preprocess
def _preprocess(self, library_name, file_name, preprocessors):
# @TODO dependency checking etc...
if preprocessors is None:
preprocessors = [self._location_preprocessor, self._check_preprocessor]
preprocessors = [p for p in preprocessors if not p is None]
preprocessors = self._external_preprocessors + preprocessors
if len(preprocessors) == 0:
return file_name
code = ostools.read_file(file_name)
for p in preprocessors:
code = p.run(code, basename(file_name))
pp_file_name = join(self._preprocessed_path, library_name, basename(file_name))
idx = 1
while ostools.file_exists(pp_file_name):
logger.debug("Preprocessed file exists '%s', adding prefix" % pp_file_name)
pp_file_name = join(self._preprocessed_path,
library_name, "%i_%s" % (idx, basename(file_name)))
idx += 1
ostools.write_file(pp_file_name, code)
return pp_file_name
示例9: create_library
def create_library(self, library_name, library_path, mapped_libraries=None):
"""
Create and map a library_name to library_path
"""
mapped_libraries = mapped_libraries if mapped_libraries is not None else {}
if not file_exists(abspath(library_path)):
os.makedirs(abspath(library_path))
if not file_exists(abspath(library_path+"/64/")):
os.makedirs(abspath(library_path+"/64/"))
if library_name in mapped_libraries and mapped_libraries[library_name] == library_path:
return
vcs = SetupFile.parse(self._vcssetup)
vcs[library_name] = library_path
vcs.write(self._vcssetup)
示例10: create_library
def create_library(self, library_name, path, mapped_libraries=None):
"""
Create and map a library_name to path
"""
mapped_libraries = mapped_libraries if mapped_libraries is not None else {}
if not file_exists(dirname(abspath(path))):
os.makedirs(dirname(abspath(path)))
if not file_exists(path):
proc = Process([join(self._prefix, 'vlib'), library_name, path], cwd=dirname(self._library_cfg))
proc.consume_output(callback=None)
if library_name in mapped_libraries and mapped_libraries[library_name] == path:
return
proc = Process([join(self._prefix, 'vmap'), library_name, path], cwd=dirname(self._library_cfg))
proc.consume_output(callback=None)
示例11: _create_library_cfg
def _create_library_cfg(self):
"""
Create the library.cfg file if it does not exist
"""
if file_exists(self._library_cfg):
return
with open(self._library_cfg, "w") as ofile:
ofile.write('$INCLUDE = "%s"\n' % join(self._prefix, "..", "vlib", "library.cfg"))
示例12: create_library
def create_library(self, library_name, path, mapped_libraries=None):
"""
Create and map a library_name to path
"""
mapped_libraries = mapped_libraries if mapped_libraries is not None else {}
if not file_exists(dirname(path)):
os.makedirs(dirname(path))
if not file_exists(path):
proc = Process([join(self._prefix, 'vlib'), '-unix', path])
proc.consume_output(callback=None)
if library_name in mapped_libraries and mapped_libraries[library_name] == path:
return
proc = Process([join(self._prefix, 'vmap'), '-modelsimini', self._modelsim_ini, library_name, path])
proc.consume_output(callback=None)
示例13: create_library
def create_library(self, library_name, path, mapped_libraries=None):
"""
Create and map a library_name to path
"""
mapped_libraries = mapped_libraries if mapped_libraries is not None else {}
if not file_exists(dirname(abspath(path))):
os.makedirs(dirname(abspath(path)))
if not file_exists(path):
proc = Process([join(self._prefix, 'vlib'), '-unix', path],
env=self.get_env())
proc.consume_output(callback=None)
if library_name in mapped_libraries and mapped_libraries[library_name] == path:
return
cfg = parse_modelsimini(self._sim_cfg_file_name)
cfg.set("Library", library_name, path)
write_modelsimini(cfg, self._sim_cfg_file_name)
示例14: create_library
def create_library(self, library_name, path, mapped_libraries=None):
"""
Create and map a library_name to path
"""
mapped_libraries = mapped_libraries if mapped_libraries is not None else {}
if not file_exists(dirname(abspath(path))):
os.makedirs(dirname(abspath(path)))
if not file_exists(path):
proc = Process([join(self._prefix, 'vlib'), '-unix', path])
proc.consume_output(callback=None)
if library_name in mapped_libraries and mapped_libraries[library_name] == path:
return
cfg = RawConfigParser()
cfg.read(self._modelsim_ini)
cfg.set("Library", library_name, path)
with open(self._modelsim_ini, "w") as optr:
cfg.write(optr)
示例15: _create_modelsim_ini
def _create_modelsim_ini(self):
"""
Create the modelsim.ini file
"""
parent = dirname(self._sim_cfg_file_name)
if not file_exists(parent):
os.makedirs(parent)
original_modelsim_ini = os.environ.get("VUNIT_MODELSIM_INI",
join(self._prefix, "..", "modelsim.ini"))
with open(original_modelsim_ini, 'rb') as fread:
with open(self._sim_cfg_file_name, 'wb') as fwrite:
fwrite.write(fread.read())