This is an archive of the discontinued LLVM Phabricator instance.

Add an experimental Sanitizer Windows builder
ClosedPublic

Authored by timurrrr on Feb 16 2015, 9:20 AM.

Details

Summary

Please review.
This builder is mostly based on the LLDB Windows builder that Zach added recently.

Can you please tell if this builder is going to send e-mails on failures? If yes, can you advise how to disable it until the bot is green and stable?
Thanks,
Timur

Diff Detail

Event Timeline

timurrrr updated this revision to Diff 20038.Feb 16 2015, 9:20 AM
timurrrr retitled this revision from to Add an experimental Sanitizer Windows builder.
timurrrr updated this object.
timurrrr edited the test plan for this revision. (Show Details)
timurrrr added a reviewer: gkistanova.
timurrrr added a project: Restricted Project.
timurrrr added subscribers: Unknown Object (MLST), rnk, zturner.
gkistanova edited edge metadata.Feb 16 2015, 3:59 PM

Thanks for working on this!

You may want to move slave_env_glob2list to the Util.py as well.

You do not check out any source code in getSanitizerWindowsBuildFactory. Is this intentional? If it is, could you remove all the unused imports, please?

Please also see my in-line comments.

Thanks

Galina

zorg/buildbot/builders/SanitizerBuilderWindows.py
18

May I suggest using Property instead? Or at least reconcile this with property?
You are effectively loosing the "jobs" setting from your slaves.py.

Unless I'm missing something, we do not have a single use case yet when we really need to define jobs on the build factory level.

41

Could you use NinjaCommand instead of using WarningCountingShellCommand with ninja directly, please? zorg/buildbot/commands/NinjaCommand.py should cover your needs.

zorg/buildbot/builders/Util.py
3

How about getVisualStudioEnvironment name or something similar?

timurrrr updated this revision to Diff 20083.Feb 17 2015, 7:37 AM
timurrrr edited edge metadata.

re: jobs, NinjaCommand -- my code was mostly copied from getLLDBWindowsCMakeBuildFactory.
I agree with you comments. Zachary should probably take a look at them and address them in the original code once my patch is finished.

re: check-out: oops, looks like I've missed that while copying code -- thanks for catching!

Please take a look at an updated patch.

zorg/buildbot/builders/SanitizerBuilderWindows.py
18

I've removed the jobs parameter, the default number of jobs ninja uses should be fine.

41

Done.

zorg/buildbot/builders/Util.py
3

Done

The patch looks good to me, assuming you will fix the getLLDBSource vs. getSource and remove unused python_source_dir.

Please note that you will need a buildslave 0.8.9 for this builder.

zorg/buildbot/builders/SanitizerBuilderWindows.py
35

This param seems unused. Could you remove if you do not need it, please?

53

Is this correct? Or it should be getSource here?

71

Usage of getVisualStudioEnvironment effectively mean you will be running at least buildslave 0.8.9. In this case, it will create temp batch by itself, so, there is no real need in explicit batch-ing. You can just use the command directly.

This is not a show stopper for this patch, though.

Galina: Is 0.8.10 ok? I ran "pip update" and it automatically gave me
0.8.10. I remember somewhere reading there was a compatibility issue with
0.8.10, but I can't find it anywhere now.

I did not test 0.8.10 intensively yet. But since you have got it, why not to try? We will learn issues, if any, quite soon.

timurrrr accepted this revision.Feb 17 2015, 12:40 PM
timurrrr added a reviewer: timurrrr.

Addressed the latest review comments and committed as r229537.
Can you please restart the master and see how it goes?
I'll update the slave to 0.8.9+ tomorrow and will start babysitting it to make it green.

Thanks a lot for a thorough review!

This revision is now accepted and ready to land.Feb 17 2015, 12:40 PM
timurrrr closed this revision.Feb 17 2015, 1:11 PM

+ fix another unused import in r229544.