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

thumperwgrant: here is my review pedantry: doctests should have four spaces before >>>00:17
wgrantthumper: But existing code has 2, 3 or 4. I am never sure whether to go with consistency, fix it, or be inconsistent.00:18
wgrantWhich should I choose?00:18
thumperfix the test00:19
wgrantOK, will do so in future.00:19
thumperthansk00:19
thumperI'm sure we have this documented somewhere00:19
thumperwgrant: if I'm using launchpadlib to load something00:23
thumperwgrant: what is the base url I give it?00:23
wgrantthumper: In a test, or in the real world?00:24
thumperQAing against edge00:24
wgranthttps://api.edge.launchpad.net/$VERSION/00:24
wgrantOr you pester people to fix the bug.00:24
wgrantBug 52477500:24
mupBug #524775: Launchpad.load doesn't like relative urls <Launchpad Foundations:Triaged> <launchpadlib :Triaged> <https://launchpad.net/bugs/524775>00:25
thumper:)00:25
thumperwhat version should I be using? 1.0?00:25
wgrant1.0 shouldn't have any new APIs, although it does.00:25
wgrantUse devel.00:25
lifelessI gotta say, isn't my hack correct?00:25
lifelessso fixing == write a test to confirm?00:25
* mwhudson afk briefly to post a letter01:55
Ursinha_how do you suggest testing scripts that use launchpadlib?02:27
lifelessUrsinha_: by prayer02:33
Ursinha_lol02:33
Ursinha_lifeless, that was my fear02:37
wgrantMaybe someone needs to write some infrastructure to do it.02:38
wgrantWhat with LP being open source and all, there's no reason it can't be done.02:39
lifelessthe challenge is that launchpadlib is all dynamic02:39
wgrantHm?02:39
lifelessUrsinha_: there are two basic things; 'are you using launchpadlib as it expects to be used' and 'does your code do what you wanted it to, still'02:40
lifelessUrsinha_: the latter, you can use mocks for fairly effectively, if you like mocks.02:40
lifelessthe former, you cannot ever really test without using live launchpad, because it can change without warning.02:40
wgrantThere's no reason we can't have an easy way to write launchpadlib script tests that run against a local LP instance.02:40
lifelesswgrant: indeed, but that will be heinously slow02:41
Ursinha_lifeless, I'm considering using mocks for the second, but I was wondering if it was possible to test the former02:41
wgrantlifeless: Better than having dodgy tests.02:41
wgrant(slightly)02:41
lifelessI'd consider using the same introspection launchpadlib does - compiling the wadl - to compile a set of fake objects02:42
lifelessbe nontrivial to do02:42
lifelesswgrant: many of my projects complete their *entire* test suite in the time it takes to start up launchpad.02:42
lifelessbzr is the notable exception.02:42
lifelessUrsinha_: pragmatically, today, I'd have a suite of non-default tests that talks to staging02:43
lifelessand mock everything else.02:43
Ursinha_lifeless, hm, right02:43
=== Ursinha_ is now known as Ursinha-afk
mwhudsongrunk, one ec2 test run stalled03:59
mwhudsonand two which have failed in lp.code.model.tests.test_diff.TestDiffInScripts.test_fromFile_withError04:00
mwhudsonfor a grand total of 0 out of 304:01
mwhudsonwgrant: it's yours which has hung in ec2 fwiw04:01
mwhudson~wgrant/launchpad/delete-more-stuff04:02
* mwhudson shoves wgrant's branch back into lp05:01
mwhudsonec2 rather05:01
wgrantmwhudson: EC2 seems to really love my branches at the moment.05:21
wgrantOne that you landed earlier took three attempts, the other one two, this one at least two...05:21
mwhudsonit seems to be getting worse indeed05:22
* thumper is sad that staging hasn't updated yet05:48
thumpergiven my late night hacking last night05:48
* thumper EODs05:49
wgrantstaging's been updating for more than 24 hours now... it must be almost done.05:50
spmwgrant: you optimist you05:58
wgrantI mean, it's not dogfood.05:58
stubIs someone loadtesting against login.staging.launchpad.net?06:19
=== almaisan-away is now known as al-maisan
adeuringgood morning07:29
stubDo we have anything available to parse an ISO8601 timestamp into a Python datetime?08:25
mrevellMorning all08:39
jmlAs a great man once said08:52
jmlHello, world!08:52
jmlstub: you mean YYYY-MM-DD HH:mm:SS?08:53
jmlstub: I think so08:53
wgrantThe size of the diff (16938 lines) is larger than your specified limit of 1000 lines09:10
wgrantWhat?09:10
jelmerwgrant: when do you get that?09:12
wgrantdb-devel r931509:13
wgrantWhich doesn't seem like it should be so absolutely gigantic.09:13
wgrantHmm.09:15
wgrantThe sampledata ordering is all different.09:16
wgrantBut I thought the script ordered it sanely!09:16
jtvallenap: I think I'm probably hitting the same segfault you are10:02
jtvNo output from EC2, and running locally with output redirection loses the critical tail of the output.10:03
allenapjtv: That sounds similar.10:03
wgrantI've had five instances disappear in the last week.10:03
allenapjtv: The way I confirmed it is to pdb.set_trace() in spawn_layer_in_subprocess() to get the exact command line args for the sub-process, then run that from the command line.10:04
jtvallenap: do you know what test(s) it happens in?10:05
allenapjtv: I triggered the segfault in my branch; it was from new code. I don't know about existing code.10:05
jtvallenap: strange...10:07
jtvallenap: running some local "make check"s to see where the problem happens10:28
stubjml: Yer, but I'm using an interval now so no worries. Closest I found was the datetime type I added to the OptionParser that knew about various formats, which we could factor out one day.10:34
jmlhello10:56
mwhudsonjml: good morning10:57
jmlmwhudson, hi10:58
jmlmwhudson, I cannot help but notice that you are here10:58
mwhudsonjml: emma and i are sitting on the sofa, a laptop on our laps each10:59
mwhudsonit's very sad :)10:59
jmlahh, the married life10:59
ajmitchheh10:59
jmlI just got back from over an hour of internet downtime because the phone rang and the router was physically inaccessible for rebooting11:00
jmlmwhudson: how's the hosted/mirror thing panning out?11:00
mwhudsonjml: staging is terrible11:01
mwhudsonjml: it might update soon11:01
mwhudsonjml: but it's landed and, uh, i haven't found any problems with it yet11:01
jmlmwhudson: it's pretty exciting11:02
mwhudsonjml: yeah, i'd hoped for more than 1 day to qa it11:02
mwhudsoni hope i don't find too many problems ...11:02
jmlmwhudson: and a strong testament to avoiding bduf11:02
mwhudsonjml: bduf?11:02
jmlmwhudson: big design up front11:03
mwhudsonjml: yes11:03
=== noodles785 is now known as noodles775
=== bjf is now known as bjf[afk]
jmlsinzui, bac, EdwinGrubbs: does this look like a fairly complete list of features? https://dev.launchpad.net/FeatureChecklist/Registry12:15
jtvallenap: about the problem you ran into... any idea what caused the bad data to be fed to storm?12:22
=== mrevell is now known as mrevell-lunch
jtvPQM just cleaned out all of a sudden... did we go into testfix?13:18
allenapjtv: User error :)13:19
jtvallenap: do I need to resubmit?13:20
allenapjtv: No, that was the answer to your earlier question.13:20
jtvAh13:20
jtvWell, we do have a failed compile...  I'm having a look13:21
jtvbigjools: I think your fix fell out of PQM somehow13:27
jtvPQM> Conflicts during merge: Text conflict in utilities/sourcedeps.conf13:28
jtvflacoste: did your sourcedeps.conf update for loggerhead get caught in a stable/db-devel merge conflict?13:35
=== Ursinha-afk is now known as Ursinha
didrocksjml: you are coming to RMLL in France? :)13:39
jmldidrocks: I think I'm speaking at it13:39
jmldidrocks: but I've been a bit lazy w/ my submission13:39
didrocksjml: well, I see we have a conference the same day ;)13:39
jmldidrocks: does it clash w/ something at Canonical?13:41
didrocksjml: oh no, I'm going there on holidays, giving two conferences (bughugger and quickly) and being at ubuntu-fr booth13:42
didrockswell, if I say that I'm going there "for" bughugger, maybe rick will accept that I don't go there only for holidays ;)13:44
=== mrevell-lunch is now known as mrevell
wgrantbigjools: Um, won't PPA deletion not work until 10.04 is on germanium?14:03
* bigjools taps side of nose sagely14:03
wgrantHeh.14:03
bigjoolsI cherrypicked the backend14:03
wgrantAh.14:03
wgrantHandy.14:03
bigjoolsgives a few days of edge fun14:04
deryckBjornT, ping14:04
bigjoolswgrant: btw did you manage to QA any of your stuff this cycle?14:05
wgrantbigjools: 'fraid not. Far too much uni assessment this week... but it's all over now, so I'll organise that tomorrow.14:05
bigjoolswgrant: no worries, I'm going to start hitting the QA trail of doom this arvo14:06
BjornThi deryck14:07
jmldidrocks, ahh cool14:12
jmldidrocks, I wonder how much French I can learn between now and then.14:12
didrocksjml: we can train you at UDS ;)14:12
jmldidrocks, je parle francais comme un vache espagnole14:14
didrocksjml: that's a typical French expression, it's perfect. Sure you can even order food with that :)14:15
jmlhaha14:15
bigjoolsjml: mais, ou sont les baggages!14:17
didrocksbigjools: I hope jml won't need that sentence ;)14:24
bigjoolsdidrocks: oui!14:25
bigjoolsMa grandmere est flambée!14:26
* jml chuckles14:27
didrockshum, "une crêpe" can be "flambée", you don't tell that for your "grand mère" ;)14:27
bigjoolsYou could learn more if you watch Eddie Izzard's videos :)14:27
sinzui:)14:30
sinzuibigjools, didrocks: http://www.youtube.com/watch?v=x1sQkEfAdfY14:31
didrockslet me have a look :)14:31
didrocks"room #42" ;)14:35
didrockswe have the same in French with "where is my umbrella?" and "where is Brian?" :)14:36
bigjoolsheh14:39
bigjoolsou est la plume de ma tante?14:39
didrocksyeah, that's funny :)14:40
flacostemthaddon: what happened to staging restore?15:13
mthaddonhmm, has been creating the slave since 2010-04-28 18:23:1115:14
=== bjf[afk] is now known as bjf
=== bjf is now known as bjf[afk]
=== matsubara is now known as matsubara-lunch
barryleonardr, gary_poster i can't remember where i posted about this but i use a fake datetime factory that allows me to produce predictable dates when in testing mode.  maybe something like that is useful?  (it's in the mailman 3 source code if you want to look)16:18
leonardrbarry: is this your way of telling me you've discovered a horrible date-related test failure? :)16:19
gary_posteron call but sounds interesting barry16:19
barryleonardr: no, just a clever way to mock datetimes so you can do fun stuff like fast-forwards and stuff16:19
leonardrah, cool16:19
leonardri can think of a place where that would be useful, actually16:20
* barry searches for a link16:20
barryleonardr: http://bazaar.launchpad.net/~mailman-coders/mailman/3.0/annotate/head%3A/src/mailman/utilities/datetime.py16:21
UrsinhaChex, gary_poster, rockstar, bigjools, danilos, sinzui, allenap: production meeting on #launchpad-meeting @ Freenode in 40 minutes16:21
leonardrbarry: thanks16:21
bigjoolsUrsinha: let;s talk about bots16:22
Ursinhabigjools, no, you ignored me the whole week :P16:22
bigjoolsUrsinha: did not!16:22
Ursinhabigjools, can we discuss that after the meeting? I'm kinda preparing for that now :)16:24
bigjoolsUrsinha: it'll be too late after the meeting, unless you make it a quick meeting ;)16:24
Ursinhabigjools, you should have answered when I first pinged you about it :P16:27
Ursinhabigjools, we can talk about that tomorrow, is that ok for you?16:27
bigjoolsUrsinha: I'm pretty sure I did, but you ignored me :)16:27
bigjoolsanyway, yes, what time?16:27
Ursinha1h30 earlier than now? :)16:28
bigjoolsUrsinha: it's a date16:28
ChexUrsinha: thank you for reminder16:29
UrsinhaChex, no problem :)16:29
* bigjools cries at an extra Popen in a test in wgrant's branch16:32
wgrantIs there a better way to test scripts like that?16:33
Ursinhahm, just saw sinzui's email, EdwinGrubbs, are you able to attend the prod. meeting?16:35
EdwinGrubbsUrsinha: yes, is it a conference call or on irc?16:36
UrsinhaEdwinGrubbs, on irc, #launchpad-meeting16:36
UrsinhaEdwinGrubbs, thanks :)16:37
=== bjf[afk] is now known as bjf
marsjml, just looking at the nifty datetime factory barry created above.  twisted and bzr have some nifty stuff too.  Thought you might know: is there a central resource for all these cool python testing power tools?16:38
jmlmars, launchpad.net/pyunit-friends16:39
marsjml, thanks!16:39
jmlmars, and the lp:testtools project specifically.16:39
jmlbarry, mars, what's the point of using that rather than just passing in 'now' as an optional parameter?16:40
barrymars, jml maybe even the testing-in-python mailing list16:40
jmloh yeah16:41
jmldefinitely t-i-p16:41
barryjml: cleaner apis :)16:41
jmlbarry, because now they take a mandatory date factory?16:41
barryjml: no, nothing takes a factory.  any code that needs a datetime imports the factory and uses that to create it instead of datetime.datetime.now()16:42
jml:(16:42
jmlbarry, using mutable globals isn't cleaner16:42
jmlalthough I'm willing to admit it's a matter of taste16:43
barryjml: neither is passing now arguments up and down a call stack.  i'm not saying it's pretty but it's a trade-off.  one i like only slightly more16:43
jmlI really like functions and parameters.16:43
barryjml: eibti16:44
jmlyeah, that's what I mean16:44
UrsinhaChex, gary_poster, rockstar, bigjools, danilos, EdwinGrubbs, allenap: production meeting on #launchpad-meeting @ Freenode in 15 minutes16:45
barryi get that.  not (totally ;) disagreeing with you.  still, it's better than monkeypatching datetime :)16:45
jmlbarry, yes, it's better than monkey patching datetime16:45
gary_posterUrsinha: I've asked matsubara-lunch to stand in for me16:49
gary_postermatsubara-lunch: that's your confirmation ;-)16:49
Ursinhagary_poster, sure, thanks for the info16:49
gary_posterthank you16:49
=== gary_poster is now known as gary-lunch
=== Ursinha is now known as isitoutyet
=== isitoutyet is now known as Ursinha
=== matsubara-lunch is now known as matsubara
UrsinhaChex, matsubara, rockstar, bigjools, danilos, EdwinGrubbs, allenap: production meeting on #launchpad-meeting @ Freenode now :)17:00
danilosUrsinha, thanks17:00
=== salgado is now known as salgado-lunch
=== al-maisan is now known as almaisan-away
cody-somervilleI'm getting lazr.restfulclient.errors.HTTPError: HTTP Error 503: Service Unavailable when I try to ec2 land my branch.17:25
cody-somervilleweird. I'm getting the launchpad offline page in response to whatever ec2 land is trying to fetch from launchpad.17:25
* cody-somerville tries again.17:26
leonardrbac, gary: bug 569189 cause has been revealed17:30
mupBug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189>17:30
* bac awaits answer with suspense17:31
leonardrbac: sorry, there was an implicit 'check out the bug'17:33
bacdid17:33
bacthanks17:33
leonardrbac: as a workaround, you could grant your user WRITE_PRIVATE access. that should make the test work17:34
bacok, i'll try that.  thanks17:34
=== Ursinha is now known as IsItOutYet
=== gary-lunch is now known as gary_poster
=== IsItOutYet is now known as itsNOTout
=== salgado-lunch is now known as salgado
gary_posterbac, leonardr I'm inclined to mark https://bugs.edge.launchpad.net/launchpad-foundations/+bug/569189 as Invalid on the basis of Leonard's evaluation.  Alternatively, we could convert it into a bug for the code team, to change their permissions somehow or other, but my preference is for Invalid (again, unless I misunderstand).18:20
mupBug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189>18:20
leonardrgary: mark it invalid, but let's also let the code team know about it so they can fix it if they want18:21
gary_posterleonardr: ok will do18:21
=== itsNOTout is now known as LucidIsOut
jmlgn'ight all18:37
=== LucidIsOut is now known as Ursinha
leonardrbarry, do you have a minute to see whether i'm crazy?18:55
leonardri need someone to branch lp:~leonardr/lazr.restfulclient/delete-entry, buildout, run the tests, and tell me if you get any failures18:55
EdwinGrubbsUrsinha: can you send me the distributionmirror-prober error message?19:03
UrsinhaEdwinGrubbs, it's in the script-failures mailing list19:04
UrsinhaEdwinGrubbs, just a moment19:04
sinzuiEdwinGrubbs, Ursinha there was no error. It is running late.19:13
Ursinhasinzui, this explains why I'm not finding the email on the lp-error-reports list19:13
lifelessmmmm bacon20:46
lifelessthumper: so, shall we chat ?20:46
mwhudsonstaging is down :(20:58
mwhudsonwhy?20:58
mwhudsonlosa ping21:19
lifelessthumper: ping21:23
Chexmwhudson: hi there21:32
mwhudsonChex: what's up with staging?21:32
lifelessthumper: ping21:40
mwhudsonlifeless: he's probably doing the school/kindy run now21:48
lifelessmwhudson: isn't that 'load catapult(); fire();' ?21:49
=== gary_poster_ is now known as gary_poster
thumperlifeless: the foundations behind my problem with using queued too much right now is that there isn't the correct security checks around it22:03
thumperlifeless: I really want to split out the reviewed_status from the queued_status22:03
thumperlifeless: with your current branch, anyone could take something from needs review to merge failed22:03
thumperlifeless: from there they could queue it22:03
thumperbypassing the approval22:03
lifelessthumper: I don't think thats true. I'll add a test to prove it happily.22:07
thumperlifeless: it is true22:07
thumperlifeless: setStatus(merge_failed) has no checks other than launchpad.edit22:07
thumperlifeless: which the proposer has22:07
thumperlifeless: and the source branch owner22:08
thumperwe really need to split out the reviewed status22:08
thumperI don't think it is too much work (fingers crossed)22:09
thumperlots of fiddly bits though22:09
thumperI think what I want to do is to remove all the special case set status methods22:10
thumperand have two new ones: setReviewStatus and setQueueStatus22:11
lifelessthumper: there is a check that only official reviewers can queue things22:13
thumperlifeless: or if it has been approved22:13
lifelessright22:13
* lifeless digs up the patch, vm starting22:14
cody-somervilleIs anyone else getting ImportError: No module named tickcount on make?22:15
lifelessthumper: so, I don't want to increase the scope right now; happy to participate in optional cleanups.22:15
lifelessthumper: your primary concern is 'non reviewers should not be allowed to set merge failed', right ?22:15
thumperlifeless: that's good enough for now22:15
thumperlifeless: I'd like to get this fixed soon22:15
lifelessbecause merge failed permits toggling back to queued22:15
thumperright22:15
lifelessok, my patch enforces that22:17
lifeless     elif (next_state in (code_approved, queued) and22:17
lifeless-          from_state not in (code_approved, queued)22:17
lifeless+          from_state not in (code_approved, queued, merge_failed)22:17
lifelessin the existing state machine transition check22:17
=== matsubara is now known as matsubara-afk
lifelessfirst hunk in lib/lp/code/model/branchmergeproposal.py22:18
lifelessthumper: ^22:19
lifelessI'll triple check though22:19
lifelessok, its not quite right; adding test and fixing.22:20
thumperah, missed that22:21
=== salgado is now known as salgado-afk
lifelessis it fair to say the branch owner is an implicit reviewer ?22:27
=== Ursinha is now known as Ursinha-afk
lifelessthumper: ^22:28
thumpertarget branch owner should be22:29
lifelessyes22:29
lifelessjust checking my language22:29
thumperlifeless: you should be aware that we are likely to break the way that PQM deals with queued proposals22:36
thumperlifeless: in the changes we want to do22:36
lifelesskeep me in the loop, I'll update as needed22:36
lifelesswhat sort of damage do you have in mind ?22:37
thumperapi breaks most likely22:39
lifelessthumper: I have a small question about the tests22:44
lifelessassertAllTransitionsGood - that seems to test with a non reviewer22:44
thumpersounds right22:45
lifelessbut22:45
lifeless(checking stuff)22:46
thumperlifeless: this isn't paged in right now, and I'm on a call, and about to run out to an appointment22:46
lifelesssure22:48
lifelessanyhow, I think the existing tests were making an odd claim - that any user can switch wip to any state22:48
lifelessthumper: I have fixenated and pushed23:33
lifelessok -> .au23:48

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