import os;
from dxConfig import dxConfig;
from fsFirstExistingFile import fsFirstExistingFile;
import mFileSystem2;
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles");
sProgramFilesPath_x64 = os.getenv("ProgramW6432");

dxConfigSettings = {
  "bApplicationTerminatesWithMainProcess": False,
};

# Firefox stable (if installed, otherwise use Firefox Developer Edition if installed).
sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64,
);
sApplicationBinaryPath_x86 = fsFirstExistingFile(
  r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86,
);
sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86;

oTempFolder = mFileSystem2.foGetFolder(os.getenv("TEMP"));
oFirefoxProfileFolder = oTempFolder.foGetOrCreateChildFolder("Firefox-profile");

def fasGetFirefoxStaticArguments(bForHelp):
  oFirefoxProfileFolder.fCreate();
  return [
    "--no-remote",
    "-profile", oFirefoxProfileFolder.sPath,
  ];

def fasGetFirefoxOptionalArguments(bForHelp = False):
Example #2
0
import os
from dxConfig import dxConfig
from fsFirstExistingFile import fsFirstExistingFile
sProgramFilesPath = os.getenv("ProgramFiles")
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv(
    "ProgramFiles")
sProgramFilesPath_x64 = os.getenv("ProgramW6432")
sLocalAppData = os.getenv("LocalAppData")

dxConfigSettings = {
    "bApplicationTerminatesWithMainProcess": True,
}

# Chrome Canary (if installed)
sChromeSxSPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
    r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x64,
    r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData,
)
sChromeSxSPath_x86 = fsFirstExistingFile(
    r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x86,
    r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData,
)
sChromeSxSPath = sChromeSxSPath_x64 or sChromeSxSPath_x86
# Chrome stable (if installed)
sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
    r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x64,
    r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData,
)
if os.getenv("ProgramFiles(x86)"):
    # on x64 systems, x64 versions of Chrome can be installed in the x86 Program Files folder...
    sApplicationBinaryPath_x64 = sApplicationBinaryPath_x64 or fsFirstExistingFile(
        r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x86, )
Example #3
0
import os
from fsFirstExistingFile import fsFirstExistingFile
sProgramFilesPath = os.getenv("ProgramFiles")
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv(
    "ProgramFiles")
sProgramFilesPath_x64 = os.getenv("ProgramW6432")

dxConfigSettings = {
    "bApplicationTerminatesWithMainProcess": True,
    "nApplicationMaxRunTimeInSeconds":
    60.0,  # This application can load very slowly, so give it a little more time than others.
}

sApplicationBinaryPath_x86 = fsFirstExistingFile(
    r"%s\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" %
    sProgramFilesPath_x86, )
sApplicationBinaryPath = sApplicationBinaryPath_x86


def fasGetOptionalArguments(bForHelp=False):
    return ["repro.pdf"]
    # Does not matter if it's for help or not: value is the same


