MozillaQualityAssurance:Update Checker
From MozillaWiki
Firefox and Thunderbird Software Update Checker Test
- Developer: Dave Liebreich
- Maintainer: Robert Helmer
- Currently Runs: automated on release machines. Will be converted to running automatically on Buildbot in the near future
This test executes the following steps for all the locales listed in all-locales (+en-US):
- get update.xml from aus2 using the same url that Firefox 1.5.0.3 on linux would use
- check the bouncer redirect for both the partial and complete updates. Take the redirected location (e.g. http://ftp-mozilla.netscape.com/pub/mozilla.org/firefox/releases/1.5.0.4/update/mac/en-US/firefox-1.5.0.3-1.5.0.4.partial.mar) and convert it to a path in a local mirror copy of stage (~/tmp/stage.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.4/update/mac/en-US/firefox-1.5.0.3-1.5.0.4.partial.mar)
- check that the mar files have the right size and that the hash matches
- install 1.5.0.3 and 1.5.0.4 in separate directories
- using the partial mar and the 1.5.0.3 updater application, update the 1.5.0.3 installation
- compare the result with the 1.5.0.4 install. complain if there are any differences other than the comment in channel-prefs.js
- repeat 5 and 6 using the complete mar instead of the partial mar.
There are a few additional modes: Usage: verify.sh [OPTION] [CONFIG_FILE]
-u, --update-only only download update.xml -t, --test-only only test that MARs exist -m, --mars-only only test MARs -c, --complete complete upgrade test
--test-only is the fastest, it:
- gets the MAR URL from AUS update.xml
- does an HTTP HEAD and follows any redirects (e.g. bouncer)
This proves at least that AUS and bouncer are configured correctly.
Here's the output from a typical run:
checking Linux_x86-gcc3 ar checking Linux_x86-gcc3 bg checking Linux_x86-gcc3 ca checking Linux_x86-gcc3 cs checking Linux_x86-gcc3 da checking Linux_x86-gcc3 de checking Linux_x86-gcc3 el checking Linux_x86-gcc3 en-GB checking Linux_x86-gcc3 en-US checking Linux_x86-gcc3 es-AR checking Linux_x86-gcc3 es-ES checking Linux_x86-gcc3 eu checking Linux_x86-gcc3 fi checking Linux_x86-gcc3 fr checking Linux_x86-gcc3 fy-NL FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 ga-IE checking Linux_x86-gcc3 gu-IN checking Linux_x86-gcc3 he checking Linux_x86-gcc3 hu checking Linux_x86-gcc3 hy-AM FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 it checking Linux_x86-gcc3 ja checking Linux_x86-gcc3 ja-JP-mac FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 ko checking Linux_x86-gcc3 lt FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 mk checking Linux_x86-gcc3 mn FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 nb-NO checking Linux_x86-gcc3 nl checking Linux_x86-gcc3 nn-NO FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 pa-IN checking Linux_x86-gcc3 pl checking Linux_x86-gcc3 pt-BR checking Linux_x86-gcc3 ro checking Linux_x86-gcc3 ru checking Linux_x86-gcc3 sk checking Linux_x86-gcc3 sl checking Linux_x86-gcc3 sq FAIL: no partial update found FAIL: no complete update found checking Linux_x86-gcc3 sv-SE checking Linux_x86-gcc3 tr checking Linux_x86-gcc3 zh-CN checking Linux_x86-gcc3 zh-TW