1 \0\x05\x16\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x01\0\0\0>
\0\0\x1fÚ
\0\0\0\x02\0\0 \x18\0\0\x02y
\0\0\0 \0\0"‘
\0\0\0 [ ] use "apFrame.inc"
\r[ ]
\r[ ] //GLOBAL VARIABLES
\r[ ] ARRAY[8] OF ANYTYPE aaData
\r[ ] STRING sTestArea
\r[ ] STRING sTestCoverage
\r[ ] STRING sTestName
\r[ ] STRING sReport // name of the report file
\r[ ] STRING sWindowName // name of the expected window
\r[ ] HFILE hReport,hData
\r[ ]
\r[-] Debug()
\r [ ]
\r[-] DebugStr(STRING s)
\r [ ] Print(s)
\r[+] STRING GetBuildNum()
\r [ ] HFILE hXUL
\r [ ] STRING sLine,sPrint
\r [ ] INT i
\r [ ] hXUL = FileOpen("::::dist:viewer:res:samples:navigator.xul",FM_READ)
\r [-] while (FileReadLine(hXUL,sLine))
\r [ ] i = StrPos("Build ID",sLine)
\r [-] if (i>0)
\r [ ] sPrint = SubStr(sLine,i,20)
\r [ ] return (sPrint)
\r [ ] return ("Build ID not found")
\r[+] SetSeamonkeyOptions()
\r [ ] // QAP options necessary for running these tests
\r [ ] Agent.SetOption(OPT_VERIFY_EXPOSED, false)
\r [ ] Agent.SetOption(OPT_VERIFY_ENABLED, false)
\r [ ] Agent.SetOption(OPT_WINDOW_TIMEOUT, 60) // maximum time QAP will wait for a window
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_COUNT, 1)
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_INTERVAL, .1)
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_TIMEOUT, 60) // maximum time QAP will wait for a bitmap to match
\r[-] AppRunnerBMP(STRING sBMP, RECT rVerify)
\r [ ] // captures a bitmap
\r [ ] // this should be repeated before each run
\r [ ] Apprunner.SetActive()
\r [ ] sleep(2)
\r [ ] Mozilla.CaptureBitmap(sBMP,rVerify)
\r[-] INT DoMailTest(ARRAY OF STRING aaArray)
\r [ ] DebugStr("Do Mail Test")
\r [ ] return(1)
\r[-] INT DoEditTest(ARRAY OF STRING aaArray)
\r [ ] DebugStr("Do Edit Test")
\r [ ] return(1)
\r[-] INT DoBrowserTest(ARRAY[6] OF ANYTYPE aaArray)
\r [ ] //Local Variable declarations
\r [ ] INT iCRC // checksum for bitmap region
\r [ ] INT iTimes // loop variable for checksum verification
\r [ ] INT iExcept // exception number returned by QA Partner
\r [ ] INT iRes // numerical result for return value
\r [ ] BOOLEAN bDone // Flag for completion of checksum verification
\r [ ] BOOLEAN bTimedOut // If bitmap doesn't match, also gives information about time
\r [ ] STRING sRes // Result of test returned as a string
\r [ ] STRING sPrintStr // string to print to report file
\r [ ] HTIMER hTimer // timer handle
\r [ ] NUMBER nSeconds // seconds elapsed since beginning of checksum verification
\r [ ] RECT rRect // rectangle of bitmap for verification--must include part of throbber
\r [ ]
\r [ ] //Variable assignment--aaArray has been read from data file
\r [ ] sURL = aaArray[1] // URL to Load
\r [ ] sTestArea = aaArray[2]
\r [ ] sTestCoverage = aaArray[3]
\r [ ] sTestName = aaArray[4]
\r [ ] rRect = aaArray[5]
\r [ ] sWindowName = aaArray[6]
\r [-] if (sTestArea == "stop")
\r [ ] FileWriteLine(hReport,"{sTestName} TEST NOT RUN: {sTestCoverage}")
\r [ ] return -1
\r [ ] Apprunner.Invoke()
\r [-] do
\r [ ] iCRC = 0
\r [ ] iTimes = 0
\r [ ] nSeconds = 0
\r [ ] bTimedOut = false
\r [ ] bDone = false
\r [ ] hTimer = TimerCreate()
\r [ ] Mozilla.SetText(sURL)
\r [ ] TimerStart(hTimer)
\r [-] while (bDone == false)
\r [ ] iCRC = Mozilla.GetBitmapCRC(rThrobber)
\r [-] if (iCRC != iBaselineCRC)
\r [ ] nSeconds = TimerValue(hTimer)
\r [ ] iTimes = 0
\r [+] if (nSeconds > iBitmapWait)
\r [ ] bTimedOut = true
\r [ ] bDone = true
\r [-] else
\r [-] switch (iTimes)
\r [-] case 0
\r [ ] iTimes ++
\r [ ] nSeconds = TimerValue(hTimer)
\r [-] case 1
\r [ ] iTimes ++
\r [-] case 2
\r [ ] bDone = true
\r [ ] Debug()
\r [ ] Verify(bTimedOut,false,"time less than 60 seconds")
\r [ ] Verify(iCRC,iBaselineCRC,"bitmap matches baseline")
\r [-] do
\r [ ] Verify(Mozilla.GetCaption(),sWindowName, "window name matches expected value")
\r [-] except
\r [ ] Print("***Warning: window name {sWindowName} does not match expected value")
\r [ ] sPrintStr = sTestName + " " + Str(nSeconds,4,2)+ " PASS"
\r [ ] FileWriteLine(hReport,sPrintStr)
\r [ ] DebugStr(sPrintStr)
\r [ ] TimerDestroy(hTimer)
\r [ ] iRes = 0
\r [-] except
\r [ ] iExcept = ExceptNum()
\r [-] switch (iExcept)
\r [-] case E_VERIFY // iCRC does not equal iBaselineCRC
\r [ ] iRes = -1
\r [ ] sRes = ExceptData()
\r [-] case E_WINDOW_NOT_FOUND // Window not found--often because App has crashed
\r [ ] iRes = -2
\r [ ] sRes = ExceptData()
\r [-] case E_BITMAPS_DIFFERENT // same as E1
\r [ ] iRes = -3
\r [ ] sRes = ExceptData()
\r [-] case E_BITMAP_NOT_STABLE // mainly with waitBitmap--possibly hung
\r [ ] iRes = -4
\r [ ] sRes = ExceptData()
\r [-] case E_BITMAP_REGION_INVALID // bitmap region is not inside window boundaries
\r [ ] iRes = -5
\r [ ] sRes = ExceptData()
\r [-] default
\r [ ] sRes = ExceptData()
\r [ ] iRes = -999
\r [+] // if (ApprunnerError.Exists()) // uncomment line for windows
\r [ ] // ApprunnerError.Close.Click()
\r [ ] FileWriteLine(hReport,"{sTestName} {sRes} FAIL")
\r [ ] DebugStr("{sTestName} {sRes} FAIL")
\r [ ] TimerDestroy(hTimer)
\r [ ] return iRes
\r[ ]
\r[-] SmokeTest()
\r [ ] //Local Variable declarations
\r [ ] STRING sTimeStamp
\r [ ] STRING printStr
\r [ ] STRING sBuildNum
\r [ ] INTEGER i,iLoop,iExcept,iPass,iFail,iRan,iRes
\r [ ] HTIMER hTimer,hStarter
\r [ ] ARRAY[8] OF ANYTYPE aaData
\r [ ] sTimeStamp = StrTran(TimeStr(),":","")
\r [ ] sReport = "SmokeReport{sTimeStamp}.txt"
\r [ ] iBitmapWait = 60
\r [ ] sBitmapFile = "throb.bmp"
\r [ ] Print("Using data file {sData}")
\r [ ] FileWriteLine(hReport,"Using data file {sData}")
\r [ ] sData = "IntlSmoke.txt"
\r [ ] sBuildNum = GetBuildNum()
\r [ ] FileWriteLine(hReport,"{sBuildNum}")
\r [ ] Print("{sBuildNum}")
\r [ ] Print("Begin I18N Smoke Tests at {TimeStr()}")
\r [ ] FileWriteLine(hReport,"Begin I18N Smoke Tests at {TimeStr()}")
\r [ ] hReport = FileOpen(sReport, FM_WRITE)
\r [ ] Print("Using log file {sReport}")
\r [ ] hData = FileOpen(sData,FM_READ)
\r [ ] Apprunner.Invoke()
\r [ ] sleep(10)
\r [ ] Mozilla.SetActive()
\r [ ] sleep(1)
\r [ ] AppRunnerBMP(sBitmapFile,rThrobber)
\r [ ] Mozilla.SetActive()
\r [ ] sleep(1)
\r [ ] iBaselineCRC = SYS_GetBitmapCRC(sBitmapFile)
\r [ ] Agent.SetOption(OPT_VERIFY_EXPOSED, false)
\r [ ] Agent.SetOption(OPT_VERIFY_ENABLED, false)
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_COUNT, 1)
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_INTERVAL, .1)
\r [ ] Agent.SetOption(OPT_BITMAP_MATCH_TIMEOUT, iBitmapWait)
\r [ ] iPass = 0
\r [ ] iFail = 0
\r [ ] iRan = 0
\r [-] while (FileReadValue(hData,aaData))
\r [ ] sURL = aaData[1]
\r [ ] sTestArea = aaData[2]
\r [ ] sTestName = aaData[4]
\r [ ] sWindowName = aaData[6]
\r [ ] Apprunner.Invoke()
\r [-] switch sTestArea
\r [-] // case "Mail"
\r [ ] // DoMailTest(aaData)
\r [-] // case "Editor"
\r [ ] // DoEditTest(aaData)
\r [+] case "Startup" // This test must pass or the others will not be run
\r [-] do
\r [ ] Apprunner.Invoke()
\r [-] except
\r [ ] DebugStr("{sTestName} FAIL {ExceptData()}")
\r [ ] reraise
\r [-] do
\r [ ] Verify(Mozilla.GetCaption(),sWindowName)
\r [-] except
\r [ ] DebugStr("{sTestName} FAIL {ExceptData()}")
\r [ ] reraise
\r [ ] FileWriteLine (hReport, "{sTestName} PASS")
\r [ ] DebugStr("{sTestName} PASS")
\r [ ] iPass++
\r [ ] iRan++
\r [-] case "Exit" // This test must pass or the others will not be run
\r [-] do
\r [ ] Apprunner.Invoke()
\r [-] except
\r [ ] DebugStr("{sTestName} FAIL {ExceptData()}")
\r [ ] reraise
\r [-] do
\r [ ] Mozilla.Close()
\r [-] except
\r [ ] DebugStr("{sTestName} FAIL {ExceptData()}")
\r [ ] reraise
\r [ ] FileWriteLine (hReport, "{sTestName} PASS")
\r [ ] DebugStr("{sTestName} PASS")
\r [ ] iPass++
\r [ ] iRan++
\r [-] case "Top Site", "Frames", "Tables","Java","JavaScript Applets","PNG Images","JPEG Images","Transparencies","Java Applets","Multilingual UTF-8","Multilingual NCR"
\r [-] do
\r [ ] iRes = DoBrowserTest(aaData)
\r [ ] iRan++
\r [-] if (iRes < 0)
\r [ ] iFail++
\r [-] else
\r [ ] iPass++
\r [-] except
\r [ ] FileWriteLine(hReport,"{sTestName} FAILED")
\r [ ] DebugStr("{sTestName} FAILED")
\r [-] if (iRes < 0)
\r [ ] iFail++
\r [-] else
\r [ ] iPass++
\r [-] default
\r [ ] FileWriteLine(hReport,"{sTestName} Not Run")
\r [ ] continue
\r [-] do
\r [ ] Mozilla.Close()
\r [-] except
\r [-] if (sTestArea == "Exit")
\r [ ]
\r [-] else
\r [ ] Print("***Warning: Apprunner may not have quit cleanly")
\r [ ] FileWriteLine(hReport,"Smoke test complete at {TimeStr()}")
\r [ ] Print("Smoke test complete at {TimeStr()}")
\r[-] main()
\r [ ] SmokeTest()
\r\0\0\x01\0\0\0\x01ø
\0\0\0ø
\0\0\0�ÿ
\0™2"}i—
\x0fD“ë·d¨yZER¿
\x03±*xš¨eËxC]”MÞ©5Ê*
\x05ô¿©PÌO ((ÎÍÅWùW"#I2µ
\aºº�–y�‰^
\x04–;©ýŸõrT
\x11e¡st‘
\x18VW
\x10ž¨
\x18ñßÛ
\x1a\vhrF
\x15T´µ{¹ÄJ
\r:±
\x02´
\x19\x19J‚c
\e,£O°´Ž bâà
\x12¼”ƒñ)(â¾*Ëų
\x18›ryl‰–Ö
\x06B…
\x01V
\x04\x15 \x10Aê
\bý¬T
\x16\x19{¥,
\x0em
\x04eU
\x15Þ
\x19K†,9Uþ
\x17f›�9~
\x1fï~
\a‹Ô›Ö“ÓÃŽF&™æˆ˜âI
\b*H=GQ™®¼¸