thumper | wgrant: here is my review pedantry: doctests should have four spaces before >>> | 00:17 |
---|---|---|
wgrant | thumper: But existing code has 2, 3 or 4. I am never sure whether to go with consistency, fix it, or be inconsistent. | 00:18 |
wgrant | Which should I choose? | 00:18 |
thumper | fix the test | 00:19 |
wgrant | OK, will do so in future. | 00:19 |
thumper | thansk | 00:19 |
thumper | I'm sure we have this documented somewhere | 00:19 |
thumper | wgrant: if I'm using launchpadlib to load something | 00:23 |
thumper | wgrant: what is the base url I give it? | 00:23 |
wgrant | thumper: In a test, or in the real world? | 00:24 |
thumper | QAing against edge | 00:24 |
wgrant | https://api.edge.launchpad.net/$VERSION/ | 00:24 |
wgrant | Or you pester people to fix the bug. | 00:24 |
wgrant | Bug 524775 | 00:24 |
mup | Bug #524775: Launchpad.load doesn't like relative urls <Launchpad Foundations:Triaged> <launchpadlib :Triaged> <https://launchpad.net/bugs/524775> | 00:25 |
thumper | :) | 00:25 |
thumper | what version should I be using? 1.0? | 00:25 |
wgrant | 1.0 shouldn't have any new APIs, although it does. | 00:25 |
wgrant | Use devel. | 00:25 |
lifeless | I gotta say, isn't my hack correct? | 00:25 |
lifeless | so fixing == write a test to confirm? | 00:25 |
* mwhudson afk briefly to post a letter | 01:55 | |
Ursinha_ | how do you suggest testing scripts that use launchpadlib? | 02:27 |
lifeless | Ursinha_: by prayer | 02:33 |
Ursinha_ | lol | 02:33 |
Ursinha_ | lifeless, that was my fear | 02:37 |
wgrant | Maybe someone needs to write some infrastructure to do it. | 02:38 |
wgrant | What with LP being open source and all, there's no reason it can't be done. | 02:39 |
lifeless | the challenge is that launchpadlib is all dynamic | 02:39 |
wgrant | Hm? | 02:39 |
lifeless | Ursinha_: 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 |
lifeless | Ursinha_: the latter, you can use mocks for fairly effectively, if you like mocks. | 02:40 |
lifeless | the former, you cannot ever really test without using live launchpad, because it can change without warning. | 02:40 |
wgrant | There's no reason we can't have an easy way to write launchpadlib script tests that run against a local LP instance. | 02:40 |
lifeless | wgrant: indeed, but that will be heinously slow | 02:41 |
Ursinha_ | lifeless, I'm considering using mocks for the second, but I was wondering if it was possible to test the former | 02:41 |
wgrant | lifeless: Better than having dodgy tests. | 02:41 |
wgrant | (slightly) | 02:41 |
lifeless | I'd consider using the same introspection launchpadlib does - compiling the wadl - to compile a set of fake objects | 02:42 |
lifeless | be nontrivial to do | 02:42 |
lifeless | wgrant: many of my projects complete their *entire* test suite in the time it takes to start up launchpad. | 02:42 |
lifeless | bzr is the notable exception. | 02:42 |
lifeless | Ursinha_: pragmatically, today, I'd have a suite of non-default tests that talks to staging | 02:43 |
lifeless | and mock everything else. | 02:43 |
Ursinha_ | lifeless, hm, right | 02:43 |
=== Ursinha_ is now known as Ursinha-afk | ||
mwhudson | grunk, one ec2 test run stalled | 03:59 |
mwhudson | and two which have failed in lp.code.model.tests.test_diff.TestDiffInScripts.test_fromFile_withError | 04:00 |
mwhudson | for a grand total of 0 out of 3 | 04:01 |
mwhudson | wgrant: it's yours which has hung in ec2 fwiw | 04:01 |
mwhudson | ~wgrant/launchpad/delete-more-stuff | 04:02 |
* mwhudson shoves wgrant's branch back into lp | 05:01 | |
mwhudson | ec2 rather | 05:01 |
wgrant | mwhudson: EC2 seems to really love my branches at the moment. | 05:21 |
wgrant | One that you landed earlier took three attempts, the other one two, this one at least two... | 05:21 |
mwhudson | it seems to be getting worse indeed | 05:22 |
* thumper is sad that staging hasn't updated yet | 05:48 | |
thumper | given my late night hacking last night | 05:48 |
* thumper EODs | 05:49 | |
wgrant | staging's been updating for more than 24 hours now... it must be almost done. | 05:50 |
spm | wgrant: you optimist you | 05:58 |
wgrant | I mean, it's not dogfood. | 05:58 |
stub | Is someone loadtesting against login.staging.launchpad.net? | 06:19 |
=== almaisan-away is now known as al-maisan | ||
adeuring | good morning | 07:29 |
stub | Do we have anything available to parse an ISO8601 timestamp into a Python datetime? | 08:25 |
mrevell | Morning all | 08:39 |
jml | As a great man once said | 08:52 |
jml | Hello, world! | 08:52 |
jml | stub: you mean YYYY-MM-DD HH:mm:SS? | 08:53 |
jml | stub: I think so | 08:53 |
wgrant | The size of the diff (16938 lines) is larger than your specified limit of 1000 lines | 09:10 |
wgrant | What? | 09:10 |
jelmer | wgrant: when do you get that? | 09:12 |
wgrant | db-devel r9315 | 09:13 |
wgrant | Which doesn't seem like it should be so absolutely gigantic. | 09:13 |
wgrant | Hmm. | 09:15 |
wgrant | The sampledata ordering is all different. | 09:16 |
wgrant | But I thought the script ordered it sanely! | 09:16 |
jtv | allenap: I think I'm probably hitting the same segfault you are | 10:02 |
jtv | No output from EC2, and running locally with output redirection loses the critical tail of the output. | 10:03 |
allenap | jtv: That sounds similar. | 10:03 |
wgrant | I've had five instances disappear in the last week. | 10:03 |
allenap | jtv: 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 |
jtv | allenap: do you know what test(s) it happens in? | 10:05 |
allenap | jtv: I triggered the segfault in my branch; it was from new code. I don't know about existing code. | 10:05 |
jtv | allenap: strange... | 10:07 |
jtv | allenap: running some local "make check"s to see where the problem happens | 10:28 |
stub | jml: 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 |
jml | hello | 10:56 |
mwhudson | jml: good morning | 10:57 |
jml | mwhudson, hi | 10:58 |
jml | mwhudson, I cannot help but notice that you are here | 10:58 |
mwhudson | jml: emma and i are sitting on the sofa, a laptop on our laps each | 10:59 |
mwhudson | it's very sad :) | 10:59 |
jml | ahh, the married life | 10:59 |
ajmitch | heh | 10:59 |
jml | I just got back from over an hour of internet downtime because the phone rang and the router was physically inaccessible for rebooting | 11:00 |
jml | mwhudson: how's the hosted/mirror thing panning out? | 11:00 |
mwhudson | jml: staging is terrible | 11:01 |
mwhudson | jml: it might update soon | 11:01 |
mwhudson | jml: but it's landed and, uh, i haven't found any problems with it yet | 11:01 |
jml | mwhudson: it's pretty exciting | 11:02 |
mwhudson | jml: yeah, i'd hoped for more than 1 day to qa it | 11:02 |
mwhudson | i hope i don't find too many problems ... | 11:02 |
jml | mwhudson: and a strong testament to avoiding bduf | 11:02 |
mwhudson | jml: bduf? | 11:02 |
jml | mwhudson: big design up front | 11:03 |
mwhudson | jml: yes | 11:03 |
=== noodles785 is now known as noodles775 | ||
=== bjf is now known as bjf[afk] | ||
jml | sinzui, bac, EdwinGrubbs: does this look like a fairly complete list of features? https://dev.launchpad.net/FeatureChecklist/Registry | 12:15 |
jtv | allenap: 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 | ||
jtv | PQM just cleaned out all of a sudden... did we go into testfix? | 13:18 |
allenap | jtv: User error :) | 13:19 |
jtv | allenap: do I need to resubmit? | 13:20 |
allenap | jtv: No, that was the answer to your earlier question. | 13:20 |
jtv | Ah | 13:20 |
jtv | Well, we do have a failed compile... I'm having a look | 13:21 |
jtv | bigjools: I think your fix fell out of PQM somehow | 13:27 |
jtv | PQM> Conflicts during merge: Text conflict in utilities/sourcedeps.conf | 13:28 |
jtv | flacoste: 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 | ||
didrocks | jml: you are coming to RMLL in France? :) | 13:39 |
jml | didrocks: I think I'm speaking at it | 13:39 |
jml | didrocks: but I've been a bit lazy w/ my submission | 13:39 |
didrocks | jml: well, I see we have a conference the same day ;) | 13:39 |
jml | didrocks: does it clash w/ something at Canonical? | 13:41 |
didrocks | jml: oh no, I'm going there on holidays, giving two conferences (bughugger and quickly) and being at ubuntu-fr booth | 13:42 |
didrocks | well, 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 | ||
wgrant | bigjools: Um, won't PPA deletion not work until 10.04 is on germanium? | 14:03 |
* bigjools taps side of nose sagely | 14:03 | |
wgrant | Heh. | 14:03 |
bigjools | I cherrypicked the backend | 14:03 |
wgrant | Ah. | 14:03 |
wgrant | Handy. | 14:03 |
bigjools | gives a few days of edge fun | 14:04 |
deryck | BjornT, ping | 14:04 |
bigjools | wgrant: btw did you manage to QA any of your stuff this cycle? | 14:05 |
wgrant | bigjools: 'fraid not. Far too much uni assessment this week... but it's all over now, so I'll organise that tomorrow. | 14:05 |
bigjools | wgrant: no worries, I'm going to start hitting the QA trail of doom this arvo | 14:06 |
BjornT | hi deryck | 14:07 |
jml | didrocks, ahh cool | 14:12 |
jml | didrocks, I wonder how much French I can learn between now and then. | 14:12 |
didrocks | jml: we can train you at UDS ;) | 14:12 |
jml | didrocks, je parle francais comme un vache espagnole | 14:14 |
didrocks | jml: that's a typical French expression, it's perfect. Sure you can even order food with that :) | 14:15 |
jml | haha | 14:15 |
bigjools | jml: mais, ou sont les baggages! | 14:17 |
didrocks | bigjools: I hope jml won't need that sentence ;) | 14:24 |
bigjools | didrocks: oui! | 14:25 |
bigjools | Ma grandmere est flambée! | 14:26 |
* jml chuckles | 14:27 | |
didrocks | hum, "une crêpe" can be "flambée", you don't tell that for your "grand mère" ;) | 14:27 |
bigjools | You could learn more if you watch Eddie Izzard's videos :) | 14:27 |
sinzui | :) | 14:30 |
sinzui | bigjools, didrocks: http://www.youtube.com/watch?v=x1sQkEfAdfY | 14:31 |
didrocks | let me have a look :) | 14:31 |
didrocks | "room #42" ;) | 14:35 |
didrocks | we have the same in French with "where is my umbrella?" and "where is Brian?" :) | 14:36 |
bigjools | heh | 14:39 |
bigjools | ou est la plume de ma tante? | 14:39 |
didrocks | yeah, that's funny :) | 14:40 |
flacoste | mthaddon: what happened to staging restore? | 15:13 |
mthaddon | hmm, has been creating the slave since 2010-04-28 18:23:11 | 15:14 |
=== bjf[afk] is now known as bjf | ||
=== bjf is now known as bjf[afk] | ||
=== matsubara is now known as matsubara-lunch | ||
barry | leonardr, 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 |
leonardr | barry: is this your way of telling me you've discovered a horrible date-related test failure? :) | 16:19 |
gary_poster | on call but sounds interesting barry | 16:19 |
barry | leonardr: no, just a clever way to mock datetimes so you can do fun stuff like fast-forwards and stuff | 16:19 |
leonardr | ah, cool | 16:19 |
leonardr | i can think of a place where that would be useful, actually | 16:20 |
* barry searches for a link | 16:20 | |
barry | leonardr: http://bazaar.launchpad.net/~mailman-coders/mailman/3.0/annotate/head%3A/src/mailman/utilities/datetime.py | 16:21 |
Ursinha | Chex, gary_poster, rockstar, bigjools, danilos, sinzui, allenap: production meeting on #launchpad-meeting @ Freenode in 40 minutes | 16:21 |
leonardr | barry: thanks | 16:21 |
bigjools | Ursinha: let;s talk about bots | 16:22 |
Ursinha | bigjools, no, you ignored me the whole week :P | 16:22 |
bigjools | Ursinha: did not! | 16:22 |
Ursinha | bigjools, can we discuss that after the meeting? I'm kinda preparing for that now :) | 16:24 |
bigjools | Ursinha: it'll be too late after the meeting, unless you make it a quick meeting ;) | 16:24 |
Ursinha | bigjools, you should have answered when I first pinged you about it :P | 16:27 |
Ursinha | bigjools, we can talk about that tomorrow, is that ok for you? | 16:27 |
bigjools | Ursinha: I'm pretty sure I did, but you ignored me :) | 16:27 |
bigjools | anyway, yes, what time? | 16:27 |
Ursinha | 1h30 earlier than now? :) | 16:28 |
bigjools | Ursinha: it's a date | 16:28 |
Chex | Ursinha: thank you for reminder | 16:29 |
Ursinha | Chex, no problem :) | 16:29 |
* bigjools cries at an extra Popen in a test in wgrant's branch | 16:32 | |
wgrant | Is there a better way to test scripts like that? | 16:33 |
Ursinha | hm, just saw sinzui's email, EdwinGrubbs, are you able to attend the prod. meeting? | 16:35 |
EdwinGrubbs | Ursinha: yes, is it a conference call or on irc? | 16:36 |
Ursinha | EdwinGrubbs, on irc, #launchpad-meeting | 16:36 |
Ursinha | EdwinGrubbs, thanks :) | 16:37 |
=== bjf[afk] is now known as bjf | ||
mars | jml, 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 |
jml | mars, launchpad.net/pyunit-friends | 16:39 |
mars | jml, thanks! | 16:39 |
jml | mars, and the lp:testtools project specifically. | 16:39 |
jml | barry, mars, what's the point of using that rather than just passing in 'now' as an optional parameter? | 16:40 |
barry | mars, jml maybe even the testing-in-python mailing list | 16:40 |
jml | oh yeah | 16:41 |
jml | definitely t-i-p | 16:41 |
barry | jml: cleaner apis :) | 16:41 |
jml | barry, because now they take a mandatory date factory? | 16:41 |
barry | jml: 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 |
jml | barry, using mutable globals isn't cleaner | 16:42 |
jml | although I'm willing to admit it's a matter of taste | 16:43 |
barry | jml: 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 more | 16:43 |
jml | I really like functions and parameters. | 16:43 |
barry | jml: eibti | 16:44 |
jml | yeah, that's what I mean | 16:44 |
Ursinha | Chex, gary_poster, rockstar, bigjools, danilos, EdwinGrubbs, allenap: production meeting on #launchpad-meeting @ Freenode in 15 minutes | 16:45 |
barry | i get that. not (totally ;) disagreeing with you. still, it's better than monkeypatching datetime :) | 16:45 |
jml | barry, yes, it's better than monkey patching datetime | 16:45 |
gary_poster | Ursinha: I've asked matsubara-lunch to stand in for me | 16:49 |
gary_poster | matsubara-lunch: that's your confirmation ;-) | 16:49 |
Ursinha | gary_poster, sure, thanks for the info | 16:49 |
gary_poster | thank you | 16: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 | ||
Ursinha | Chex, matsubara, rockstar, bigjools, danilos, EdwinGrubbs, allenap: production meeting on #launchpad-meeting @ Freenode now :) | 17:00 |
danilos | Ursinha, thanks | 17:00 |
=== salgado is now known as salgado-lunch | ||
=== al-maisan is now known as almaisan-away | ||
cody-somerville | I'm getting lazr.restfulclient.errors.HTTPError: HTTP Error 503: Service Unavailable when I try to ec2 land my branch. | 17:25 |
cody-somerville | weird. 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 | |
leonardr | bac, gary: bug 569189 cause has been revealed | 17:30 |
mup | Bug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189> | 17:30 |
* bac awaits answer with suspense | 17:31 | |
leonardr | bac: sorry, there was an implicit 'check out the bug' | 17:33 |
bac | did | 17:33 |
bac | thanks | 17:33 |
leonardr | bac: as a workaround, you could grant your user WRITE_PRIVATE access. that should make the test work | 17:34 |
bac | ok, i'll try that. thanks | 17: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_poster | bac, 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 |
mup | Bug #569189: Authenticated users in launchpadlib tests have no permissions <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/569189> | 18:20 |
leonardr | gary: mark it invalid, but let's also let the code team know about it so they can fix it if they want | 18:21 |
gary_poster | leonardr: ok will do | 18:21 |
=== itsNOTout is now known as LucidIsOut | ||
jml | gn'ight all | 18:37 |
=== LucidIsOut is now known as Ursinha | ||
leonardr | barry, do you have a minute to see whether i'm crazy? | 18:55 |
leonardr | i need someone to branch lp:~leonardr/lazr.restfulclient/delete-entry, buildout, run the tests, and tell me if you get any failures | 18:55 |
EdwinGrubbs | Ursinha: can you send me the distributionmirror-prober error message? | 19:03 |
Ursinha | EdwinGrubbs, it's in the script-failures mailing list | 19:04 |
Ursinha | EdwinGrubbs, just a moment | 19:04 |
sinzui | EdwinGrubbs, Ursinha there was no error. It is running late. | 19:13 |
Ursinha | sinzui, this explains why I'm not finding the email on the lp-error-reports list | 19:13 |
lifeless | mmmm bacon | 20:46 |
lifeless | thumper: so, shall we chat ? | 20:46 |
mwhudson | staging is down :( | 20:58 |
mwhudson | why? | 20:58 |
mwhudson | losa ping | 21:19 |
lifeless | thumper: ping | 21:23 |
Chex | mwhudson: hi there | 21:32 |
mwhudson | Chex: what's up with staging? | 21:32 |
lifeless | thumper: ping | 21:40 |
mwhudson | lifeless: he's probably doing the school/kindy run now | 21:48 |
lifeless | mwhudson: isn't that 'load catapult(); fire();' ? | 21:49 |
=== gary_poster_ is now known as gary_poster | ||
thumper | lifeless: the foundations behind my problem with using queued too much right now is that there isn't the correct security checks around it | 22:03 |
thumper | lifeless: I really want to split out the reviewed_status from the queued_status | 22:03 |
thumper | lifeless: with your current branch, anyone could take something from needs review to merge failed | 22:03 |
thumper | lifeless: from there they could queue it | 22:03 |
thumper | bypassing the approval | 22:03 |
lifeless | thumper: I don't think thats true. I'll add a test to prove it happily. | 22:07 |
thumper | lifeless: it is true | 22:07 |
thumper | lifeless: setStatus(merge_failed) has no checks other than launchpad.edit | 22:07 |
thumper | lifeless: which the proposer has | 22:07 |
thumper | lifeless: and the source branch owner | 22:08 |
thumper | we really need to split out the reviewed status | 22:08 |
thumper | I don't think it is too much work (fingers crossed) | 22:09 |
thumper | lots of fiddly bits though | 22:09 |
thumper | I think what I want to do is to remove all the special case set status methods | 22:10 |
thumper | and have two new ones: setReviewStatus and setQueueStatus | 22:11 |
lifeless | thumper: there is a check that only official reviewers can queue things | 22:13 |
thumper | lifeless: or if it has been approved | 22:13 |
lifeless | right | 22:13 |
* lifeless digs up the patch, vm starting | 22:14 | |
cody-somerville | Is anyone else getting ImportError: No module named tickcount on make? | 22:15 |
lifeless | thumper: so, I don't want to increase the scope right now; happy to participate in optional cleanups. | 22:15 |
lifeless | thumper: your primary concern is 'non reviewers should not be allowed to set merge failed', right ? | 22:15 |
thumper | lifeless: that's good enough for now | 22:15 |
thumper | lifeless: I'd like to get this fixed soon | 22:15 |
lifeless | because merge failed permits toggling back to queued | 22:15 |
thumper | right | 22:15 |
lifeless | ok, my patch enforces that | 22:17 |
lifeless | elif (next_state in (code_approved, queued) and | 22:17 |
lifeless | - from_state not in (code_approved, queued) | 22:17 |
lifeless | + from_state not in (code_approved, queued, merge_failed) | 22:17 |
lifeless | in the existing state machine transition check | 22:17 |
=== matsubara is now known as matsubara-afk | ||
lifeless | first hunk in lib/lp/code/model/branchmergeproposal.py | 22:18 |
lifeless | thumper: ^ | 22:19 |
lifeless | I'll triple check though | 22:19 |
lifeless | ok, its not quite right; adding test and fixing. | 22:20 |
thumper | ah, missed that | 22:21 |
=== salgado is now known as salgado-afk | ||
lifeless | is it fair to say the branch owner is an implicit reviewer ? | 22:27 |
=== Ursinha is now known as Ursinha-afk | ||
lifeless | thumper: ^ | 22:28 |
thumper | target branch owner should be | 22:29 |
lifeless | yes | 22:29 |
lifeless | just checking my language | 22:29 |
thumper | lifeless: you should be aware that we are likely to break the way that PQM deals with queued proposals | 22:36 |
thumper | lifeless: in the changes we want to do | 22:36 |
lifeless | keep me in the loop, I'll update as needed | 22:36 |
lifeless | what sort of damage do you have in mind ? | 22:37 |
thumper | api breaks most likely | 22:39 |
lifeless | thumper: I have a small question about the tests | 22:44 |
lifeless | assertAllTransitionsGood - that seems to test with a non reviewer | 22:44 |
thumper | sounds right | 22:45 |
lifeless | but | 22:45 |
lifeless | (checking stuff) | 22:46 |
thumper | lifeless: this isn't paged in right now, and I'm on a call, and about to run out to an appointment | 22:46 |
lifeless | sure | 22:48 |
lifeless | anyhow, I think the existing tests were making an odd claim - that any user can switch wip to any state | 22:48 |
lifeless | thumper: I have fixenated and pushed | 23:33 |
lifeless | ok -> .au | 23:48 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!