mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-15 10:47:49 -06:00
Added test for definition container
CURA-5977
This commit is contained in:
parent
c4d0207cc1
commit
2b45262a85
5 changed files with 52 additions and 31 deletions
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2017 Ultimaker B.V.
|
||||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin
|
||||
|
@ -325,11 +325,10 @@ class UM3OutputDevicePlugin(OutputDevicePlugin):
|
|||
|
||||
## Handler for zeroConf detection.
|
||||
# Return True or False indicating if the process succeeded.
|
||||
# Note that this function can take over 3 seconds to complete. Be carefull calling it from the main thread.
|
||||
# Note that this function can take over 3 seconds to complete. Be careful
|
||||
# calling it from the main thread.
|
||||
def _onServiceChanged(self, zero_conf, service_type, name, state_change):
|
||||
if state_change == ServiceStateChange.Added:
|
||||
Logger.log("d", "Bonjour service added: %s" % name)
|
||||
|
||||
# First try getting info from zero-conf cache
|
||||
info = ServiceInfo(service_type, name, properties = {})
|
||||
for record in zero_conf.cache.entries_with_name(name.lower()):
|
||||
|
|
|
@ -4149,9 +4149,7 @@
|
|||
"minimum_value": "0",
|
||||
"enabled": "support_enable",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": true,
|
||||
"fabricate_enabled": true,
|
||||
"intermediate_enabled": true
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_interface_enable":
|
||||
{
|
||||
|
|
|
@ -26,11 +26,6 @@
|
|||
"machine_center_is_zero": { "default_value": true },
|
||||
"machine_nozzle_heat_up_speed": { "default_value": 2.0 },
|
||||
"machine_nozzle_cool_down_speed": { "default_value": 2.0 },
|
||||
"machine_head_shape_min_x": { "default_value": 75 },
|
||||
"machine_head_shape_min_y": { "default_value": 18 },
|
||||
"machine_head_shape_max_x": { "default_value": 18 },
|
||||
"machine_head_shape_max_y": { "default_value": 35 },
|
||||
"machine_nozzle_gantry_distance": { "default_value": 55 },
|
||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||
|
||||
"machine_start_gcode": {
|
||||
|
|
|
@ -30,27 +30,9 @@
|
|||
"machine_shape": {
|
||||
"default_value": "elliptic"
|
||||
},
|
||||
"machine_head_shape_min_x": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_head_shape_min_y": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_head_shape_max_x": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_head_shape_max_y": {
|
||||
"default_value": 0
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_nozzle_offset_x_1": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_nozzle_offset_y_1": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
|
|
47
tests/Settings/TestDefinitionContainer.py
Normal file
47
tests/Settings/TestDefinitionContainer.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import pytest #This module contains automated tests.
|
||||
|
||||
import UM.Settings.ContainerRegistry #To create empty instance containers.
|
||||
import UM.Settings.ContainerStack #To set the container registry the container stacks use.
|
||||
from UM.Settings.DefinitionContainer import DefinitionContainer #To check against the class of DefinitionContainer.
|
||||
|
||||
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import uuid
|
||||
|
||||
from UM.Resources import Resources
|
||||
Resources.addSearchPath(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "resources")))
|
||||
|
||||
|
||||
#############################START OF TEST CASES################################
|
||||
|
||||
@pytest.fixture
|
||||
def definition_container():
|
||||
uid = str(uuid.uuid4())
|
||||
result = UM.Settings.DefinitionContainer.DefinitionContainer(uid)
|
||||
assert result.getId() == uid
|
||||
return result
|
||||
|
||||
## Tests all definition containers
|
||||
def test_validateDefintionContainer(definition_container):
|
||||
|
||||
definition_path = os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions")
|
||||
all_definition_files = os.listdir(definition_path)
|
||||
|
||||
for file_name in all_definition_files:
|
||||
|
||||
if file_name == "fdmprinter.def.json" or file_name == "fdmextruder.def.json":
|
||||
continue
|
||||
|
||||
with open(os.path.join(definition_path, file_name), encoding = "utf-8") as data:
|
||||
|
||||
json = data.read()
|
||||
parser, is_valid = definition_container.readAndValidateSerialized(json)
|
||||
if(not is_valid):
|
||||
print("The File Name: '{0}', has invalid data ".format(file_name))
|
||||
# To see the detailed data from log, comment the assert check and execute the test again. It will print invalid data
|
||||
assert is_valid == True
|
Loading…
Add table
Add a link
Reference in a new issue