mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-24 07:03:56 -06:00
Test extruders for correctness but not for validity
The validity can't be tested using the built-in validator since that one checks if there are no settings that 'override' non-existing settings. And some of the settings overridden in an extruder are not in the inheritance stack since fdmextruder doesn't inherit from fdmprinter. We'll check though that all settings that are overridden don't override a default_value while there is a value, and whether they don't have IDs.
This commit is contained in:
parent
174b326f57
commit
6e6c510dcd
1 changed files with 4 additions and 4 deletions
|
@ -33,7 +33,7 @@ def definition_container():
|
|||
|
||||
|
||||
## Tests all definition containers
|
||||
@pytest.mark.parametrize("file_path", definition_filepaths)
|
||||
@pytest.mark.parametrize("file_path", machine_filepaths)
|
||||
def test_validateMachineDefinitionContainer(file_path, definition_container):
|
||||
file_name = os.path.basename(file_path)
|
||||
if file_name == "fdmprinter.def.json" or file_name == "fdmextruder.def.json":
|
||||
|
@ -60,7 +60,7 @@ def assertIsDefinitionValid(definition_container, file_path):
|
|||
# When a definition container defines a "default_value" but inherits from a
|
||||
# definition that defines a "value", the "default_value" is ineffective. This
|
||||
# test fails on those things.
|
||||
@pytest.mark.parametrize("file_path", machine_filepaths)
|
||||
@pytest.mark.parametrize("file_path", definition_filepaths)
|
||||
def test_validateOverridingDefaultValue(file_path: str):
|
||||
with open(file_path, encoding = "utf-8") as f:
|
||||
doc = json.load(f)
|
||||
|
@ -71,7 +71,7 @@ def test_validateOverridingDefaultValue(file_path: str):
|
|||
return # No settings are being overridden. No need to check anything.
|
||||
parent_settings = getInheritedSettings(doc["inherits"])
|
||||
for key, val in doc["overrides"].items():
|
||||
if "value" in parent_settings[key]:
|
||||
if key in parent_settings and "value" in parent_settings[key]:
|
||||
assert "default_value" not in val, "Unnecessary default_value for {key} in {file_name}".format(key = key, file_name = file_path) # If there is a value in the parent settings, then the default_value is not effective.
|
||||
|
||||
## Get all settings and their properties from a definition we're inheriting
|
||||
|
@ -132,7 +132,7 @@ def merge_dicts(base: Dict[str, Any], overrides: Dict[str, Any]) -> Dict[str, An
|
|||
#
|
||||
# ID fields are legacy. They should not be used any more. This is legacy that
|
||||
# people don't seem to be able to get used to.
|
||||
@pytest.mark.parametrize("file_path", machine_filepaths)
|
||||
@pytest.mark.parametrize("file_path", definition_filepaths)
|
||||
def test_noId(file_path: str):
|
||||
with open(file_path, encoding = "utf-8") as f:
|
||||
doc = json.load(f)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue