Closed Bug 115690 Opened 24 years ago Closed 18 years ago

clean up tinderbox script for win32 perf tests (gmake build)

Categories

(Webtools Graveyard :: Tinderbox, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: cathleennscp, Assigned: jrgmorrison)

References

Details

Attachments

(5 files, 3 obsolete files)

We need to start working on getting perf tests hooked up to windows machines. mcafee said that tinderbox script for windows has bit-rotted... :-( so, it needs work. He will need to do a re-write, in order to get it into the shape linux script is. (linux script has a lot of unix specific stuff, therefore it is not sharable)
cls's win32 gmake work might be a good solution here future, off 098 radar
Target Milestone: --- → Future
requesting cls to post patch here, so jrgm & us can help get Ts test going.
Summary: need to update/re-write WIN tinderbox script for hooking up more perf tests → clean up tinderbox script for win32 perf tests (gmake build)
-> seawood
Assignee: mcafee → cls
This is the original hack that I wacked into place Monday night and has been running for 2 days now. It still needs to be cleaned up as I hardcoded some win32 paths (like location of the profile).
This is great. Mcafee tells me timer tests hangs. Could I help. Jrgm, we need to install HiRes timer module right ?
Well, it looks like AliveTestReturnToken() isn't exiting correctly after the first run. The app doesn't exit. In the second run, a second window will popup and in subsequent runs, the test exits with a "failed" status. I'm noticing something similar on the ports boxes. BeOS has occassionally had problems killing off BloatTests when the load got too high but we usually don't have problems with Solaris. Yet, I just killed off about 20 mozilla-bin file:/blah/../startup.html?23423423" runs from nebiros. Is there any special build config that's needed to run the startup tests?
No special requirements, you need to pull mozilla/tools/performance/startup/startup-test.html separately, then just turn the test on. The tbox script should turn on the JS dump pref automatically so we can scrape for the numbers.
Attached patch win32 tests v1.3 (obsolete) — — Splinter Review
I cleaned up the patch a bit. I replaced the hardcoded values with Settings::OS checks where possible. If anyone has been paying attention to the Ports page, you'll see that we actually had BloatTest2 running at one point. It only seems to run for 2 cycles at the most before it starts failing.
Attachment #69341 - Attachment is obsolete: true
Priority: -- → P4
Attached patch win32 tests v1.4 — — Splinter Review
The only change from the previous patch is that it doesn't add --shutdown-leaks to the BloatTest2 cmdline if $Settings::OS WINNT. W/o --shutdown-leaks, BloatTest2 runs fine in multiple succession.
Attachment #71443 - Attachment is obsolete: true
I extended cls' patch to work on win98 (yes, perverse, but I would like to be able to run continuous tests on win98, although I hope to make it so that I don't have to actually build on win98, but just have the script take delivery of a build from a (faster) winnt tinderbox). Anyways, the changes make it so that the 'eq 'WINNT'' tests are now '=~ /^WIN/', properly dealing with the uname output of newer cygwin, some allowances for command.com braindeadness, setting the errorparser/buildfamily to 'win32', and allowing the user to define $Settings:Timezone, because POSIX::strftime says "Pacific Standard Time" and my version of cvs insists on "PST". I probably have some more work to do w.r.t. correctly finding the win98 profile directory. I also need to work on using Win32::Process to run the AliveTest, etc., since 'fork and exec' just does not want to work on good old DOS98. I've tested the overall patch (to be attached) on Linux, and there are no problems there (and of course it runs correctly on win98 modulo the fact that win98 goes nuts after about 10 consecutive builds).
cls' patch with my changes also added.
-> jrgm
Assignee: cls → jrgm
Priority: P4 → --
Target Milestone: Future → ---
I figured out the problem with this today. The startup time test URL contains shell metacharacters, so perl 'exec' uses /bin/sh to execute the command. When this happens, for some reason, the child process of /bin/sh can't be killed (I also can't kill it using cygwin's "kill" command). Instead, we can put the arguments into an array ourself, which will prevent perl from using the shell to run the command. I'll post a patch after I get it cleaned up.
Attached patch patch v1 (obsolete) — — Splinter Review
With this patch I'm able to successfully run Txul and Ts on Windows with Cygwin perl and the HiRes perl module installed.
since I'm too lazy to file a separate bug for this...
Attached patch updated patch — — Splinter Review
This patch does the following: - converts all commands to an arguments array for passing to exec() - Runs "dos2unix" on the log file before mailing it off, if on Windows - Adds a "ProductName" config option to control where to look for the profile on Windows. - Fixes clobbering of the profile on Windows. - Makes the script look for the HiRes time module instead of the Win32API module for cygwin perl.
Attachment #95040 - Attachment is obsolete: true
Comment on attachment 95957 [details] [diff] [review] updated patch With the exception of the the @@ -1568,7 +1581,7 @@ chunk of build-seamonkey-util.pl, r=cls. $hostname isn't defined anywhere.
Attachment #95957 - Flags: review+
QA Contact: timeless → tinderbox
perf tests have been running on win32 for some time now.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: