Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions src/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,20 +316,20 @@ def set(self, name, value):
}

if name[0] == "_":
ConfigException(f"Attempting to set an internal configuration variable {name}.")
raise ConfigException(f"Attempting to set an internal configuration variable {name}.")
if getattr(self, name, None) is None:
ConfigException(f"Unknown configuration variable {name}.\n"
f"It's likely a typo in the configuration file.")
raise ConfigException(f"Unknown configuration variable {name}.\n"
f"It's likely a typo in the configuration file.")
if type(self.__getattribute__(name)) != type(value):
ConfigException(f"Wrong type of the configuration variable {name}.\n"
f"It's likely a typo in the configuration file.")
raise ConfigException(f"Wrong type of the configuration variable {name}.\n"
f"It's likely a typo in the configuration file.")

# value checks
if options.get(name, '') != '' and value not in options[name]:
ConfigException(f"Unknown value '{value}' of configuration variable '{name}'")
raise ConfigException(f"Unknown value '{value}' of configuration variable '{name}'")
if (self.input_main_region_size % 4096 != 0) or \
(self.input_assist_region_size % 4096 != 0):
ConfigException("Inputs must be page-aligned")
raise ConfigException("Inputs must be page-aligned")

# special handling
if name == "extended_instruction_blocklist":
Expand Down
3 changes: 1 addition & 2 deletions src/coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -285,5 +285,4 @@ def get_coverage(instruction_set: InstructionSet, executor: Executor, model: Mod
elif CONF.coverage_type == 'none':
return NoCoverage(instruction_set, executor, model, analyser)
else:
ConfigException("unknown value of `coverage_type` configuration option")
exit(1)
raise ConfigException("unknown value of `coverage_type` configuration option")
2 changes: 1 addition & 1 deletion src/executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -1178,6 +1178,6 @@ def get_executor() -> Executor:
'x86-gem5': X86Gem5
}
if CONF.executor not in options:
ConfigException("unknown executor in config.py")
raise ConfigException("unknown executor in config.py")
return options[CONF.executor]()

3 changes: 1 addition & 2 deletions src/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1273,5 +1273,4 @@ def get_generator(instruction_set: InstructionSet) -> Generator:
if CONF.generator == 'random':
return X86RandomGenerator(instruction_set)

ConfigException("unknown value of `instruction_set` configuration option")
exit(1)
raise ConfigException("unknown value of `instruction_set` configuration option")
3 changes: 1 addition & 2 deletions src/input_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,5 @@ def get_input_generator() -> InputGenerator:
'random': RandomInputGenerator,
}
if CONF.input_generator not in options:
ConfigException("unknown input_generator in config.py")
exit(1)
raise ConfigException("unknown input_generator in config.py")
return options[CONF.input_generator]()
9 changes: 3 additions & 6 deletions src/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -1044,8 +1044,7 @@ def get_model(bases: Tuple[int, int]) -> Model:
elif "seq" in CONF.contract_execution_clause:
model = X86UnicornSeq(bases[0], bases[1])
else:
ConfigException("unknown value of `contract_execution_clause` configuration option")
exit(1)
raise ConfigException("unknown value of `contract_execution_clause` configuration option")

# observational part of the contract
if CONF.contract_observation_clause == "l1d":
Expand All @@ -1063,10 +1062,8 @@ def get_model(bases: Tuple[int, int]) -> Model:
elif CONF.contract_observation_clause == 'arch':
model.tracer = ArchTracer()
else:
ConfigException("unknown value of `contract_observation_clause` configuration option")
exit(1)
raise ConfigException("unknown value of `contract_observation_clause` configuration option")

return model
else:
ConfigException("unknown value of `model` configuration option")
exit(1)
raise ConfigException("unknown value of `model` configuration option")