ddxAdobeAcrobatReaderDCSettings_by_sKeyword = {
    "acrobatdc": {
        "sBinaryPath": sApplicationBinaryPath,
        "fasGetOptionalArguments": fasGetOptionalArguments,
        "dxConfigSettings": dxConfigSettings,
        # Adobe Reader has a component that constantly crashes with a NULL pointer when you enable page heap.
        "asBinaryNamesThatAreAllowedToRunWithoutPageHeap": ["rdrcef.exe"],
import os
from fsFirstExistingFile import fsFirstExistingFile
sProgramFilesPath = os.getenv("ProgramFiles")
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv(
    "ProgramFiles")
sProgramFilesPath_x64 = os.getenv("ProgramW6432")

dxConfigSettings = {
    "bApplicationTerminatesWithMainProcess": True,
    "cBugId.bIgnoreFirstChanceNULLPointerAccessViolations": True,
}

sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
    r"%s\Java\jre-9.0.1\bin\java.exe" % sProgramFilesPath_x64,
    # TODO: add other versions.
)
sApplicationBinaryPath_x86 = fsFirstExistingFile(
    r"%s\Java\jre-9.0.1\bin\java.exe" % sProgramFilesPath_x86,
    # TODO: add other versions.
)
sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86


def fasGetJavaOptionalArguments(bForHelp=False):
    return ["-jar", "repro.jar"]
    # Does not matter if it's for help or not: value is the same


ddxOracleJavaSettings_by_sKeyword = {
    "java": {
        "sBinaryPath": sApplicationBinaryPath,
Example #5
0
import os
from fsFirstExistingFile import fsFirstExistingFile

sProgramFilesPath = os.getenv("ProgramFiles")
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv(
    "ProgramFiles")
sProgramFilesPath_x64 = os.getenv("ProgramW6432")

dxConfigSettings = {
    "bApplicationTerminatesWithMainProcess": True,
    "nApplicationMaxRunTimeInSeconds":
    60.0,  # This application can load very slowly, so give it a little more time than others.
}

sApplicationBinaryPath_x86 = fsFirstExistingFile(
    r"%s\Foxit Software\Foxit Reader\FoxitReader.exe" %
    sProgramFilesPath_x86, )
sApplicationBinaryPath = sApplicationBinaryPath_x86


def fasGetOptionalArguments(bForHelp=False):
    return ["repro.pdf"]
    # Does not matter if it's for help or not: value is the same


ddxFoxitReaderSettings_by_sKeyword = {
    "foxit": {
        "sBinaryPath": sApplicationBinaryPath,
        "fasGetOptionalArguments": fasGetOptionalArguments,
        "dxConfigSettings": dxConfigSettings,
    },
Example #6
0
    # Settings used by all browsers (these should eventually be fine-tuned for each browser)
    "bApplicationTerminatesWithMainProcess": True,
    "nExcessiveCPUUsageCheckInitialTimeoutInSeconds":
    30.0,  # Give browser some time to load repro
    "cBugId.nExcessiveCPUUsageCheckIntervalInSeconds":
    30.0,  # Browser may be busy for a bit, but no longer than 30 seconds.
    "cBugId.nExcessiveCPUUsagePercent":
    95,  # Browser msust be very, very busy.
    "cBugId.nExcessiveCPUUsageWormRunTimeInSeconds":
    0.5,  # Any well written function should return within half a second IMHO.
    "cBugId.bIgnoreCPPExceptions": True,
    "cBugId.bIgnoreWinRTExceptions": True,
}

# Microsoft Internet Explorer
sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
    r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x64, )
sApplicationBinaryPath_x86 = fsFirstExistingFile(
    r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x86, )
sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86


def fasGetMSIEOptionalArguments(bForHelp=False):
    return bForHelp and ["<dxConfig.sDefaultBrowserTestURL>"] or [
        dxConfig["sDefaultBrowserTestURL"]
    ]


ddxMicrosoftInternetExplorerSettings_by_sKeyword = {
    "msie": {
        "sBinaryPath": sApplicationBinaryPath,
        "fasGetOptionalArguments": fasGetMSIEOptionalArguments,
Example #7
0
import os
from fsFirstExistingFile import fsFirstExistingFile
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv(
    "ProgramFiles")
sProgramFilesPath_x64 = os.getenv("ProgramW6432")

# Firefox stable (if installed, otherwise use Firefox Developer Edition if installed).
sFirefoxPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
    r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64, )
sFirefoxPath_x86 = fsFirstExistingFile(
    r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86, )
sFirefoxPath = sFirefoxPath_x64 or sFirefoxPath_x86
Example #8
0
import os;
from fsFirstExistingFile import fsFirstExistingFile;
sProgramFilesPath = os.getenv("ProgramFiles");
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles");
sProgramFilesPath_x64 = os.getenv("ProgramW6432");
sLocalAppData = os.getenv("LocalAppData");

# Chrome Canary
sChromeSxSPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x64,
  r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData,
);
sChromeSxSPath_x86 = fsFirstExistingFile(
  r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x86,
  r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData,
);
sChromeSxSPath = sChromeSxSPath_x64 or sChromeSxSPath_x86;
# Chrome stable (if installed, otherwise use Chrome Canary if installed).
sChromePath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x64,
  r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData,
  sChromeSxSPath_x64,
);
sChromePath_x86 = fsFirstExistingFile(
  r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x86,
  r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData,
  sChromeSxSPath_x86,
);
sChromePath = sChromePath_x64 or sChromePath_x86 or sChromeSxSPath;
Example #9
0
import os;
from fsFirstExistingFile import fsFirstExistingFile;
sProgramFilesPath = os.getenv("ProgramFiles");
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles");
sProgramFilesPath_x64 = os.getenv("ProgramW6432");
sLocalAppData = os.getenv("LocalAppData");

# Firefox Developer Edition
sFirefoxDevPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Firefox Developer Edition\firefox.exe" % sProgramFilesPath_x64,
);
sFirefoxDevPath_x86 = fsFirstExistingFile(
  r"%s\Firefox Developer Edition\firefox.exe" % sProgramFilesPath_x86,
);
sFirefoxDevPath = sFirefoxDevPath_x64 or sFirefoxDevPath_x86;
# Firefox stable (if installed, otherwise use Firefox Developer Edition if installed).
sFirefoxPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64,
  sFirefoxDevPath_x64,
);
sFirefoxPath_x86 = fsFirstExistingFile(
  r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86,
  sFirefoxDevPath_x86,
);
sFirefoxPath = sFirefoxPath_x64 or sFirefoxPath_x86 or sFirefoxDevPath;
Example #10
0
import os;
from fsFirstExistingFile import fsFirstExistingFile;
sProgramFilesPath = os.getenv("ProgramFiles");
sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles");
sProgramFilesPath_x64 = os.getenv("ProgramW6432");
sLocalAppData = os.getenv("LocalAppData");

# Microsoft Internet Explorer
sMSIEPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile(
  r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x64,
);
sMSIEPath_x86 = fsFirstExistingFile(
  r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x86,
);
sMSIEPath = sMSIEPath_x64 or sMSIEPath_x86;