From 842bdfbf643220eaf51b10ab651c79cc7b8f975c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 31 Jan 2020 14:38:10 +0100 Subject: [PATCH] Add test to force submitters to stay below 1MB for platform meshes This is our current policy. So this way we'll let submitters of new definition files know that their platform meshes might be too big. If they are too big they'll get a fat X at their PR. --- tests/Resources/TestMeshes.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/Resources/TestMeshes.py diff --git a/tests/Resources/TestMeshes.py b/tests/Resources/TestMeshes.py new file mode 100644 index 0000000000..792836e38d --- /dev/null +++ b/tests/Resources/TestMeshes.py @@ -0,0 +1,20 @@ +# Copyright (c) 2020 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +import os.path # To find the platform meshes. +import os # To test the file size of platform meshes. +import pytest # To define parametrised tests. + +# Make sure we have the paths to the platform meshes. +all_meshes = sorted(os.listdir(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "meshes"))) +all_meshes = [os.path.join(os.path.dirname(__file__), "..", "..", "resources", "meshes", filename) for filename in all_meshes] + +@pytest.mark.parametrize("file_path", all_meshes) +def test_meshSize(file_path: str) -> None: + """ + Tests if the mesh files are not too big. + + Our policy is that platform meshes should not exceed 1MB. + :param file_path: The path to the platform mesh to test. + """ + assert os.stat(file_path).st_size < 1024 * 1024 * 1.1 # Even though our policy is 1MB, allow for 10% leniency. \ No newline at end of file