diff --git a/tests/system/README b/tests/system/README index 1174b181876..7dff67a84d0 100644 --- a/tests/system/README +++ b/tests/system/README @@ -63,10 +63,7 @@ started. On Windows, this has the following prerequisites: Either: * have no firewall at all enabled (sure that's a bad idea) Or: - * run Windows with English UI - * have the Windows Firewall enabled (no other firewalls are handled by the scripts) - * run the Squish tests with administrator privileges - * additionally the UAC should be disabled, too + * have notifications disabled for the firewall when an application tries to access network Otherwise you'll have some trouble with popping up dialogs from the firewall. If you're using a different firewall - try to figure out and add a rule for this. diff --git a/tests/system/shared/debugger.py b/tests/system/shared/debugger.py index bb6b4082b63..5ee31dec201 100644 --- a/tests/system/shared/debugger.py +++ b/tests/system/shared/debugger.py @@ -266,69 +266,3 @@ def verifyBreakPoint(bpToVerify): test.fatal("Expected a dict for bpToVerify - got '%s'" % className(bpToVerify)) return False -# helper to check whether win firewall is running or not -# this doesn't check for other firewalls! -def __isWinFirewallRunning__(): - if hasattr(__isWinFirewallRunning__, "fireWallState"): - return __isWinFirewallRunning__.fireWallState - if platform.system() not in ('Microsoft' 'Windows'): - __isWinFirewallRunning__.fireWallState = False - return False - result = getOutputFromCmdline(["netsh", "firewall", "show", "state"]) - for line in result.splitlines(): - if "Operational mode" in line: - __isWinFirewallRunning__.fireWallState = not "Disable" in line - return __isWinFirewallRunning__.fireWallState - return None - -# helper that can modify the win firewall to allow a program to communicate through it or delete it -# param addToFW defines whether to add (True) or delete (False) this program to/from the firewall -def __configureFW__(workingDir, projectName, isReleaseBuild, addToFW=True): - if isReleaseBuild == None: - if projectName[-4:] == ".exe": - projectName = projectName[:-4] - path = "%s%s%s" % (workingDir, os.sep, projectName) - elif isReleaseBuild: - path = "%s%s%s%srelease%s%s" % (workingDir, os.sep, projectName, os.sep, os.sep, projectName) - else: - path = "%s%s%s%sdebug%s%s" % (workingDir, os.sep, projectName, os.sep, os.sep, projectName) - if addToFW: - mode = "add" - enable = "ENABLE" - else: - mode = "delete" - enable = "" - projectName = "" - # Needs admin privileges on Windows 7 - # Using the deprecated "netsh firewall" because the newer - # "netsh advfirewall" would need admin privileges on Windows Vista, too. - return subprocess.call(["netsh", "firewall", mode, "allowedprogram", - "%s.exe" % path, projectName, enable]) - -# function to add a program to allow communication through the win firewall -# param workingDir this directory is the parent of the project folder -# param projectName this is the name of the project (the folder inside workingDir as well as the name for the executable) -# param isReleaseBuild should currently always be set to True (will later add debug build testing) -def allowAppThroughWinFW(workingDir, projectName, isReleaseBuild=True): - if not __isWinFirewallRunning__(): - return - # WinFirewall seems to run - hopefully no other - result = __configureFW__(workingDir, projectName, isReleaseBuild) - if result == 0: - test.log("Added %s to firewall" % projectName) - else: - test.fatal("Could not add %s as allowed program to win firewall" % projectName) - -# function to delete a (former added) program from the win firewall -# param workingDir this directory is the parent of the project folder -# param projectName this is the name of the project (the folder inside workingDir as well as the name for the executable) -# param isReleaseBuild should currently always be set to True (will later add debug build testing) -def deleteAppFromWinFW(workingDir, projectName, isReleaseBuild=True): - if not __isWinFirewallRunning__(): - return - # WinFirewall seems to run - hopefully no other - result = __configureFW__(workingDir, projectName, isReleaseBuild, False) - if result == 0: - test.log("Deleted %s from firewall" % projectName) - else: - test.warning("Could not delete %s as allowed program from win firewall" % (projectName)) diff --git a/tests/system/suite_debugger/tst_simple_debug/test.py b/tests/system/suite_debugger/tst_simple_debug/test.py index e6301f941c5..518ac1b23b9 100644 --- a/tests/system/suite_debugger/tst_simple_debug/test.py +++ b/tests/system/suite_debugger/tst_simple_debug/test.py @@ -36,7 +36,7 @@ def main(): for kit, config in availableConfigs: test.log("Selecting '%s' as build config" % config) verifyBuildConfig(kit, config, True, True, True) - # explicitly build before start debugging for adding the executable as allowed program to WinFW + # explicitly build before start debugging selectFromLocator("t rebuild", "Rebuild All Projects") waitForCompile(300000) if not checkCompile(): @@ -52,7 +52,6 @@ def main(): buildDir = os.path.join(str(waitForObject(":Qt Creator_Utils::BuildDirectoryLineEdit").text), "debug") switchViewTo(ViewConstants.EDIT) - allowAppThroughWinFW(buildDir, projectName, None) if not doSimpleDebugging(kit, config, expectedBreakpointsOrder): try: stopB = findObject(':Qt Creator.Stop_QToolButton') @@ -60,8 +59,6 @@ def main(): clickButton(stopB) except: pass - if platform.system() in ('Microsoft' 'Windows'): - deleteAppFromWinFW(buildDir, projectName, None) # close application output window of current run to avoid mixing older output on the next run ensureChecked(":Qt Creator_AppOutput_Core::Internal::OutputPaneToggleButton") clickButton(waitForObject("{type='CloseButton' unnamed='1' visible='1' "