diff options
author | Robert Löhning <robert.loehning@qt.io> | 2021-10-29 14:38:35 +0200 |
---|---|---|
committer | Robert Löhning <robert.loehning@qt.io> | 2022-01-28 11:00:35 +0000 |
commit | 7a8ca55f77b62017c011b2cb8b9ac7bf50be7daf (patch) | |
tree | d982412cc72fcdb595a9c92edd002f84bba337dc | |
parent | 4980f71dd5d800a69e38264a64f1d103d7c156ec (diff) | |
download | qt-creator-7a8ca55f77b62017c011b2cb8b9ac7bf50be7daf.tar.gz |
Squish: Introduce helper function for checking for strings
In Python3 type unicode is unavailable since it's implicit with "str".
The new functions helps porting code.
Change-Id: I5de0fa182acbbaf267ed51f66f658cb9c884f4c5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | tests/system/shared/editor_utils.py | 4 | ||||
-rw-r--r-- | tests/system/shared/fs_utils.py | 4 | ||||
-rw-r--r-- | tests/system/shared/project_explorer.py | 6 | ||||
-rw-r--r-- | tests/system/shared/utils.py | 21 | ||||
-rw-r--r-- | tests/system/suite_general/tst_default_settings/test.py | 4 |
5 files changed, 23 insertions, 16 deletions
diff --git a/tests/system/shared/editor_utils.py b/tests/system/shared/editor_utils.py index 9af1302848..bb6e8ba299 100644 --- a/tests/system/shared/editor_utils.py +++ b/tests/system/shared/editor_utils.py @@ -37,7 +37,7 @@ def placeCursorToLine(editor, line, isRegex=False): return waitForObject(editor) isDarwin = platform.system() == 'Darwin' - if not isinstance(editor, (str, unicode)): + if not isString(editor): editor = objectMap.realName(editor) oldPosition = 0 jumpToFirstLine(getEditor()) @@ -120,7 +120,7 @@ def replaceEditorContent(editor, newcontent): type(editor, newcontent) def typeLines(editor, lines): - if isinstance(lines, (str, unicode)): + if isString(lines): lines = [lines] if isinstance(lines, (list, tuple)): for line in lines: diff --git a/tests/system/shared/fs_utils.py b/tests/system/shared/fs_utils.py index f36fbd7fbf..ee24d6f0ca 100644 --- a/tests/system/shared/fs_utils.py +++ b/tests/system/shared/fs_utils.py @@ -35,10 +35,10 @@ def changeFilePermissions(dirPath, readPerm, writePerm, excludeFileNames=None): permission |= stat.S_IWRITE if excludeFileNames == None: excludeFileNames = [] - elif isinstance(excludeFileNames, (str, unicode)): + elif isString(excludeFileNames): excludeFileNames = [excludeFileNames] if not isinstance(excludeFileNames, (tuple, list)): - test.warning("File names to exclude must be of type str, unicode, list, tuple or None - " + test.warning("File names to exclude must be of type str, list, tuple or None - " "ignoring parameter this time.") excludeFileNames = [] if not os.path.isdir(dirPath): diff --git a/tests/system/shared/project_explorer.py b/tests/system/shared/project_explorer.py index 587574ff0a..a4abeb7a72 100644 --- a/tests/system/shared/project_explorer.py +++ b/tests/system/shared/project_explorer.py @@ -95,8 +95,8 @@ def setRunInTerminal(wantedKit, runInTerminal=True): switchViewTo(ViewConstants.EDIT) def __getTargetFromToolTip__(toolTip): - if toolTip == None or not isinstance(toolTip, (str, unicode)): - test.warning("Parameter toolTip must be of type str or unicode and can't be None!") + if toolTip == None or not isString(toolTip): + test.warning("Parameter toolTip must be of type str and can't be None!") return None pattern = re.compile(".*<b>Kit:</b>(.*)<b>Deploy.*") target = pattern.match(toolTip) @@ -108,7 +108,7 @@ def __getTargetFromToolTip__(toolTip): def getExecutableAndTargetFromToolTip(toolTip): target = __getTargetFromToolTip__(toolTip) - if toolTip == None or not isinstance(toolTip, (str, unicode)): + if toolTip == None or not isString(toolTip): return None, target pattern = re.compile('.*<b>Run:</b>(.*)</.*') exe = pattern.match(toolTip) diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 74ce072392..c67cbc5751 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -76,7 +76,7 @@ def ensureChecked(objectName, shouldBeChecked = True, timeout=20000): # or the object itself. If it is an object, it must exist already. # param expectedState is the expected enable state of the object def verifyEnabled(objectSpec, expectedState = True): - if isinstance(objectSpec, (str, unicode)): + if isString(objectSpec): waitFor("object.exists('" + str(objectSpec).replace("'", "\\'") + "')", 20000) foundObject = findObject(objectSpec) else: @@ -154,7 +154,7 @@ def which(program): def cleanUpUserFiles(pathsToProFiles=None): if pathsToProFiles==None: return False - if isinstance(pathsToProFiles, (str, unicode)): + if isString(pathsToProFiles): filelist = glob.glob(pathsToProFiles+".user*") elif isinstance(pathsToProFiles, (list, tuple)): filelist = [] @@ -398,10 +398,10 @@ def enabledCheckBoxExists(text): # this function verifies if the text matches the given # regex inside expectedTexts -# param text must be a single str/unicode -# param expectedTexts can be str/unicode/list/tuple +# param text must be a single str +# param expectedTexts can be str/list/tuple def regexVerify(text, expectedTexts): - if isinstance(expectedTexts, (str,unicode)): + if isString(expectedTexts): expectedTexts = [expectedTexts] for curr in expectedTexts: pattern = re.compile(curr) @@ -453,7 +453,7 @@ def iterateQtVersions(keepOptionsOpen=False, alreadyOnOptionsDialog=False, result.append({target:version}) if additionalFunction: try: - if isinstance(additionalFunction, (str, unicode)): + if isString(additionalFunction): currResult = globals()[additionalFunction](target, version, *argsForAdditionalFunc) else: currResult = additionalFunction(target, version, *argsForAdditionalFunc) @@ -514,7 +514,7 @@ def iterateKits(keepOptionsOpen=False, alreadyOnOptionsDialog=False, currentItem.replace(".", "\\.")]) if additionalFunction: try: - if isinstance(additionalFunction, (str, unicode)): + if isString(additionalFunction): currResult = globals()[additionalFunction](item, kitName, *argsForAdditionalFunc) else: currResult = additionalFunction(item, kitName, *argsForAdditionalFunc) @@ -674,3 +674,10 @@ def getHelpViewer(): def getHelpTitle(): return str(getHelpViewer().title()) + + +def isString(sth): + if sys.version_info.major > 2: + return isinstance(sth, str) + else: + return isinstance(sth, (str, unicode)) diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py index 2cb40725b8..29c65425b0 100644 --- a/tests/system/suite_general/tst_default_settings/test.py +++ b/tests/system/suite_general/tst_default_settings/test.py @@ -306,7 +306,7 @@ def __compareCompilers__(foundCompilers, expectedCompilers): if isinstance(currentFound, dict): foundExp = False for currentExp in expectedCompilers: - if isinstance(currentExp, (str, unicode)): + if isString(currentExp): continue key = currentExp.keys()[0] # special case for (fuzzy) regex comparison on Windows (internal LLVM) @@ -353,7 +353,7 @@ def __compareDebuggers__(foundDebuggers, expectedDebuggers): def __lowerStrs__(iterable): for it in iterable: - if isinstance(it, (str, unicode)): + if isString(it): yield it.lower() else: yield it |