Package: src:rally-openstack Version: 3.0.0-8 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202512/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:rally-openstack, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions python3 setup.py clean /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: [... snipped ...] def test__get_value_add(self): self.assertEqual( "expression.some.crazy.add", > self.visitor._get_value( self._parse_expr("EXPR + '.some.crazy.add'") ) ) tests/unit/test_test_mock.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f0163a64bd0> node = BinOp(left=Name(id='EXPR', ctx=Load()), op=Add(), right=Constant(value='.some.crazy.add', kind=None)) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError ________ FuncMockArgsDecoratorsCheckerTestCase.test__get_value_asserts _________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test__get_value_asserts> def test__get_value_asserts(self): > self.assertRaises( ValueError, self.visitor._get_value, self._parse_expr("EXPR % 'abc'") ) tests/unit/test_test_mock.py:142: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/unit/test.py:60: in assertRaises callable(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError _________ FuncMockArgsDecoratorsCheckerTestCase.test__get_value_global _________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test__get_value_global> def test__get_value_global(self): self.assertEqual( "expression", > self.visitor._get_value( self._parse_expr("EXPR") ) ) tests/unit/test_test_mock.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f01649b5ef0> node = Name(id='EXPR', ctx=Load()) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError __________ FuncMockArgsDecoratorsCheckerTestCase.test__get_value_mod ___________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test__get_value_mod> def test__get_value_mod(self): self.assertEqual( "some.crazy.mod.expression", > self.visitor._get_value( self._parse_expr("'some.crazy.mod.%s' % EXPR") ) ) tests/unit/test_test_mock.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f0166b5a3f0> node = BinOp(left=Constant(value='some.crazy.mod.%s', kind=None), op=Mod(), right=Name(id='EXPR', ctx=Load())) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError __________ FuncMockArgsDecoratorsCheckerTestCase.test__get_value_none __________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test__get_value_none> def test__get_value_none(self): > self.assertRaises( ValueError, self.visitor._get_value, ast.parse("import abc") ) tests/unit/test_test_mock.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/unit/test.py:60: in assertRaises callable(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError __________ FuncMockArgsDecoratorsCheckerTestCase.test__get_value_str ___________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test__get_value_str> def test__get_value_str(self): self.assertEqual( "not.your.fault", > self.visitor._get_value(self._parse_expr("'not.your.fault'")) ) tests/unit/test_test_mock.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f01668213d0> node = Constant(value='not.your.fault', kind=None) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError _______________ FuncMockArgsDecoratorsCheckerTestCase.test_visit _______________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test_visit> def test_visit(self): self.visitor.classname_python = "my_class_object" > self.visitor.visit(self.tree) tests/unit/test_test_mock.py:439: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/ast.py:506: in visit return visitor(node) ^^^^^^^^^^^^^ tests/unit/test_mock.py:249: in visit_FunctionDef mock_decs = self._get_mock_decorators_variants(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/unit/test_mock.py:194: in _get_mock_decorators_variants + self._get_value(decorator.args[1])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f0166d417f0> node = Constant(value='abc', kind=None) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError _____________ FuncMockArgsDecoratorsCheckerTestCase.test_visit_ok ______________ self = <tests.unit.test_test_mock.FuncMockArgsDecoratorsCheckerTestCase testMethod=test_visit_ok> def test_visit_ok(self): self.visitor.classname_python = "my_class_object" > self.visitor.visit( self._parse_expr( """ class MyClassObjectTestCase(object): @mock.patch("foo.bar.MyClassObject.yep") @mock.patch("foo.bar.ClassName.ok") @mock.patch.object(pkg.FooClass, "method") def test_mockings(self, mock_pkg_foo_class_method, mock_class_name_ok, mock_yep): pass """) ) tests/unit/test_test_mock.py:460: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/ast.py:506: in visit return visitor(node) ^^^^^^^^^^^^^ tests/unit/test_mock.py:241: in visit_ClassDef self.generic_visit(node) /usr/lib/python3.14/ast.py:514: in generic_visit self.visit(item) /usr/lib/python3.14/ast.py:506: in visit return visitor(node) ^^^^^^^^^^^^^ tests/unit/test_mock.py:249: in visit_FunctionDef mock_decs = self._get_mock_decorators_variants(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/unit/test_mock.py:194: in _get_mock_decorators_variants + self._get_value(decorator.args[1])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.unit.test_mock.FuncMockArgsDecoratorsChecker object at 0x7f01675acc50> node = Constant(value='method', kind=None) def _get_value(self, node): """Get mock.patch string argument regexp. It is either a string (if we are lucky), string-format of ("%s.something" % GVAL) or (GVAL + ".something") """ val = None > if isinstance(node, ast.Str): ^^^^^^^ E AttributeError: module 'ast' has no attribute 'Str' tests/unit/test_mock.py:116: AttributeError =========================== short test summary info ============================ FAILED tests/unit/test_mock.py::MockUsageCheckerTestCase::test_mock_decorators_and_args FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_mock_decorators_variants FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_add FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_asserts FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_global FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_mod FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_none FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test__get_value_str FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test_visit FAILED tests/unit/test_test_mock.py::FuncMockArgsDecoratorsCheckerTestCase::test_visit_ok ================ 10 failed, 2124 passed, 5 deselected in 16.58s ================ make[1]: *** [debian/rules:27: override_dh_auto_install] Error 1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:6: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

