From 156030d663f1f9adcc177eac3a1aac24dca486b0 Mon Sep 17 00:00:00 2001
From: Alice Russell <Alice.Russell@tessella.com>
Date: Fri, 17 Jan 2020 09:51:54 +0000
Subject: [PATCH] Add python version check

In python 3.8 it calls __index__ when an int is called but in older versions it calls __int__ so a version check has been added to the test.
---
 .../general/test/test_general_settings.py        | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py b/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
index 4c1d96be867..0175665a486 100644
--- a/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
+++ b/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
@@ -8,6 +8,7 @@
 from __future__ import absolute_import, unicode_literals
 
 import unittest
+import sys
 
 from mantid.py3compat.mock import call, patch, Mock
 from mantidqt.utils.qt.testing import start_qapplication
@@ -157,10 +158,17 @@ class GeneralSettingsTest(unittest.TestCase):
         GeneralSettings(None)
 
         # calls().__int__() are the calls to int() on the retrieved value from ConfigService.getString
-        mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
-                                        call().__index__(),
-                                        call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
-                                        call().__index__()])
+        # In python 3.8 it falls back to __index__() if __int__() is not defined
+        if sys.version_info < (3, 8):
+            mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
+                                            call().__int__(),
+                                            call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
+                                            call().__int__()])
+        else:
+            mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
+                                            call().__index__(),
+                                            call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
+                                            call().__index__()])
 
         mock_ConfigService.getString.assert_has_calls([call(GeneralSettings.PR_RECOVERY_ENABLED),
                                                        call(GeneralSettings.PR_TIME_BETWEEN_RECOVERY),
-- 
GitLab