/srv/irclogs.ubuntu.com/2010/04/27/#launchpad-dev.txt

thumpergary_poster: ping00:07
jelmergary_poster: hi00:08
thumperanyone know where the request.publication is set?00:13
pooliehi jelmer, thumper00:14
thumperhi poolie00:14
thumperpoolie: I have an interesting bug for you00:15
thumperpoolie: if I can find00:15
thumperit00:15
thumperbug 56874000:16
mupBug #568740: lp:ubuntu/sun-java6 isn't pulled, apparently due to MemoryError <branch-puller> <Bazaar:New> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/568740>00:16
poolieok00:20
poolieso can you give us any more information about it?00:20
poolieor do you think pulling it directly should reproduce it?00:20
pooliei've been meaning to do something about giving better debug info for MemoryError00:20
poolieso i might try it in that context00:20
poolieis this one important or just interesting?00:20
thumperwell, I don't know where it is failing apart from MemoryError00:33
thumperit is important for someone00:34
marsthumper, the request.publication stuff is a function of an IRequestPublicationFactory instance.  We have a few in c.l.webapp.servers00:37
thumpermars: thanks, I'm going through the doc test for publication right now00:37
marsthumper, the factory produced request/publication pairs, which the Zope machinery puts together, then gives to zope.publisher.publish()00:37
* thumper nods00:39
=== matsubara is now known as matsubara-afk
cody-somervilleHey01:04
cody-somervilleI'm making a field read only and setting up a mutator for it. This causes tests to break because the field is used in forms. How do I get around this?01:04
cody-somervilleAh, I see branch's privacy field is an example.01:09
thumpermwhudson: what have we broken? http://launchpadlibrarian.net/45588750/maxb-django-trunk-bzr-svn.log02:14
mwhudsonthumper: huh02:16
thumpermwhudson: it is a branch02:16
thumpermwhudson: for svn02:16
thumpermwhudson: so I'm wondering if we have broken something else02:16
mwhudsonbzr log -l 2 svn+http://code.djangoproject.com/svn/django/trunk seems to be doing something02:16
mwhudsonthumper: however, bzr log -l 2 http://code.djangoproject.com/svn/django/trunk does not work02:24
mwhudsonthumper: at this point i suggest the usual course of action02:24
mwhudsonthumper: which is asking jelmer02:24
thumpermwhudson: bug jelmer?02:24
mwhudsonperhaps the code import system could prepend svn+ to http urls for svn imports02:25
nigelbabuI'd like to work on fixing bug 56944702:46
mupBug #569447: Documentation for searchTask tag is wrong <api> <trivial> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/569447>02:46
nigelbabuIs it something easy to do?02:47
mwhudsonnigelbabu: should be02:48
mwhudsonnigelbabu: the documentation for the api doc comes from the docstring in the interface02:48
nigelbabumwhudson: I read the docs and it said I should first discusss about it and then start02:49
nigelbabuif it comes from the interface there is a problem.02:49
nigelbabuthe documention is corrent for the interface and wrong for the api02:49
mwhudsonnigelbabu: why?02:49
mwhudsonah02:50
mwhudsoni wonder if there's a way of overriding/changing the doc for the api...02:50
marsmwhudson, nigelbabu, grep-find?02:50
marssince you already know the string you are looking for...02:51
nigelbabuits not about finding.02:51
nigelbabumwhudson: can poke me when you find a way out?  I'm ready to work on it if it needs fixing :)02:53
mwhudsonnigelbabu: i'm not sure that you can override the string used in the api doc02:57
mwhudsonnigelbabu: so maybe a bug on lazr.restful asking for that is the way to go02:58
nigelbabuah, ok :)02:58
thumpermwhudson: how come the postmortem debugger isn't giving me any content for listings?03:00
nigelbabuwhat should I say? "There should be a way to override the interface strings for API docs"?03:00
thumpermwhudson: I just get [EOF]03:00
mwhudsonthumper: um, the path in the pyc files might be wrong?03:01
thumper:(03:01
thumperdoesn't seem to be03:01
=== lifeless_ is now known as lifeless
mwhudsonsomeone has requested a mercurial import of netbeans06:13
mwhudsongood luck with that06:13
=== jamesh_ is now known as jamesh
noodles775G'day all.07:21
spmyo07:25
mwhudsonmust be time for dinner07:28
mrevellMorning.08:53
=== almaisan-away is now known as al-maisan
wgrantIs it just me, or have the JS status/importance widgets lost their custom colouring recently?09:12
mwhudsonbaaah09:21
mwhudsonexactly one failure on no-hosted-area09:21
jmlmwhudson: :)09:41
mwhudsonfortunately it's rather trivial09:42
mwhudsonjml: good morning09:44
jmlmwhudson: hi09:54
* mwhudson fires up the ec2 land of doom10:14
mwhudson" 96 files changed, 2640 insertions(+), 2916 deletions(-)"10:14
jmlmwhudson: that's a big change10:25
jmlmwhudson: are much of those insertions added documentation?10:25
bigjoolsthumper: still around?10:31
jmlI'm off out of the house for a bit. Expect to be online shortly.10:35
jmlbigjools: let's talk today10:36
bigjoolsjml: grab me when you can10:37
jmlbigjools: ok. thanks.10:37
jmlwgrant: you've probably already figured it out by now, but sinzui's recent CSS refactoring broke them. Looks like there's a fix up already.10:38
wgrantjml: Yeah, I thought that would have to be it.10:41
thumperbigjools: no10:50
bigjoolsthumper: ok, then I can't tell you about the new PPA for bzr-builder10:50
thumperbigjools: email still works :)10:51
bigjoolsthumper: when kmail is not crashing, yes :)10:51
deryckMorning, all.11:00
mwhudsonjml: no11:06
gary_posterthumper jelmer pong11:50
bigjoolsah gary_poster, just the man I need to talk to11:51
gary_posterwhat's up bigjools11:51
bigjoolsgary_poster: I might have been a bit naieve in expecting a webservice method to work when returning a collection of ITextLine11:52
bigjoolsthere's no adapter to do that by the looks of it11:52
bigjoolsis there any easy solution to returning a list of strings?11:52
gary_posterbigjools: sadly, I'm not sure.  Leonard will probably be on soon and I'll ask him to seek you out.11:53
bigjoolsgary_poster: ok thanks11:53
wgrantDo you actually need to do returns_collection_of there?11:54
wgrantIf you omit it, lazr.restfulclient will just treat it as JSON, so they will come out as strings.11:54
wgrant(we already do a similar thing for dicts in a few places)11:54
bigjoolswgrant: ah, got an example?11:56
maxbAre there no CHR people this week?12:00
wgrantbigjools: There are methods like Branch.composePublicURL and BugNomination.canApprove that return single objects without declaring their types (since they are basic JSON types).12:00
wgrantI'm not sure of any that return lists.12:00
wgrantIt does just work, but I'm not sure how legal it is.12:01
bigjoolsyeah it's the list aspect that is problematic12:01
wgrantIf you don't tell it otherwise it will just decode the JSON and be done with it.12:01
* bigjools tries and sees what happens12:02
wgrantTechnically it's fine.12:03
wgrantWhether it will make a Leonard appear and attack you, I do not know.12:03
bigjoolsa Leonard can change its spots12:03
bigjoolswgrant: BTW did you check out the sizes of those log files ?12:04
wgrantbigjools: Yes.12:04
wgrantI am scared.12:04
bigjoolsyes thought so :)12:04
bigjoolshas anyone done a webservice test using lplib yet?12:05
wgrantPeople have tried.12:05
wgrantBugs have been filed.12:05
wgrantI think some of them might have been fixed.12:05
wgranteg. Bug 56918912:06
mupBug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189>12:06
wgrantBug 56910112:06
mupBug #569101: Protocol Error when calling some launchpadlib methods within the test environment <qa-untestable> <Launchpad Foundations:Fix Committed by bac> <https://launchpad.net/bugs/569101>12:06
wgrantSo it probably works a bit.12:06
bigjoolslet's see12:06
=== mrevell is now known as mrevell-lunch
bigjoolswgrant: win!12:42
wgrantbigjools: You have a string collection exported and tested with launchpadlib in the test suite?12:43
bigjoolsyarp12:43
wgrantWin indeed!12:43
bigjoolsso now I can land this branch that exports your p3a URLs12:43
wgrantI bet that doesn't respect the OAuth token's privacy setting, though.12:45
bigjoolsit does12:52
bigjoolsthe new method is on IPerson and it'll throw a 401 unless you've got lp.edit12:53
wgrantBut if I tell Launchpad that my token shouldn't be able to access private data, will it let me?12:54
* bigjools re-reads and sees you were talking about OAuth tokens12:54
wgrantAh.12:54
bigjoolsnot sure it does respect it, you're right, I'm using WRITE_PUBLIC12:55
=== salgado-afk is now known as salgado
leonardrbac, refresh my memory13:20
leonardryou were having some problems with the launchpadlib tests in launchpad13:21
leonardri gave you a little one-line-or-so fix, which you applied and it worked13:21
leonardris that right?.13:21
leonardrhave you landed that?13:21
leonardrbigjools, gary told me of your woe13:22
leonardran ICollection is only for IEntry objects that have their own urls. you should be able to return an IList of ITextLine13:22
=== mrevell-lunch is now known as mrevell
Ursinhabigjools, hello :)13:32
Ursinhabigjools, I pinged you yesterday, but  have no idea if you answered because my internet was worse than crap13:32
bigjoolsUrsinha: hi13:45
bigjoolsleonardr: yeah I'm just returning the list and it seems to work well, thanks13:45
jmlallenap, is that test process still going?13:50
jmlallenap, if so, could you please attach a strace to it and see what it's doing?13:51
allenapjml: Sorry, I killed it. It was in a tight select() loop though; I did an strace before I killed it.13:52
jmlallenap, ok. thanks.13:52
allenapjml: select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)13:52
* jml raises an eyebrow13:53
bacleonardr: yes, i landed the patch that involved uppercasing of the request method14:00
bacleonardr: i also discovered this bug: https://bugs.edge.launchpad.net/launchpad-foundations/+bug/56918914:07
mupBug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189>14:07
allenapjml: Fwiw, it's in lp:~allenap/launchpad/early-batching-bulk-updates-bug-509223 when run with the test command in the email. If I run with "bin/test -vvc lp.bugs.scripts.checkwatches" it does not hang. This might have something to do with when zope.testing spawns a sub-process when the layer doesn't tear down.14:11
leonardrjames_w, i just released a lazr.restfulclient that fixes bug 56830114:29
mupBug #568301: Invoke a named operation on a collection, and the collection is fetched. <performance> <lazr.restfulclient:In Progress> <https://launchpad.net/bugs/568301>14:29
leonardrwant to give it a try and see how the performance improves?14:29
james_wthanks14:29
james_wI'll try later14:29
leonardrsure14:30
leonardrjames_w: when you have time to test things i changed, also take a look at bug 56152114:43
mupBug #561521: Success of PATCH request dependent on dict iteration order <Launchpad Foundations:Fix Committed> <lazr.restful:Fix Released> <https://launchpad.net/bugs/561521>14:43
wgrantderyck: Hi. Are you aware of some horrifyling slow BugJob-related queries caused by status changes?14:47
wgrantThey are making some Soyuz things time out.14:47
deryckwgrant, I have just started to become aware of some BugJob-related timeouts.  Didn't realize we had some with status changes, though.14:52
Ursinhabigjools, so, ping me when you're not busy, re. my bot and your bugs :)14:52
wgrantderyck: Accepting queue entries can close bugs, and they've recently started timing out with several hundred milliseconds of BugJob query per bug.14:53
deryckwgrant, ah, that makes sense.  Anything that qualifies for a bug change will touch that code.  gmb, see wgrant's comments. ^^14:55
* gmb looks14:55
deryckgmb, so we need to look at ways of speeding this up.  it's causing timeouts when filing bugs on ubuntu, too.14:55
gmbwgrant, deryck: Ah, so at a guess this is happening when we're looking at BugJob to see if there's already a CalculateBugHeatJob for that bug, right?14:56
wgrantgmb: So I'm told, although I obviously can't see the full picture. OOPS-1575B227 is an example.14:56
maxballenap: If you've still got that hung test run around, could you check whether there actually is a related subprocess hanging around? Otherwise, I'm not sure why it would still be blocked. You could try a 'lsof -p thatpid' to see if there's anything interesting there14:56
* gmb looks14:57
* deryck looks at OOPS, too14:57
deryckYeah, this is the same as ubuntu filebug timeouts.  and yes, as gmb notes, it's the select.14:59
deryckgmb, See bug 539382, too.14:59
wgrantThe query doesn't look like it has to be terrible.15:00
wgrantUnless the indices are.15:00
gmbwgrant, Yeah, I wonder if we're missing an index somewhere.15:01
* gmb looks15:01
gmbwgrant, deryck, I wonder if there should be indices on Job.lease_expires and .scheduled start, since that's what's getting hit in the subquery.15:03
wgrantMy DB says seq scans on Job and BugJob.15:03
gmb?!15:03
wgrantThat would do it.15:03
gmbSo we need indices on both tables then.15:03
deryckyup15:04
derycksimple to fix then. :-)15:04
gmbIndeed.15:04
wgrant...15:04
* wgrant looks at BugJob's indices.15:04
gmb(Well, simple to *say* anyway)15:04
wgrantOr lack thereof.15:04
deryckgmb, do you think you could find some time today to cowboy a patch to staging to confirm, and if so, get a branch for that?15:04
gmbderyck, Sure, I'll add a card for it. Should get me away from this endlessly frustrating refactoring, too.15:05
deryckgmb, thanks!  Sorry to sideline you with it, but it is becoming more and more of a problem.  You can use bug 539382 to track it, I think.15:05
deryckwgrant, thanks for pinging me about this.15:05
gmbderyck, cool15:06
wgrantderyck: Thank you for swiftly investigating.15:06
derycknp15:07
bigjoolsUrsinha: HELLEAU15:09
maxbHi, are there no CHR people this week?15:11
jtvPuzzle for the day.  Why would Store.of(x) return None, given that x is not None and was retrieved from the database, other than that x has been deleted somehow?15:15
wgrantjtv: Because you are a BranchJobDerived, not a real BranchJob.15:16
jtvwgrant: brilliant!15:17
jtvwgrant: for the bonus round, why would BuildQueue, which has no clue WTF I am or am not besides the fact that I implement a particular interface, want to destroy me?15:17
* bigjools removes the third massive bee from the office today15:18
jtvActually, BranchJobDerived delegates to BranchJob, so I'd guess that would include destroySelf.15:18
wgrantjtv: It tries to the destroy the BuildQueue, the Job and the link between the Job and the real object.15:18
jmljtv: humanity has a long history of destroying things based on perceived type15:18
wgrantjtv: But this doesn't use destroySelf.15:18
jtvjml: yes!  I thought we were finally getting good at it.15:18
wgrantjtv: And bigjools vetoed my change to use it.15:18
wgrantIn favour of noodles' big refactoring.15:19
jtvarrrr15:19
jtvHear that faint drone?  That's Baby Jesus crying.15:20
noodles775wgrant: the big refactoring is based on your ideas too :)15:20
jtvnoodles775: that's as may be, but right now, BuildQueue does The Wrong Thing™ with my object and what recourse do I have?15:20
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/bug-549340-fix-buildqueue-destruction was mine, FWIW.15:21
* noodles775 looks at the branch and jtv's issue.15:23
bigjoolsjtv's branch is not a storm object is it?15:24
bigjoolss/branch/object/15:24
wgrantbigjools: Right.15:24
wgrantIt delegates to one.15:25
jtvbigjools: if you want to argue over whether there should be a separate TranslationTemplatesBuildJob table, go argue with jml who insisted that I use BranchJob instead.  :)15:25
jmljtv: citation needed15:25
bigjoolslol15:25
jtvWhy not define a method in IBuildFarmJob for "this build is done, do whatever you want for historical purposes, or delete yourself, I don't care which"?15:25
wgrantThe Code team in general wants us to use Jobs.15:26
bigjoolsyeah and that unfortunately hurt us in the buildfarm :(15:26
wgrantWell, there was discussion last week that they were unhappy with the new design, since it doesn't involve Jobs.15:27
jtvWhat, we're selling out to Apple?15:27
* wgrant throws some iPhone shards at jtv.15:27
jtvOh, `Job`s.  Sorry.15:27
noodles775I'm not removing the jobs at the moment, and I think once the refactoring is finished we'll be in a much better position to see if we want to either (1) talk about removing the links to Job or (2) turn BuildFarmJob into a services Job with the correct job-type.15:28
wgrantI think the new model could pretty trivially be altered to integrate well with Job, without the mess that is the current situation.15:29
noodles775I agree.15:29
jtvActually, removing a BranchJob will also destroy the Job.15:29
jtvAnyway.  I do need an interim measure, and fast.  How about this idea of delegating "go destroy yourself or something" to the IBuildFarmJob?15:30
bigjoolsthe only reason to use Job is if we intend to use the Job runner15:31
bigjoolsthat will never ever happen15:31
wgrantCode disagrees.15:31
wgrantFeel free to argue with them :)15:31
bigjoolsthey would :)15:31
bigjoolsI'm not arguing, I'm stating a fact.15:32
wgrantjtv: So you're actually thinking of deploying these jobs in 10.04?15:32
jtvwgrant: or be damned near ready to.15:33
wgrantExcellent.15:33
jtvAt the very least I want to be able to move on to the next failure, it's been long enough!15:33
bigjoolsheh15:33
wgrantWell, they worked perfectly for me a little over a month ago. I'm not I had any fixes that remain unmerged, apart from this one.15:34
wgrantSo barring the inevitable massive production issues, it probably just about works.15:35
jtvNice quote, that.15:35
noodles775jtv: so that would be wgrant's branch above right? (IBuildFarmJob.destroySelf())15:36
jtvnoodles775: no, bigjools had one strong argument against that—it's SQLObject.  My own would be: it's the IBuildFarmJob's own damn business what it wants to do after it retires.  It doesn't _have_ to die right there.15:36
jtvJust call it something different and presto.  :)15:36
noodles775Right.15:37
bigjoolsjtv: I think you're simplifying it too much.  We have a BuildQueue, which has generic info, and an associated IBuildFarmJob which has specific info.  BuildQueue records are destroyed when done with, which means the IBuildFarmJob must be too.  If you want persistence you need a separate table.15:38
bigjoolswhich I'm pretty sure is what I said ages ago :)15:39
jtvbigjools: why does it mean IBuildFarmJob must be destroyed?  All you need is for it to stop referring to the Job.15:39
* wgrant would really like to delay any persistence changes until after The Refactoring.15:40
bigjoolsjtv: because that's how it's designed to work, changing it now would be very invasive15:40
wgrantParticularly since it makes the transition much easier if we only have one type of job to migrate...15:40
jtvbigjools: I can see how the design always assumed it, but where does it actually rely on it?15:41
bigjoolsjtv, think of it as the difference between data about the job, and data about the build itself15:41
jtvYes, I'm thinking of it... go on!15:42
mrevellnoodles775, Hey, got five minutes?15:44
noodles775mrevell: sure.15:44
bigjoolsjtv: so it was designed like that so that we could throw away data that was of no use once the job was done.  Deletion is something that doesn't happen enough in LP!15:45
noodles775jtv, bigjools: jfyi, after the refactoring IBuildFarmJob *won't* be destroyed, but all the other queue-related items will be (as they are now - I'm not touching their behavior). That is, BuildPackageJob delegates to IBuildFarmJob... the BuildPackageJob (and related job) will die, but not the BuildFarmJob.15:46
jtvbigjools: but you don't know what the data _is_.  The IBuildFarmJob is not data; it's something abstract that helps you define how to do the job, not a database record.15:46
wgrantjtv: That's about to change.15:46
noodles775It will be, but that doesn't help you now.15:46
wgrantnoodles775: So BuildQueue/Job are staying as they are for now, just all the stuff on top of them is being fixed?15:47
bigjoolsjtv: I didn't mean IBuildFarmJob as such, but the derived tables, but as they say it's going to change15:47
noodles775wgrant: yes, I'm not touching the BuildQueue, just ensuring it still works as it does now. I'm just generalising so that all *Build models have common info in the same place.15:48
jtvbigjools: that's fine with me, but as an implementer of IBuildFarmJob, I still say it's my own business how I take care of this.15:48
noodles775(basically your diagram minus the queue related attributes)15:48
bigjoolsjtv: I completely disagree :)15:48
jtvWell, then fix BuildQueue to do it in a way that works for non-ORM classes!15:48
bigjoolsmaking the build-manager work for different job types was fucking hard15:49
bigjoolsthe direction we took solved a lot of problems while not breaking too much of the existing functionality15:49
jtvkudos for that, and I'm not married to the "the IBuildFarmJob doesn't have to die" idea.  Can we at least delegate the deletion somehow?15:50
bigjoolsyou're going to need a separate table that has persistent data on it, for the builder history page15:52
bigjoolsanyway chat to noodles775, he might be able to help more than me since he's deep in that code at the moment :)15:53
jtvWe've got a ticket open for persistent history.  My very immediate concern is this failure that puts the builder into a very bad state.15:54
=== matsubara is now known as matsubara-lunch
noodles775jtv: I think delegating the deletion would be fine... happy to chat about it, or review an MP :)15:56
cody-somervilleCan I get some help with my branch? lp:~cody-somerville/launchpad/bug-444266/15:56
jtvnoodles775: great, thanks. Call it cleanUp() or something, put the Store.of(self).remove() in the default implementation, and override it in TranslationTemplatesBuildJob?15:57
noodles775jtv: sounds good.15:57
jtvnoodles775: ok, I can have that waiting for you tomorrow morning.15:57
jtvassert jtv.eod < time.now()15:58
cody-somervilleI created a IHasBugSupervisorEditSchema class to provide an editable field for bug_supervisor in IHasBugSupervisorEditView since bug_supervisor is defined as readoly in the IHasBugSupervisor interface.15:58
jtvnoodles775: thanks again.15:58
bigjoolsjtv, noodles775: can we determine if the object is Storm or SQLObject and DTRT?15:58
noodles775cody-somerville: the On Call Reviewer (on #launchpad-reviews) is usually around for that kind of think if no-one here takes you up :)15:58
jtvbigjools: this one isn't either15:58
bigjools?!15:58
jtvbut afaic the default implementation could try15:58
bigjools /o\15:58
* bigjools -> OTP15:59
flacostecan you believe it's snowing over here!15:59
jmlyes16:00
jmlyou live in an arctic wasteland16:00
noodles775bigjools: you can (I've had to create the following property on IBuildFarmJob as an intermediate measure: http://pastebin.ubuntu.com/423413/)16:00
jtvjml clearly fancies those, or he wouldn't have moved so much closer to them16:00
cody-somervilleflacoste, Don't say that. That means its only a matter of time before it starts snowing here :P16:01
bigjoolsit's hot here16:01
jmljtv, no, I just _really_ like grey.16:01
jtv"the night sky over the planet Krikkit is the least interesting sight in the Universe."16:01
jtvbigjools: hot here too.  Still otp?16:03
jtvWow, it's getting so difficult to pick out a T-shirt to wear now that they have mobs in all colours.16:04
jtvI loved the green ones.  Waving identical little flags with fixed, almost hopeful little smiles...  Very Pyongyang.16:05
gmbderyck, wgrant: So, adding indices doesn't seem to solve the seqscan problem with bug 539382.16:19
gmb(I haven't added indices for *everything* yet, maybe that'll work)16:19
gmbHowever, it may be simpler to have CalculateBugHeatJob.create() just create a new job regardless and then have the garbo process make sure that only one update gets run for that bug.16:20
deryckgmb, are you trying this locally?  My experience is that local indexes may not get used when they will on staging.  Unless you're working with a bit of BugJob data locally.16:21
gmbderyck, Ah, good point. I didn't realise that indices might not get used when data volume is low. I'll try and scare up a LOSA.16:21
deryckgmb, though you're right that ultimately it might be still be better to push the work to CalculateBugHeatJob.  But indexes will help regardless of that.16:23
jtvIn fact you'll get _completely_ different plans on realistic data than you will at home.16:26
* jtv is out.16:27
=== deryck is now known as deryck[lunch]
=== flacoste is now known as flacoste_lunch
=== flacoste_lunch is now known as flacoste
=== salgado is now known as salgado-lunch
gmbderyck[lunch], wgrant: So, indices FTW. Will put a DB patch together.17:27
=== gary_poster is now known as gary-lunch
=== deryck[lunch] is now known as deryck
deryckgmb, good news, thanks17:45
mrevellNight all18:16
=== salgado-lunch is now known as salgado
=== gary-lunch is now known as gary-poster
=== al-maisan is now known as almaisan-away
=== gary-poster is now known as gary_poster
leonardrgary or barry, any suggestions on how to mock up a test for time.sleep? i have a semi-vague idea but it seems like something you'd know well19:38
gary_posterleonardr: I've simply used the Grand Hack monkeypatch approach myself.  If I control the pertinent module(s) I sometimes use a "from time import sleep" within it so that I can just locally mokeypatch sleep in the module.  It's possible that mocker would give you an alternate approach, but then you are adding a dependency19:41
leonardrgary, what you're saying is similar to what i was thinking, but i'm not sure what you mean by 'the module'. do you have time to work this out in person?19:42
gary_postersure19:42
salgadoleonardr, maybe this could be of help: http://labix.org/mocker19:42
salgadoTrivial mocking of any external module (e.g. time.time()) via proxy replacement.19:42
gary_posterthat was my second suggestion above, yeah.  But it's adding a dependency.  If you need it (because you don't control the module that uses sleep) it might be a particularly good choice19:43
leonardrgary: it also might be a good choice since lazr.restfulclient already splits out test dependencies from regular dependencies19:43
gary_postertrue19:43
leonardrgary: also, i now understand what you said originally. i'll try that19:44
gary_postercool19:44
=== lifeless_ is now known as lifeless
mwhudsonThe size of the diff (9540 lines) is larger than your specified limit of 1000 lines22:07
mwhudsonwoop!22:07
marsmwhudson, lol22:14
=== salgado is now known as salgado-afk
=== ]reed[ is now known as [reed]
wgrantmars: Hi. Do you know why we still have PlotKit and slimmer in the three?22:24
wgrantAFAICT they have been unused since 3.0 or earlier.22:24
wgrants/three/tree/22:24
=== matsubara is now known as matsubara-afk
marswgrant, sorry, I do not know.  I would have to hunt for leftover traces of them in the source.  sinzui would know better than I if they are still used.22:28
wgrantmars: I've grepped, there's nothing.22:29
sinzuiwgrant, I wanted to remove plotkit a few months ago. I cannot remember what stopped me22:29
sinzuiwgrant, I give you an rs=sinzui to remove them. I am certain no tests will break because they predate js tests.22:30
wgranthaha.22:30
* sinzui thinks a few bug reports after the fact will spur engineers to get rid of cruft22:31
wgrantI have a few other deletions of unused code, but the branch hit 10000 lines (all deletions) so I might split it.22:31
sinzuiwgrant, I can look at it. I love reviewing deletes22:32
wgrantsinzui: https://code.edge.launchpad.net/~wgrant/launchpad/remove-obsolete-js-stuff/+merge/24264, if you have a moment.22:49
* sinzui looks22:49
sinzuiwgrant r=me22:52
sinzuiwgrant, Do you want me to land this now?22:52
wgrantsinzui: Yes please.22:52
wgrantsinzui: Oops, forgot to delete another copy of PlotKit.22:59
sinzuiokay22:59
sinzuiI was just looking for an old plotkit bug so I had not pressed enter yet23:00
wgrantAh. Pushed, and already mirrored.23:01
sinzuibomb away23:02
wgrantsinzui: Were you thinking of your attempt to remove MochiKit, which PlotKit needed?23:04
sinzuiyes I was23:04
sinzuithere is still some complicated script using mochikit23:05
thumpermwhudson: talking with flacoste solved my problem for yesterday23:25
thumpermwhudson: a 2005 XXX comment23:25
thumper:)23:26
mwhudsonthumper: woot23:26
thumpermwhudson: can I move a pipe in a pipeline?23:31
thumpermwhudson: I forgot to add --before to my add-pipe command23:31
mwhudsonthumper: not directly afaik, but you can just remove it and add it again?23:32
thumpernm23:32
thumperyeah, that's what I did23:32
wgrantsinzui: I'm confused -- what is left to do for bug #44052?23:34
mupBug #44052: Auto-suggest affected project based on affected package <bridging-the-gap> <package-link> <Launchpad Registry:Triaged> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/44052>23:34
wgrantIt has done so for years.23:35
mwhudsonany bugs developers here?23:35
mwhudsonsome bugwatch failures in db-devel23:36
mwhudsonlooks like http://bazaar.launchpad.net/~launchpad-pqm/launchpad/stable/revision/10789 conflicts with a database patch in db-devel23:37
thumperflacoste: I've got the removal of the CustomMachine running through ec223:55
thumperflacoste: with that done, my test_traverse works in the harness now23:55
thumpersinzui: around?23:56

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!