Compare commits
No commits in common. "rawhide" and "f39" have entirely different histories.
4 changed files with 2 additions and 150 deletions
90
997.patch
90
997.patch
|
|
@ -1,90 +0,0 @@
|
|||
From fd201d1c12f9148b267a3a46353ef8110b8385a4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Mon, 26 May 2025 12:22:59 +0200
|
||||
Subject: [PATCH] Access ast.Constant.value, not .s -- the latter is gone from
|
||||
Python 3.14+
|
||||
|
||||
Followup for https://github.com/Ultimaker/Uranium/issues/498
|
||||
|
||||
Test failures this fixes:
|
||||
|
||||
_____________________________ test_init_good["x"] ______________________________
|
||||
|
||||
setting_function_good = <UM.Settings.SettingFunction (0x7f36b42aa200) ="x" >
|
||||
|
||||
def test_init_good(setting_function_good):
|
||||
assert setting_function_good is not None
|
||||
> assert setting_function_good.isValid()
|
||||
E assert False
|
||||
E + where False = isValid()
|
||||
E + where isValid = <UM.Settings.SettingFunction (0x7f36b42aa200) ="x" >.isValid
|
||||
|
||||
tests/Settings/TestSettingFunction.py:64: AssertionError
|
||||
---------------------------- Captured stdout setup -----------------------------
|
||||
[MainThread] UM.Settings.SettingFunction._safeCompile [80]: Exception in function ('Constant' object has no attribute 's') for setting: "x"
|
||||
_______________________________ test_call[data1] _______________________________
|
||||
|
||||
data = {'code': '"x"', 'result': 'x'}
|
||||
|
||||
@pytest.mark.parametrize("data", test_call_data)
|
||||
def test_call(data):
|
||||
value_provider = MockValueProvider()
|
||||
function = SettingFunction(data["code"])
|
||||
> assert function(value_provider) == data["result"]
|
||||
E assert None == 'x'
|
||||
E + where None = <UM.Settings.SettingFunction (0x7f36be9e57f0) ="x" >(<tests.Settings.TestSettingFunction.MockValueProvider object at 0x7f36c0f27250>)
|
||||
|
||||
tests/Settings/TestSettingFunction.py:115: AssertionError
|
||||
----------------------------- Captured stdout call -----------------------------
|
||||
[MainThread] UM.Settings.SettingFunction._safeCompile [80]: Exception in function ('Constant' object has no attribute 's') for setting: "x"
|
||||
_________________________ test_getUsedSettings[data1] __________________________
|
||||
|
||||
data = {'code': '"x"', 'variables': ['x']}
|
||||
|
||||
@pytest.mark.parametrize("data", test_getUsedSettings_data)
|
||||
def test_getUsedSettings(data):
|
||||
function = SettingFunction(data["code"])
|
||||
answer = function.getUsedSettingKeys()
|
||||
> assert len(answer) == len(data["variables"])
|
||||
E AssertionError: assert 0 == 1
|
||||
E + where 0 = len(frozenset())
|
||||
E + and 1 = len(['x'])
|
||||
|
||||
tests/Settings/TestSettingFunction.py:159: AssertionError
|
||||
----------------------------- Captured stdout call -----------------------------
|
||||
[MainThread] UM.Settings.SettingFunction._safeCompile [80]: Exception in function ('Constant' object has no attribute 's') for setting: "x"
|
||||
_________________________ test_getUsedSettings[data7] __________________________
|
||||
|
||||
data = {'code': "sqrt('x')", 'variables': ['x']}
|
||||
|
||||
@pytest.mark.parametrize("data", test_getUsedSettings_data)
|
||||
def test_getUsedSettings(data):
|
||||
function = SettingFunction(data["code"])
|
||||
answer = function.getUsedSettingKeys()
|
||||
> assert len(answer) == len(data["variables"])
|
||||
E AssertionError: assert 0 == 1
|
||||
E + where 0 = len(frozenset())
|
||||
E + and 1 = len(['x'])
|
||||
|
||||
tests/Settings/TestSettingFunction.py:159: AssertionError
|
||||
----------------------------- Captured stdout call -----------------------------
|
||||
[MainThread] UM.Settings.SettingFunction._safeCompile [80]: Exception in function ('Constant' object has no attribute 's') for setting: sqrt('x')
|
||||
---
|
||||
UM/Settings/SettingFunction.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/UM/Settings/SettingFunction.py b/UM/Settings/SettingFunction.py
|
||||
index 194087a00..5f3240cb6 100644
|
||||
--- a/UM/Settings/SettingFunction.py
|
||||
+++ b/UM/Settings/SettingFunction.py
|
||||
@@ -274,8 +274,8 @@ def visit_Constant(self, node) -> None:
|
||||
|
||||
if node.value in self._blacklist:
|
||||
raise IllegalMethodError(node.value)
|
||||
- if node.s.startswith("_"):
|
||||
- raise IllegalMethodError(node.s)
|
||||
+ if node.value.startswith("_"):
|
||||
+ raise IllegalMethodError(node.value)
|
||||
if node.value not in self._knownNames and node.value not in dir(builtins): # type: ignore #AST uses getattr stuff, so ignore type of node.value.
|
||||
self.keys.add(node.value) # type: ignore
|
||||
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From dd2c31bc0f38d11c8351d89fae3d92cd12da885e Mon Sep 17 00:00:00 2001
|
||||
From: Remco Burema <r.burema@ultimaker.com>
|
||||
Date: Wed, 21 Feb 2024 11:39:49 +0100
|
||||
Subject: [PATCH 1/3] Protobuf version mismatch caused tests,builds to fail.
|
||||
|
||||
---
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index 4fcd4cefd..4f500fabc 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -59,3 +59,17 @@ def upgrade_manager(application):
|
||||
upgrade_manager = VersionUpgradeManager(application)
|
||||
return upgrade_manager
|
||||
|
||||
+def pytest_collection_modifyitems(items):
|
||||
+ """ Modifies test items in place to ensure test classes run in a given order.
|
||||
+ See: https://stackoverflow.com/questions/70738211/run-pytest-classes-in-custom-order/70758938#70758938
|
||||
+ """
|
||||
+ CLASS_ORDER = ["TestActiveToolProxy"] # All classes that need to be run in-order, in that order -- all others will run _before_.
|
||||
+ class_mapping = {item: item.cls.__name__ for item in items}
|
||||
+
|
||||
+ sorted_items = items.copy()
|
||||
+ # Iteratively move tests of each class to the end of the test queue
|
||||
+ for class_ in CLASS_ORDER:
|
||||
+ sorted_items = [it for it in sorted_items if class_mapping[it] != class_] + [
|
||||
+ it for it in sorted_items if class_mapping[it] == class_
|
||||
+ ]
|
||||
+ items[:] = sorted_items
|
||||
|
||||
From cd4eb2cf8c450c23a3f2d42619ee36ec93d49a6d Mon Sep 17 00:00:00 2001
|
||||
From: Remco Burema <r.burema@ultimaker.com>
|
||||
Date: Wed, 21 Feb 2024 16:22:24 +0100
|
||||
Subject: [PATCH 3/3] Not all our tests are classes.
|
||||
|
||||
---
|
||||
tests/conftest.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index 4f500fabc..d26f2545a 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -64,7 +64,7 @@ def pytest_collection_modifyitems(items):
|
||||
See: https://stackoverflow.com/questions/70738211/run-pytest-classes-in-custom-order/70758938#70758938
|
||||
"""
|
||||
CLASS_ORDER = ["TestActiveToolProxy"] # All classes that need to be run in-order, in that order -- all others will run _before_.
|
||||
- class_mapping = {item: item.cls.__name__ for item in items}
|
||||
+ class_mapping = {item: (item.cls.__name__ if item.cls else "") for item in items}
|
||||
|
||||
sorted_items = items.copy()
|
||||
# Iteratively move tests of each class to the end of the test queue
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
Name: python-uranium
|
||||
Version: 5.6.0
|
||||
Version: 5.4.0
|
||||
Release: %autorelease
|
||||
Summary: A Python framework for building desktop applications
|
||||
License: LGPL-3.0-or-later
|
||||
|
|
@ -8,11 +8,6 @@ Source: %{url}/archive/%{version}.tar.gz#/Uranium-%{version}.tar.gz
|
|||
Patch: Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
|
||||
# Fix asserts for called once in Python 3.12:
|
||||
Patch: https://github.com/Ultimaker/Uranium/pull/885.patch#/Uranium-5.3.0-python3.12.patch
|
||||
# Force test order to fix FTBFS with pytest 8
|
||||
# From https://github.com/Ultimaker/Uranium/pull/941
|
||||
Patch: Uranium-5.6.0-pytest8.patch
|
||||
# Fix for Python 3.14
|
||||
Patch: https://github.com/Ultimaker/Uranium/pull/997.patch
|
||||
|
||||
# Cmake bits taken from 4.13.1, before upstream went nuts with conan
|
||||
Source2: mod_bundled_packages_json.py
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (Uranium-5.6.0.tar.gz) = 575beb75cd73d50f85ff14fc5e5d90883f45ffc5c400dd1dcf2936e37780ab961c70da312c0a7cd856ee9c9cb8b3c4f8299488a8449e698c1c65354e7df14f19
|
||||
SHA512 (Uranium-5.4.0.tar.gz) = 47575482a5ac5ea9ea0d69f87698fd434d8ce5fbf20b84583476f27129694e52bb21db3df4dd66d5935e4e9dd14c5e5332db3370822c76af9b9e95c1a828bc45
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue