def test_error_is_raised(self): found_sigs = enum_all() # Make sure that errors are actually raised. search = list(found_sigs.keys()) pos = 42 # arbitrary and historycal, could be 0 as well # We try all variants: while type(found_sigs[search[pos]]) is not tuple: pos += 1 tuple_key = search[pos] while type(found_sigs[search[pos]]) is not list: pos += 1 list_key = search[pos] test_sigs = found_sigs.copy() test_sigs.pop(tuple_key) with isolate_warnings(), suppress_warnings(): self._do_the_test(test_sigs) self.assertTrue(check_warnings(), "you warn about too few entries") test_sigs = found_sigs.copy() test_sigs["whatnot"] = ("nothing", "real") with isolate_warnings(), suppress_warnings(): self._do_the_test(test_sigs) self.assertFalse(check_warnings(), "you ignore too many entries") test_sigs = found_sigs.copy() repl = test_sigs[list_key] repl.pop(0) test_sigs[list_key] = repl with isolate_warnings(), suppress_warnings(): self._do_the_test(test_sigs) # An arity that is now missing is an error. self.assertTrue(check_warnings(), "you warn when arity got smaller") test_sigs = found_sigs.copy() repl = test_sigs[list_key] repl = repl[0] assert type(repl) is tuple test_sigs[list_key] = repl with isolate_warnings(), suppress_warnings(): self._do_the_test(test_sigs) # An arity that is now missing is an error. self.assertTrue(check_warnings(), "you warn when list degraded to tuple") test_sigs = found_sigs.copy() repl = test_sigs[list_key] repl = repl + repl test_sigs[list_key] = repl with isolate_warnings(), suppress_warnings(): self._do_the_test(test_sigs) # More arities are ignored, because we might test an older version. self.assertFalse(check_warnings(), "you ignore when arity got bigger")
def test_error_is_raised(self): found_sigs = enum_all() # make sure that errors are actually raised found_sigs.pop(list(found_sigs.keys())[42]) with isolate_warnings(), suppress_warnings(): for key, value in sig_exists.dict.items(): name = key.rsplit(".", 1)[-1] if name in ("next", "__next__"): # ignore problematic cases continue if key not in found_sigs: warn("missing key: '{}'".format(key)) elif isinstance(value, list) and len(value) != len(found_sigs[key]): warn("multi-signature count mismatch: '{}'".format(key)) self.assertTrue(check_warnings())
# load general packages and functions import datetime # load GraphINVENT-specific functions import util from parameters.constants import constants from Workflow import Workflow # suppress minor warnings util.suppress_warnings() # defines and runs the job def main(): """ Defines the type of job (preprocessing, training, generation, or testing), writes the job parameters (for future reference), and runs the job. """ # fix date/time _ = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") workflow = Workflow(constants=constants) job_type = constants.job_type print(f"* Run mode: '{job_type}'", flush=True) if job_type == "preprocess": # write preprocessing parameters util.write_preprocessing_parameters(params=constants)