diff options
author | Vicent Marti <tanoku@gmail.com> | 2013-02-20 21:49:00 +0400 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2013-02-20 21:49:00 +0400 |
commit | 63964c891b47cda821797ea435fb4290410a6f6d (patch) | |
tree | ddc838442fe3416b97dc9f20750fac3e682d2d08 /tests-clar/generate.py | |
parent | fd69c7bf9a41d3fbdb4ae571af2eef5ff8fb6335 (diff) |
Disable caching in Clarclar-no-cache
Diffstat (limited to 'tests-clar/generate.py')
-rw-r--r-- | tests-clar/generate.py | 67 |
1 files changed, 8 insertions, 59 deletions
diff --git a/tests-clar/generate.py b/tests-clar/generate.py index 1c96f9b68..c2739224d 100644 --- a/tests-clar/generate.py +++ b/tests-clar/generate.py @@ -60,10 +60,7 @@ class Module(object): def __init__(self, name): self.name = name - - self.mtime = 0 self.enabled = True - self.modified = False def clean_name(self): return self.name.replace("_", "::") @@ -105,41 +102,17 @@ class Module(object): return self.callbacks != [] - def refresh(self, path): - self.modified = False - + def load(self, path): try: - st = os.stat(path) - - # Not modified - if st.st_mtime == self.mtime: - return True - - self.modified = True - self.mtime = st.st_mtime - with open(path) as fp: - raw_content = fp.read() - + return self.parse(fp.read()) except IOError: return False - return self.parse(raw_content) - class TestSuite(object): - def __init__(self, path): self.path = path - def should_generate(self, path): - if not os.path.isfile(path): - return True - - if any(module.modified for module in self.modules.values()): - return True - - return False - def find_modules(self): modules = [] for root, _, files in os.walk(self.path): @@ -156,33 +129,15 @@ class TestSuite(object): return modules - def load_cache(self): - path = os.path.join(self.path, '.clarcache') - cache = {} - - try: - fp = open(path, 'rb') - cache = pickle.load(fp) - fp.close() - except (IOError, ValueError): - pass - - return cache - - def save_cache(self): - path = os.path.join(self.path, '.clarcache') - with open(path, 'wb') as cache: - pickle.dump(self.modules, cache) - def load(self, force = False): module_data = self.find_modules() - self.modules = {} if force else self.load_cache() + self.modules = {} for path, name in module_data: if name not in self.modules: self.modules[name] = Module(name) - if not self.modules[name].refresh(path): + if not self.modules[name].load(path): del self.modules[name] def disable(self, excluded): @@ -202,9 +157,6 @@ class TestSuite(object): def write(self): output = os.path.join(self.path, 'clar.suite') - if not self.should_generate(output): - return False - with open(output, 'w') as data: for module in self.modules.values(): t = Module.DeclarationTemplate(module) @@ -223,22 +175,19 @@ class TestSuite(object): data.write("static const size_t _clar_suite_count = %d;\n" % self.suite_count()) data.write("static const size_t _clar_callback_count = %d;\n" % self.callback_count()) - suite.save_cache() - return True - if __name__ == '__main__': from optparse import OptionParser parser = OptionParser() - parser.add_option('-f', '--force', dest='force', default=False) parser.add_option('-x', '--exclude', dest='excluded', action='append', default=[]) options, args = parser.parse_args() for path in args or ['.']: suite = TestSuite(path) - suite.load(options.force) + suite.load() suite.disable(options.excluded) - if suite.write(): - print("Written `clar.suite` (%d suites)" % len(suite.modules)) + suite.write() + + print("Written `clar.suite` (%d suites)" % len(suite.modules)) |