68 lines
2.7 KiB
Diff
68 lines
2.7 KiB
Diff
From 54ad75426825cdd977f770b12a62ee92218b82d6 Mon Sep 17 00:00:00 2001
|
|
From: Raoul Snyman <raoul@snyman.info>
|
|
Date: Thu, 3 Feb 2022 11:26:24 -0700
|
|
Subject: [PATCH] Make two versions of a test to work around a difference in
|
|
Python 3.10
|
|
|
|
---
|
|
tests/openlp_core/common/test_applocation.py | 29 +++++++++++++++++++-
|
|
1 file changed, 28 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/tests/openlp_core/common/test_applocation.py b/tests/openlp_core/common/test_applocation.py
|
|
index 2aebc5213..432773ec7 100644
|
|
--- a/tests/openlp_core/common/test_applocation.py
|
|
+++ b/tests/openlp_core/common/test_applocation.py
|
|
@@ -22,9 +22,12 @@
|
|
Functional tests to test the AppLocation class and related methods.
|
|
"""
|
|
import os
|
|
+import sys
|
|
from pathlib import Path
|
|
from unittest.mock import patch
|
|
|
|
+import pytest
|
|
+
|
|
from openlp.core.common import get_frozen_path
|
|
from openlp.core.common.applocation import AppLocation
|
|
|
|
@@ -141,11 +144,35 @@ def test_get_directory_for_app_dir(mocked_get_frozen_path):
|
|
assert directory == Path.cwd() / Path('app', 'dir'), 'Directory should be "app/dir"'
|
|
|
|
|
|
+@pytest.mark.skipif(sys.version_info < (3, 10), reason="Python 3.10 version of this test")
|
|
+@patch('openlp.core.common.applocation.get_frozen_path')
|
|
+@patch('openlp.core.common.applocation.os.path.abspath')
|
|
+@patch('openlp.core.common.applocation.os.path.split')
|
|
+@patch('openlp.core.common.applocation.sys')
|
|
+def test_get_directory_for_plugins_dir_py310(mocked_sys, mocked_split, mocked_abspath, mocked_get_frozen_path):
|
|
+ """
|
|
+ Test the AppLocation.get_directory() method for AppLocation.PluginsDir
|
|
+ """
|
|
+ # GIVEN: _get_frozen_path, abspath, split and sys are mocked out
|
|
+ mocked_abspath.return_value = os.path.join('dir', 'plugins')
|
|
+ mocked_split.return_value = ['openlp']
|
|
+ mocked_get_frozen_path.return_value = Path('dir')
|
|
+ mocked_sys.frozen = 1
|
|
+ mocked_sys.argv = ['openlp']
|
|
+
|
|
+ # WHEN: We call AppLocation.get_directory
|
|
+ directory = AppLocation.get_directory(AppLocation.PluginsDir)
|
|
+
|
|
+ # THEN: The correct directory should be returned
|
|
+ assert directory == Path('dir', 'plugins'), 'Directory should be "dir/plugins"'
|
|
+
|
|
+
|
|
+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="Python 3.9 version of this test")
|
|
@patch('openlp.core.common.applocation.get_frozen_path')
|
|
@patch('openlp.core.common.applocation.os.path.abspath')
|
|
@patch('openlp.core.common.applocation.os.path.split')
|
|
@patch('openlp.core.common.applocation.sys')
|
|
-def test_get_directory_for_plugins_dir(mocked_sys, mocked_split, mocked_abspath, mocked_get_frozen_path):
|
|
+def test_get_directory_for_plugins_dir_py39(mocked_sys, mocked_split, mocked_abspath, mocked_get_frozen_path):
|
|
"""
|
|
Test the AppLocation.get_directory() method for AppLocation.PluginsDir
|
|
"""
|
|
--
|
|
GitLab
|
|
|