summarylogtreecommitdiffstats
path: root/python311-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'python311-fix.patch')
-rw-r--r--python311-fix.patch179
1 files changed, 0 insertions, 179 deletions
diff --git a/python311-fix.patch b/python311-fix.patch
deleted file mode 100644
index dfd3b7744948..000000000000
--- a/python311-fix.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-From 90c1695cfeee62e1a041cf298450a70766305102 Mon Sep 17 00:00:00 2001
-Date: Thu, 18 May 2023 02:25:57 -0400
-Subject: [PATCH] python3.11 fix
-
----
- common/test/test_backintime.py | 95 +++++++++++++++++++++++-----------
- 1 file changed, 66 insertions(+), 29 deletions(-)
-
-diff --git a/common/test/test_backintime.py b/common/test/test_backintime.py
-index e091ee4..5d1836c 100644
---- a/common/test/test_backintime.py
-+++ b/common/test/test_backintime.py
-@@ -14,7 +14,6 @@
- # You should have received a copy of the GNU General Public License along
- # with this program; if not, write to the Free Software Foundation,Inc.,
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--
- import os
- import re
- import subprocess
-@@ -25,14 +24,10 @@ import json
-
- import config
-
--
--
- sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
-
-
- class TestBackInTime(generic.TestCase):
-- """main tests for backintime"""
--
- def setUp(self):
- super(TestBackInTime, self).setUp()
-
-@@ -42,13 +37,20 @@ class TestBackInTime(generic.TestCase):
- self.assertEqual("", output)
-
- def test_local_snapshot_is_successful(self):
-- """end to end test - from BIT initialization through snapshot
-+ """From BIT initialization through snapshot
-
- From BIT initialization all the way through successful snapshot on a
- local mount. test one of the highest level interfaces a user could
- work with - the command line ensures that argument parsing,
- functionality, and output all work as expected is NOT intended to
-- replace individual method tests, which are incredibly useful as well
-+ replace individual method tests, which are incredibly useful as well.
-+
-+ Development notes (by Buhtz):
-+ Multiple tests do compare return codes and output on stdout. The
-+ intention might be an integration tests. But the asserts not qualified
-+ to answer the important questions and observe the intended behaviour.
-+ Heavy refactoring is needed. But because of the "level" of that tests
-+ it won't happen in the near future.
- """
-
- # ensure that we see full diffs of assert output if there are any
-@@ -57,6 +59,7 @@ class TestBackInTime(generic.TestCase):
- # create pristine source directory with single file
- subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")
- os.mkdir('/tmp/test')
-+
- with open('/tmp/test/testfile', 'w') as f:
- f.write('some data')
-
-@@ -129,29 +132,56 @@ This is free software, and you are welcome to redistribute it
- under certain conditions; type `backintime --license' for details.
- ''', re.MULTILINE))
-
-+ # Workaround until refactoring was done (Buhtz, Feb.'23)
- # The log output completely goes to stderr.
-- # Note: DBus warnings at the begin and end are already ignored by the regex
-- # but if the BiT serviceHelper.py DBus daemon is not installed
-- # at all the warnings also occur in the middle of below expected
-- # INFO log lines so they are removed by filtering here.
-- # TODO If filtering output rows should become a common testing pattern
-- # this code should be refactored into a function for reusability.
-- log_output = []
-- for line in error.decode().split("\n"):
-- if (not line.startswith("WARNING: Failed to connect to Udev serviceHelper")
-- and not line.startswith("WARNING: D-Bus message:")
-- and not line.startswith("WARNING: Udev-based profiles cannot be changed or checked")
-- and not line.startswith("WARNING: Inhibit Suspend failed")):
-- log_output.append(line)
-- filtered_log_output = "\n".join(log_output)
-+ # Note: DBus warnings at the begin and end are already ignored by the
-+ # regex but if the BiT serviceHelper.py DBus daemon is not
-+ # installed at all the warnings also occur in the middle of below
-+ # expected INFO log lines so they are removed by filtering here.
-+ # The same goes with Gtk warnings.
-+
-+ line_beginnings_to_exclude = [
-+ "WARNING: Failed to connect to Udev serviceHelper",
-+ "WARNING: D-Bus message:",
-+ "WARNING: Udev-based profiles cannot be changed or checked",
-+ "WARNING: Inhibit Suspend failed",
-+ "Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway"
-+ ]
-+
-+ line_contains_to_exclude = [
-+ "Gtk-WARNING",
-+ "qt.qpa.plugin: Could not find the Qt platform plugin"
-+ ]
-+
-+ # remove lines via startswith()
-+ filtered_log_output = filter(
-+ lambda line: not any([
-+ line.startswith(ex) for ex in line_beginnings_to_exclude]),
-+ error.decode().split('\n')
-+ )
-+
-+ # remove lines via __contains__()
-+ filtered_log_output = filter(
-+ lambda line: not any([
-+ ex in line for ex in line_contains_to_exclude]),
-+ filtered_log_output
-+ )
-+
-+ # remove empty lines
-+ filtered_log_output = filter(
-+ lambda line: line,
-+ filtered_log_output
-+ )
-+
-+ filtered_log_output = '\n'.join(filtered_log_output)
-+
- self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
- INFO: Take a new snapshot. Profile: 1 Main profile
- INFO: Call rsync to take the snapshot
- INFO: Save config file
- INFO: Save permissions
- INFO: Create info file
--INFO: Unlock
--''', re.MULTILINE))
-+INFO: Unlock''', re.MULTILINE))
-
- # get snapshot id
- subprocess.check_output(["./backintime",
-@@ -187,8 +217,13 @@ under certain conditions; type `backintime --license' for details.
- ''', re.MULTILINE))
-
- # The log output completely goes to stderr
-- self.assertRegex(error.decode(), re.compile(r'''INFO: Restore: /tmp/test/testfile to: /tmp/restored.*''',
-- re.MULTILINE))
-+ self.assertRegex(
-+ error.decode(),
-+ re.compile(
-+ r'''INFO: Restore: /tmp/test/testfile to: /tmp/restored.*''',
-+ re.MULTILINE
-+ )
-+ )
-
- # verify that files restored are the same as those backed up
- subprocess.check_output(["diff",
-@@ -197,14 +232,16 @@ under certain conditions; type `backintime --license' for details.
- "/tmp/restored"])
-
- def test_diagnostics_arg(self):
--
- # "output" from stdout may currently be polluted with logging output
- # lines from INFO and DEBUG log output.
- # Logging output of WARNING and ERROR is already written to stderr
-- # so `check_output` does work here (returns only stdout without stderr).
-+ # so `check_output` does work here (returns only stdout without
-+ # stderr).
- output = subprocess.check_output(["./backintime", "--diagnostics"])
- # output = subprocess.getoutput("./backintime --diagnostics")
-
- diagnostics = json.loads(output)
-- self.assertEqual(diagnostics["backintime"]["name"], config.Config.APP_NAME)
-- self.assertEqual(diagnostics["backintime"]["version"], config.Config.VERSION)
-+ self.assertEqual(diagnostics["backintime"]["name"],
-+ config.Config.APP_NAME)
-+ self.assertEqual(diagnostics["backintime"]["version"],
-+ config.Config.VERSION)
---
-2.40.1
-