Closed
Bug 422817
Opened 16 years ago
Closed 16 years ago
Request unittest be run on trunk thunderbird
Categories
(Mozilla Messaging Graveyard :: Release Engineering, defect)
Mozilla Messaging Graveyard
Release Engineering
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: dmosedale, Assigned: gozer)
References
Details
One per platform for each existing tinderbox.
Comment 1•16 years ago
|
||
Do you have any specific tests to run with this? We could probably set it up to run Ts but Tp, Txul, Tdhtml? We've never run these with Thunderbird and might not even make sense there. We'll need some more details here.
Reporter | ||
Comment 2•16 years ago
|
||
Mostly, we want infrastructure to start hanging new tests off of. Any existing tests that are useful would be great though. As you say, Ts seems likely to be in this set, and I bet Tunit too. I know Standard8 wanted to see codesize numbers, though I'm not sure if that's a talos thing or not. We'll soon have some other tests to run as well, people on the CC list will have more ideas, I'll bet...
Comment 3•16 years ago
|
||
(In reply to comment #2) > Mostly, we want infrastructure to start hanging new tests off of. Any existing > tests that are useful would be great though. As you say, Ts seems likely to be > in this set, and I bet Tunit too. I know Standard8 wanted to see codesize > numbers, though I'm not sure if that's a talos thing or not. We'll soon have > some other tests to run as well, people on the CC list will have more ideas, > I'll bet... These could be turned on in the existing Thunderbird tinderboxes if you want. There are separate setups for the unit test machines ("make check" plus mochitest etc), and Talos (which is for perf testing only). Talos involves bringing up and maintaining a bunch of standalone machines, it'd probably be best to get it up and running in a dev environment first, as the tests are all for Firefox and someone would need to add Thunderbird support, IIRC. Anyway, you can turn on TUnit ("make check" unit tests), codesize (Z and or mZ), etc. in the Thunderbird tinderboxes right now and they should work. For perf testing, you really need physical machines not VMs, which is what Talos is good for; but the existing tests need to be ported to Thunderbird first.
Comment 4•16 years ago
|
||
Code size is covered by bug 422214 for the current tinderboxes (awaiting Dan's review ;-) ). I think TUnit and mochitest are the ones we really want to be able to run at the moment - I think we're still a few months off perf testing, unless someone steps up to do that work. TUnit currently won't pass (bug 406227), and mochitest won't run (I've gotta file a bug on this, but there are already ideas on m.d.quality). If we got some more VMs specifically for running the unit tests (which I think we'll need as we want mochitest as well) then we could run them to a different tree (or even the same one) for the time being and get a visible representative view of TUnit without causing the current Tinderboxes to fail (and hence not generate nightlies). We'll then be in a situation where we can start up mochitest as soon as we are ready to go.
Comment 5•16 years ago
|
||
Can these tests be run on a "normal" Firefox buildbot slave? Or do you require a Thunderbird specific slave? We're moving from purpose-specific-tinderbox-slaves to using a pool of generic-buildbot-slaves.
Component: Build & Release → Release Engineering: Projects
QA Contact: build → release
Comment 6•16 years ago
|
||
Updating summary to match comment#4
Summary: request talos instances be setup for trunk thunderbird → request unittest and talos be run on trunk thunderbird
Comment 7•16 years ago
|
||
waiting on test harnesses before we can begin work on this.
Priority: -- → P3
Reporter | ||
Comment 8•16 years ago
|
||
robcee: can you add details about what exactly we're waiting on, what sort of time frame we're looking at, and whether there's anything MoMo can do to help unblock...
Comment 9•16 years ago
|
||
(In reply to comment #8) > robcee: can you add details about what exactly we're waiting on, what sort of > time frame we're looking at, and whether there's anything MoMo can do to help > unblock... With regards to unittests, in comment #8, Mark said TUnit currently won't pass and mochitest won't run because it needs to be rearchitected or an alternative rewritten to work in Thunderbird. IOW, there's nothing to automate at this time.
Comment 10•16 years ago
|
||
(In reply to comment #9) > With regards to unittests, in comment #8, Mark said TUnit currently won't pass > and mochitest won't run because it needs to be rearchitected or an alternative > rewritten to work in Thunderbird. IOW, there's nothing to automate at this > time. Dan and I discussed this on irc. Would it be possible to have one unit test machine reporting to MozillaTest whilst we work on getting the tests passing? Based on the discussion in bug 406227, we could probably be looking at getting patches up and the testing progressed in the next 1-3 weeks (subject to reviews etc).
Comment 11•16 years ago
|
||
(In reply to comment #10) > (In reply to comment #9) > > With regards to unittests, in comment #8, Mark said TUnit currently won't pass > > and mochitest won't run because it needs to be rearchitected or an alternative > > rewritten to work in Thunderbird. IOW, there's nothing to automate at this > > time. > > Dan and I discussed this on irc. Would it be possible to have one unit test > machine reporting to MozillaTest whilst we work on getting the tests passing? Do you anticipate running these new Thunderbird unit tests on the same machines that are currently running Firefox unit tests? Or do you have other machines available for us to start setup work on?
Comment 12•16 years ago
|
||
Given the current comments on suitability of Talos, whether that's what we want and the fact we are still a few weeks (I expect) before having got any performance tests set up, removing the option for Talos for the time being - we can always file a separate bug on that. Reassigning to the new MoMo IT guy Gozer - we'd like the unit tests running on all three platforms. These will fail currently so we'll need them reporting to a different tree to being with, but we can talk specifics when we are closer to having them set up.
Assignee: nobody → gozer
Summary: request unittest and talos be run on trunk thunderbird → Request unittest be run on trunk thunderbird
Assignee | ||
Comment 13•16 years ago
|
||
I imagine it's mostly a matter of getting 3 VMs up and running, running this code and reporting back to some existing server ? If that's the case, where should I be looking at the VM images ? I imagine there are existing ones (or reference ones) I can base this from ?
Comment 14•16 years ago
|
||
(In reply to comment #13) > I imagine it's mostly a matter of getting 3 VMs up and running, running this > code and reporting back to some existing server ? Except for a Mac which you can't run in a VM. > If that's the case, where should I be looking at the VM images ? I imagine > there are existing ones (or reference ones) I can base this from ? You could probably get some VM images/set up information from the Mozilla Corporation IT guys (I'm told #build is a good channel to ask on). The three platforms are run with buildbot, there is a buildbot master on one of the "machines" (on the SeaMonkey unit test boxes, this is the Linux one). On a side note, which you'll probably find out anyway, most (all?) of the tinderbox configurations are already in cvs (mozilla/tools/tinderbox-configs and other places?) and it'll be easier for us if we maintain that with the MoMo tinderboxes.
Updated•16 years ago
|
Component: Release Engineering: Future → Release Engineering
Priority: P3 → --
Product: mozilla.org → Mozilla Messaging
QA Contact: release → release
Assignee | ||
Comment 15•16 years ago
|
||
And just to make sure, once things are building, what extra step is necessary to run the unittest ? gmake -C objdir-*/mail check Or something similar ?
Comment 16•16 years ago
|
||
(In reply to comment #15) > And just to make sure, once things are building, what extra step is necessary > to run the unittest ? > > gmake -C objdir-*/mail check > > Or something similar ? If you are able to initially just run make check in objdir-*/mail then that would be useful, as doing a full make check currently will fail. I'd want to change it later to be the full make check once we have fixed those tests. Though I was more expecting you to ask about the tinderbox/buildbot configuration changes... I'm not sure if you're setting up tinderboxes or buildbots. The mozilla2 buildbot configs for the unit test machines are here: http://hg.mozilla.org/build/buildbot-configs/index.cgi/file/ac594f8c7668/mozilla2-unittest/ We'd only want to run the "MozillaCheck" step at the moment (which I believe is the make check option). However its done, as long as we can process the log file and get the correct TUnit numbers up in a similar style to the current Firefox unit tests (http://tinderbox.mozilla.org/Mozilla2/) then I don't mind.
Assignee | ||
Comment 17•16 years ago
|
||
make check in objdir-*/mail should be fairly easy to accomplish. I am setting up buildbots, for the record. These sample configs will be very usefull. I believe it's fairly straightforward to send buildbot output into Tinderbox, so that should hopefully do the trick.
Comment 18•16 years ago
|
||
(In reply to comment #17) > make check in objdir-*/mail should be fairly easy to accomplish. Excellent. If you're struggling to get mac/win up and running, then just getting a linux box going and reporting to the Thunderbird tinderbox tree (http://tinderbox.mozilla.org/Thunderbird/) would be miles better than the zero coverage we have now.
Assignee | ||
Comment 19•16 years ago
|
||
Yup, I am working on that right now. I've discovered the MozillaTest tinderbox tree, so I don't need to be afraid to mess things up in the beginning.
Assignee | ||
Comment 20•16 years ago
|
||
At this point, I've got 3 buildbots running on MoMo hardware, happilly building trunk and running unit tests successfully. See http://tinderbox.mozilla.org/MozillaTest/: - TB-Win32-Dep-Check - TB-Linux-Dep-Check - TB-Darwin-Dep-Check I think they are pretty much ready, and I'd like to move them to report into the official Thunderbird tinderbox tree. Anybody think it's not a good idea ?
Reporter | ||
Comment 21•16 years ago
|
||
Gozer: awesome! We should figure out what's up with the orangeness on the Linux box, but after we get that sorted out, moving them over sounds great.
Assignee | ||
Comment 22•16 years ago
|
||
The orangeness is caused by a gconf problem. Something happens while running the unit tests. Normally, gconf clients will automatically cause gconfd to spawn if needed, but it's not hapenning in this case. This results in a nasty core dump and the following whining: (process:2567): GLib-GObject-CRITICAL **: gtype.c:2240: initialization assertion failed, use IA__g_type_init() prior to this function (process:2567): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (process:2567): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed The workaround I've used for now is to try and ensure gconfd is running for that user with cron, but it's not reliable enough, as gconfd shuts down quite aggressively when not in use.
Comment 23•16 years ago
|
||
(In reply to comment #22) > The orangeness is caused by a gconf problem. Something happens while running > the unit tests. Normally, gconf clients will automatically cause gconfd to > spawn if needed, but it's not hapenning in this case. This results in a nasty > core dump and the following whining: Well it seems to have been green for most of today at least, though currently it seems to be red with: Unexpected error: exceptions.ValueError make[1]: *** [buildsymbols] Error 1 Are the build configs in hg yet? (i.e. accessible to anyone with appropriate permissions to change) Do they have clobber support? (I'm not actually sure if the main MoCo ones do, which does raise the question, how do we clobber buildbots if we really need to?) I'd like to check over the build/mozconfigs (as appropriate), just to make sure we aren't doing anything silly, but apart from that Windows and Mac both look stable. I would say that we can move Windows and Mac over now, but we need to be confident that the Linux box is also stable. I don't want to get into the situation where we have random failures.
Assignee | ||
Comment 24•16 years ago
|
||
There is something crashing buildsymols (bug 445090 for the details) and it's only intermittent. Of course, it's not really a necessary step in unit-testing, just something I added at some point to help in trying to reproduce a specific failure on OS X. I kept it there because it was one more step, and would be testing another build step that should be working all the time. Configs are not in Hg yet, but will be shortly. They certainly don't have clobber support right now (the main reason being the buildbot config I copied them from didn't have it either). I imagine it should be possible to add some form of clobber support. I'd first look at how MoCo does it for inspiration. The mozconfigs will be in Hg, so I'll post info about them as soon as they are up. The simplest thing to get 'stable' unittest buildbots would be to just disable the buildsymbols step for now and address what's broken about that separately.
Comment 25•16 years ago
|
||
I'm happy with disabling the buildsymbols step for now. We don't really need it on the unit test tinderboxes anyway I would expect. We could also push the clobber support out till later - again I think we can probably survive without it for the time being, especially as they don't generate nightlies.
Comment 26•16 years ago
|
||
Having just thought about this a bit more, I think we can probably just move the reporting from MozillaTest to Thunderbird asap (once you've disabled the buildsymbols), and post-review the mozconfig/buildconfigs later - I think given the tests are passing, the current configuration should be good enough.
Assignee | ||
Comment 27•16 years ago
|
||
It's in Hg now, see them here: + http://hg.mozilla.org/build/buildbot-configs/index.cgi/file/tip/thunderbird/mozconfig-linux + http://hg.mozilla.org/build/buildbot-configs/index.cgi/file/tip/thunderbird/mozconfig-win32 + http://hg.mozilla.org/build/buildbot-configs/index.cgi/file/tip/thunderbird/mozconfig-osx
Assignee | ||
Comment 28•16 years ago
|
||
The Windows mozconfig is here, not as mentionned in commment #27 http://hg.mozilla.org/build/buildbot-configs/index.cgi/file/tip/thunderbird/mozconfig-win
Comment 29•16 years ago
|
||
(In reply to comment #27) > It's in Hg now, see them here: My Comments: - Assuming we are keeping unit tests separate from nightlies (IMHO I think we do, as unit tests need different configurations), we don't need to pull mozilla/tools/update-packaging or have ac_add_options --enable-update-channel=nightly (and --enable-update-packaging where appropriate) - I think we should be doing --enable-optimize and --disable-debug now we've got the problems sorted out. I think this should make the builds a bit faster, and ensure that we have builds that are as similar as possible to the nightlies. - Given the nightly builds are running codesighs, I don't think we need to do it on the unit test boxes (the test isn't running anyway), so we can just drop the mozilla/tools/codesighs and --enable-codesighs. - We don't need these in the unittest boxes as we won't be running breakpad/publishing builds: # symbols for breakpad export CFLAGS="-gstabs+" export CXXFLAGS="-gstabs+" - Object directory: mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir - Can we change this to /objdir-tb or /obj-tb ? The reason being is that when we move to hg, the .hgignore file will have ^obj- and ^objdir- defined, and I know that not having the objdir in .hgignore will slow hg down. - Please file a follow-up bug for fixing ac_add_options --disable-vista-sdk-requirements. I don't think its a problem at the moment, but we're going to want it if we start doing our own nightlies. - I'm not sure about using ccache, although I guess it may speed up the builds, as it is working I think we can leave it on for unit test boxes. It'd be useful to know what some of the Firefox build team think about it.
Assignee | ||
Comment 30•16 years ago
|
||
Removed update related config. http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/149
Assignee | ||
Comment 31•16 years ago
|
||
Removed debugging and added optimizations globally http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/151
Assignee | ||
Comment 32•16 years ago
|
||
Removed codesighs http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/152
Assignee | ||
Comment 33•16 years ago
|
||
Removed breakpad http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/153
Assignee | ||
Comment 34•16 years ago
|
||
Renamed the objdir to objdir-tb http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/153
Assignee | ||
Comment 35•16 years ago
|
||
Renamed the objdir to objdir-tb should have been: http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/154
Assignee | ||
Comment 36•16 years ago
|
||
--disable-vista-sdk-requirements is not even necessary anymore, as the correct SDKs are installed, so it was only needed temporarily. http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/155
Comment 37•16 years ago
|
||
I'm now happy with the mozconfigs. The windows and linux tinderboxes have just gone down with a strange error, could be due to clock skew?
Comment 38•16 years ago
|
||
(In reply to comment #37) > I'm now happy with the mozconfigs. > > The windows and linux tinderboxes have just gone down with a strange error, > could be due to clock skew? > I checked in some changes to interface files again this morning, and all three have broken again with the same error, so I clobbered the Linux build via thunderbot and set it off again, and it passed all the tests correctly. I tried simulating this on my mac box (but with a debug build rather than an optimised one) but I couldn't reproduce. So I'm not quite sure what is happening here.
Assignee | ||
Comment 39•16 years ago
|
||
I've just pushed clobber support for all unittest buildbots, so you should now be able to clobber them all, if you ever need to. Sounds like some of these changes are not getting rebuilt proprely in the dep build. Could be a build problem or a clock skew issue.
Assignee | ||
Comment 40•16 years ago
|
||
Moved to the main Tinderbox/Thunderbird tree in http://hg.mozilla.org/build/buildbot-configs/index.cgi/rev/158 Will close once the tree is green for a few revolutions.
Assignee | ||
Comment 41•16 years ago
|
||
And it is indeed green.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•