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

* mwhudson lunches00:02
=== bjf is now known as bjf-afk
leonardrthumper: there was a conflict between my branch and db-devel00:14
leonardrhttp://pastebin.ubuntu.com/387304/00:14
* thumper looks00:14
leonardrgary and i verified that the test is present in devel and not present in db-devel, but we didn't find any record that it had been _removed_ from db-devel00:14
leonardrand are not sure why it would have caused a conflict00:14
leonardr<gary_poster> leonardr: just to be sure, maybe bring it up to thumper?  It looks like it is in code, so he might know.  I don't see any removals of this code in February (http://bazaar.launchpad.net/%7Elaunchpad-pqm/launchpad/db-devel/changes?filter_file_id=xxbranchmergeproposa-20081124161423-sto2nyh0ew6f80p4-1)00:14
thumperleonardr: if you edited something at the end of the file... ??00:15
thumperleonardr: sometimes it happens00:15
thumpermerge in db-devel00:15
thumperkeep the test00:15
thumperit is new00:15
leonardrthumper: problem is, the test doesn't pass in db-devel, maybe due to sample data differences?00:15
thumperI don't know who fixed it, but I'm happy it is :)00:16
thumperum..00:16
thumperwhat's the error?00:16
leonardrthumper: all_comments['entries'] is empty00:16
thumperleonardr: where is your branch?00:17
thumperleonardr: I'll update db-devel00:17
thumpermerge in your branch00:17
thumperand take a look00:17
leonardrthumper: lp~leonardr/launchpad/multiversion-wadl00:18
* thumper postpones lunch a little00:19
thumperleonardr: I don't get a conflict merging your branch into db-devel00:20
thumperleonardr: have you merged db-devel into that branch and resolved the conflict?00:20
leonardrthumper: yes, actually, sorry. try merging the penultimate version00:20
thumperleonardr: that's fine, I'll just look at the test00:21
thumperleonardr: your branch cleanly merged into db-devel for me00:26
thumperleonardr: and the test passed00:26
thumperleonardr: with a make schema before I started00:27
thumperleonardr: not sure what to say...00:27
leonardrthumper: that fits with what happened to me00:27
thumperleonardr: so what is the problem?00:27
leonardrthumper: gary and i thought it was weird and wanted to alert you to it, is all00:27
thumperoh00:27
thumperok00:27
thumperjust a weird bzr merge bug I think00:28
gary_posterthumper, leonardr, sorry for the ruckus, just didn't want to make a mistake.00:28
thumpergary_poster: that's ok00:28
gary_posterleonardr: I thought the test didn't pass for you?00:28
gary_posterleonardr, thumper: so we are merging the file without the test?00:29
gary_posteroh the make schema00:29
gary_posterI wondered if that were it00:29
thumpergary_poster: I don't think so.  I started with an up to date db-devel, merged in leonard's branch, and the test is there00:29
thumperso it seems the conflict resolution is fine00:30
gary_posterbut I still didn't see the test in db-devel when I pulled.  but if you are happy, I am happy.  I'll run along now. ;-)00:30
thumperand the test passes00:30
gary_postercool00:30
thumperso I think we are good00:30
gary_posterok, thank you thumper and leonardr00:30
thumpergary_poster: did you have an up to date db-devel?00:30
leonardrhold on, i had the wrong view of an ambiguous statement00:30
leonardr"the test"00:30
leonardrlet me restate what happened00:31
thumperlib/lp/code/tests/../stories/webservice/xx-branchmergeproposal.txt00:31
thumper  Ran 23 tests with 0 failures and 0 errors in 5.421 seconds.00:31
gary_posterthumper: yes00:31
leonardri merged db-devel into my branch and saw the conflict in xx-branchmergeproposal00:31
leonardrthe conflict was a set of assertions about merge proposal comments00:31
leonardri removed it and then 'the test' (xx-branchmergeproposal) ran00:32
thumperleonardr: you removed this? http://pastebin.ubuntu.com/387304/00:32
leonardryes00:32
leonardrif i did not remove it, xx-branchmergeproposal would not run00:32
leonardri'm fairly sure this was after a make schema (becuase the test wouldn't run at all without a make schema)00:32
leonardrbut i'll try again00:32
thumperhmm...00:32
gary_posterthumper, I do not see that snippet in my copy of db-devel, which is fresh00:33
thumperleonardr: so to confirm, your branch as I merged it doesn't have this test?00:33
gary_posterI also did not see it in loggerhead00:33
leonardrthumper: yes00:33
gary_postergetting loggerhead link00:33
leonardrthumper: ok, wait00:33
* thumper looks at devel00:33
leonardrthe branch at lp:~leonardr/launchpad/multiversion-wadl does not have the test, because i had to remove it to merge in db-devel00:34
gary_posterhttp://bazaar.launchpad.net/%7Elaunchpad-pqm/launchpad/db-devel/annotate/head%3A/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt00:34
gary_posterthumper: I do not see that snippet in loggerhead link above, nor in my fresh copy of db-devel00:35
thumperok, this IS an issue00:35
* thumper adds the test and tries again00:36
thumperah00:37
thumperdumb arse00:37
thumperit was my change00:37
* thumper smacks forhead00:37
thumperforehead00:37
thumperyes it is correct to have it remoevd00:37
thumperI removed it!00:37
thumperd'uh00:37
thumperthe db-devel branch as descriptions for merge proposals00:37
thumperthe initial comment doesn't exist any more00:37
thumperwe're golden00:38
thumpersorry for my confusion00:38
* leonardr considers quitting irc before another reversal00:38
thumperthe reason you got the conflict is that you changed some text in that block00:38
thumperfor the new api url00:38
leonardryeah, i changed beta to devel00:38
thumperand I deleted it on db-devel00:38
thumperright00:38
thumperthat is why there was a conflict00:39
thumperit is correct for it to not be there00:39
thumperon db-devel00:39
leonardrok, i just got email that it's been merged with pqm00:39
thumpersweet00:39
gary_posterleonardr, thumper thanks :-) running away also.00:39
thumperok00:40
adiroibanhi. any idea what should I do to fix this error: AssertionError: No IEntry adapter found for IPOTemplate.01:03
adiroibani'm trying to export IPOTemplate via API01:04
james_wheh01:04
james_wadiroiban: jml was just asking a very similar question a few hours ago01:04
james_wadiroiban: what code changes have you made?01:05
adiroibanexport_as_webservice_entry() in IPOTemplate01:06
adiroibanend marked a simple TextLine as exported01:06
james_whmm01:06
james_wif you just make the first change does it give the same error?01:07
adiroibanand this one http://paste.ubuntu.com/387327/01:07
adiroibanwithout the changes from http://paste.ubuntu.com/387327/, there is no error, but the langauge is not exported01:08
adiroibans/language/template/01:08
adiroibanit looks like the template API needs to be referred by some other property in order to be exported01:09
james_wyeah, I just wondered if it was the export_as_webservice_entry() was enough to cause it01:09
wgrantadiroiban: Can you pastebin your diff and the error?01:11
wgrantlazr.restful is very good at confusing people.01:11
adiroibanerror http://paste.ubuntu.com/387331/01:13
adiroibandiff http://paste.ubuntu.com/387332/01:14
james_wadiroiban: try dropping the export_as_webservice_collection() line01:16
james_wand the @collection_default_content() one too01:16
adiroibanjames_w: I will try... but those are for IPOTemplateSet ... not for IPOTemplate01:17
james_wyes01:17
wgrantBut the first references IPOTemplate.01:17
adiroibansame error01:18
* wgrant pokes around.01:18
* wgrant waits for buildout to do whatever it does.01:18
adiroibanlazr.restful is resposible for creating the IEntry adapter?01:20
wgrantcreate_as_webservice_entry() should do everything.01:21
wgrantEr, export_as*01:21
adiroibanfor me lazr.restful is still a voodoo afair01:23
adiroibanif I'm not using all_potemplates from distroseries, there are no errors01:25
wgrantYeah.01:25
adiroibanso I guess the IPoTemplate is not read01:25
adiroibansince it is not listed in apidoc01:25
adiroibanwgrant: do I need to include IPOTemplate in lib/lp/translations/interfaces/webservices.py ?01:35
* wgrant blinks.01:36
wgrantAaaaaaaa.01:37
wgrantYes.01:37
wgrantEverything I've ever touched has been in canonical.launchpad.interfaces, so I didn't know about that registration.01:37
adiroibanwhat is that? :) I have exported the API for ILanguage, which is in lib/lp/services/worlddate01:38
wgrantBut it looks like Translations has removed their stuff from there.01:38
adiroibanand I did not have to added it01:38
wgrantRight, it's imported in lib/canonical/launchpad/interfaces/__init__.py, where all of LP's interfaces used to be available.01:38
wgrantcanonical.launchpad.interfaces is webservice-registered.01:39
wgrantBut Translations stuff appears to have been largely stripped out of c.l.i (as everything eventually should be).01:39
adiroibanok01:39
adiroibanI added IPotemplate01:39
adiroibanand it is not listed in apidoc01:39
adiroibanand wadl file01:40
wgrantYou've removed and regenerated the WADL and apidoc?01:40
adiroibanyes01:40
* wgrant tries.01:40
wgrantIt's there for me.01:41
adiroibanwgrant: sorry01:41
wgrant(but as p_o_template, specify export_as_webservice_entry('po_template') for it to be more sane)01:41
adiroibans/not/now/01:41
wgrantAhh.01:42
adiroibansame here... p_o_templates01:42
adiroibanI will go to sleep now01:42
adiroibanmany thanks for your help01:42
wgrantRemember to fix that name at some point.01:42
wgrantnp01:42
adiroibanjames_w: has jml fixed his no IEntry addapter problem?01:43
james_wI believe so01:43
james_whis was actually a different cause I think01:43
adiroibanaha01:43
james_wputting this on the wiki somewhere would be a good idea01:43
adiroibanjames_w: yes. I'm adding it right now01:44
adiroibanat the Prerequisites01:44
wgrantYeah, I've never seen that documented anywhere.01:44
james_w\o/ adiroiban01:45
wgrantOnly Code and Translations have their own registrations01:45
adiroibanwgrant: yep.01:46
adiroibanmaybe we need to ask on ML01:47
wgrantWhy?01:48
adiroibanwhy the other modules are not using webservice.py01:48
wgrantTheir exports predate c.l.i's deprecation.01:49
wgrantthey should probably use it.01:49
wgrantThey shoul dprobably create and use their own modules, that is.01:50
wgrantSo we can kill off c.l.i eventually.01:50
adiroibanok01:51
* thumper afk for a bit02:21
thumperback for a bit03:32
=== mwhudson_ is now known as mwhudson
adeuringGOOD MORNING08:23
* adeuring should remove the caps lock key08:23
spm:-)08:24
mwhudsonadeuring: or rebind it to control, as god intended08:52
* wgrant wonders why there is still a schoolbell directory in the tree.08:55
lifelessdelete i t.09:05
lifelesssee what happens09:05
wgrantIt's used by c.l.components.cal, which itself doesn't seem to be used.09:08
wgrantIn fact that module shouldn't even import.09:08
lifelessdead code.09:08
lifelessdelete.09:08
lifelesshave vcs, can undelete.09:08
wgrantYeah, the only reference is in a module that doesn't work any more. How odd.09:08
lifelessit was imported for the ill fated calendar support that jamesh put together09:09
lifelesswhich would have been really nice, but wasn't given enough dev time09:09
lifeless[heard that before? :P]09:09
wgrantYeah, I know why it *was* there. I remember that poor old feature.09:10
lifelessseriously.09:14
lifelessdelete. klesscode.09:14
jameshhow much of the calendar code is left in the tree?  I remember it was just hidden for a while (along with the bounty system)09:15
lifelessjamesh: dunno, possibly lots.09:15
lifelesshey, I'll be able to run lp on my new laptop ;)09:16
jameshcouldn't you run it on your old one?09:16
lifelessnup09:16
lifelessonly got 2GB of disk, and only 2GB of ram09:16
wgrantjamesh: It's gone.09:16
lifelesswith all its overhead I'd be silly to try09:16
wgrantExcept for this one odd file with two classes.09:16
wgrantlifeless: As long as you're 32-bit and not doing stupid Soyuz stuff, 1GiB is doable, 2GiB is fine.09:17
wgrant(RAM, that is)09:17
mrevellMorning09:17
jameshlifeless I used to do LP development in 2GB of ram on a 64 bit system09:17
* bigjools struggles with 2GB on a 64-bit box09:17
lifelesswgrant: 64bit09:17
wgrantI think bounties are gone as well.09:17
wgrantbigjools: Yeah, I had to upgrade.09:18
bigjoolsI'm getting a new Stinkpad soon09:18
bigjoolswith 4GB and an SSD :D09:18
wgrantOooh SSD.09:18
wgrantI wonder how much happier that makes the test suite.09:18
* bigjools does a little dance09:18
lifelessjamesh: yeah, its got heavier AFAICT; and my evo + browser chew up tonnes09:18
bigjoolsask thumper09:18
lifelessbigjools: me too :)09:18
wgrantlifeless: Evo eats LOTS.09:18
lifelessbigjools: x201s, 8GB, 128SSD09:18
bigjoolslifeless: you already have one?09:18
bigjoolsI'm getting a T41009:19
lifelessbigjools: ordered today.09:19
lifelessbigjools: i7 640LM09:19
* bigjools ordered a week ago09:19
bigjoolsi5 though :)09:19
thumperbigjools: a little faster09:19
thumpernot run everything though09:19
bigjoolsI couldn't find a way of avoiding the Windows tax though, it makes me sick09:19
jameshlifeless: that does sound like a nice machine.  Looks pretty expensive though...09:19
wgrantbigjools: How are Windows refunds with UK Lenovo?09:20
lifelessjamesh: massive discount09:20
bigjoolswgrant: I dunno, I will try09:20
bigjoolsit's not the refund as such, it's the bloody sales figures that sticks in the throat09:20
lifelessbigjools: i5 ~= i7, need to check specific models and chipsets to compare in more detail.09:20
bigjoolsi5-540M09:21
wgrantbigjools: Hopefully refund figures count for something.09:21
jameshlifeless: more than the discounts that they always seem to claim are in effect?09:21
bigjoolsI doubt it09:21
wgrantAre UK models as ridiculously overpriced as Australian ones?09:21
bigjoolsprobably, we pay 17.5% VAT here09:22
bigjoolshowever I got an awesome deal, ended up saving ~GBP30009:22
lifelessjamesh: yeah09:22
lifelessjamesh: ends 5th march, 25% off09:22
jameshlifeless: I guess I'll have to watch for specials when I get round to looking for a new laptop09:23
lifelessjamesh: would have been really quite cheap if I didn't get the 8GB ram and the SSD.09:23
lifelessjamesh: if your 6 year anniversary happens in < 3 months, you could do it now :)09:23
bigjoolsI paid GBP1200, would have been ~1000 without the SSD09:24
jameshlifeless: it's not quite that close09:24
lifelessbigjools: I think we'll both be happy09:25
lifelessbigjools: I wanted the small form factor09:25
bigjoolsyeah I like my 14 inches09:25
bigjools</quote>09:25
lifeless:>09:25
lifelessI'm happy with 12.1"09:25
lifelessI used to want a lot more.09:26
jameshlifeless: I wish they went for a thinner bezel and smaller size for the newer thinkpads09:26
wgrantMy 14" isn't too bad, but I would have preferred a 12" or 13" I think.09:26
bigjoolsit's not what you have it's what you do with it09:26
* bigjools likes WXGA+09:26
lifelessjamesh: I'll have to show you the 201s, its 0.8" high with screen closed09:26
wgrantjamesh: The T400 screen bezel is asymmetric and HUGE.09:26
jameshlifeless: that sounds like an improvement over my X60s09:30
=== daniloff is now known as danilos
deryckMorning, all.11:04
adiroibandanilos: hi. can we schedule a pre-implementation chat for bug 525371 ?11:15
mupBug #525371: API for reading POTemplates details <api> <Launchpad Translations:Triaged by adiroiban> <https://launchpad.net/bugs/525371>11:15
danilosadiroiban, sure, let me review the languages API first :)11:16
adiroibanok11:19
gmbjames_w: Did you get success and failure emails about your branches that I ran through EC2 yesterday?11:32
james_wgmb: I did not :-(11:40
gmbjames_w: I did, so I'll forward them to you. I guess ec2 test doesn't look up the email addresses to which to send the messages like ec2 land does.11:42
james_wthanks11:42
james_wgmb: cool, so is the SUCCESS one landed?11:48
gmbjames_w: No, because we're in PQM freeze for release. I'll land it for you as soon as PQM reopens (ping me on Friday if you haven't heard from me about it).11:49
james_waha!11:49
james_wI'll fix up the other one11:49
james_wwho knew there were actually tests for sync-source.py11:49
jelmerjames_w: there was one11:50
james_woh, I managed to break that one11:50
jelmerjames_w: and there were more that tested a bit of code that was only used by the tests, not actually by sync-source.py (-:11:50
=== matsubara-afk is now known as matsubara
lifelessjelmer: hey12:21
lifelessjelmer: #tr - please answer, I'm waiting on you before crashing.12:21
jpdsAnyone know why I would get ImportError: No module named tickcount - on lucid running make run?13:13
=== mrevell is now known as mrevell-lunch
maxbjpds: dpkg -L python-tickcount ?13:15
maxbDoes it mention a /usr/lib/pyshared/python2.5/tickcount.so ?13:16
jpds0.1-0ubuntu10launchpad113:16
jpdsYep.13:16
maxbCan you python2.5 -c 'import tickcount' ?13:16
jpdsNo.13:16
maxbhrm13:17
maxboddness13:17
maxbls -la /usr/lib/pymodules/python2.5/tickcount.so13:17
maxb ?13:17
jpdsNo such file.13:18
maxbAre you fully updated from the launchpad PPA?13:18
noodles775Ah, I had this issue after upgrading to lucid...13:18
jpdsmaxb: Just ran rocketfuel-setup.13:19
noodles775You just need to re-run `sudo apt-get update/upgrade` after rocketfuel-setup.13:19
noodles775(so it pulls in python-support from the lp ppa)13:19
* noodles775 runs to lunch13:19
maxbDo that. If it doesn't work, 'sudo update-python-modules -v python-tickcount.public' should manually poke python-support into reinstalling the symlinks for that package13:20
* bigjools stabs the branch scanner13:27
james_whow do I rollback a transaction in bin/harness?13:31
salgadojames_w, transaction.rollback() or abort()?13:33
james_wah, abort works, thanks13:33
james_wodd that it's named that way13:34
salgadoyeah, I never remember which one is the correct13:34
bigjoolsjames_w: fwiw, bin/iharness is far nicer to use13:42
james_wwhy doesn't make harness run that then?13:43
salgadojames_w, make iharness does13:44
james_wgmb: tests fixed for the second branch and devel merged, so should be good to go when PQM re-opens as well13:49
gmbjames_w: Cool, thanks.13:54
=== mrevell-lunch is now known as mrevell
danilosadiroiban, btw, I won't have time to do a pre-imp for potemplate API today; if you want we can do it tomorrow or you can try getting hold of either jtv or henninge14:14
* beuno hugs bac 14:15
bacbeuno: and i didn't even have to make stuff up!14:17
beunobac, nobody else has to know that  :)14:19
adiroibandanilos: ok. no problem.14:19
danilosadiroiban, I'm going to go through the languages API branch now, sorry for being late and lazy14:20
jmlhey guys15:17
jmldidrocks & I are trying to expose GPG keys over the API15:17
jmlthat means we need to give them a URL15:17
intellectronicajml: gmb just worked on a similar thing. maybe you can find his branch for reference15:18
intellectronicabut basically you need to add a url in zcml, and traversal code15:18
jmlany thoughts on https://launchpad.net/+gpgkey/KEYID15:18
jmlintellectronica, that's good to know -- I'll look for that15:18
jmlintellectronica, any thoughts on the proposed URL?15:19
intellectronicajml: i'm not sure i understand the question15:19
intellectronicawell, i'm sure i don't15:19
jmlintellectronica, heh ok15:20
jmlintellectronica, we can give GPG keys any URL we want. we have to make a decision about what the URL will be15:20
intellectronicajml: is that the GPG keys for a person?15:20
jmlintellectronica, yes.15:21
jmlintellectronica, although all GPG keys are tied to a person, afaict15:21
gmbjml: See http://bazaar.launchpad.net/~launchpad-pqm/launchpad/db-devel/revision/9053 for reference to how I exposed TemporaryBlobStorage via the API.15:21
intellectronicaif so, then how about lp.net/~person/+gpg-keys ?15:21
jmlintellectronica, we need a URL for the individual objects15:21
intellectronicajml: maybe use the key's fingerprint?15:22
jmlyou mean like "https://launchpad.net/+gpgkey/KEYID"?15:22
intellectronicaso ~person/+gpg-keys/AB1204515:22
intellectronicayeah, key id, terminology...15:22
jmlwhy put it under ~person?15:23
BjornTjml: what's the url of an EmailAddress?15:24
kfogelderyck: so chrome hangs forever trying to visit https://bugs.launchpad.dev/firefox/+bug/1  (and shut up, mup!), but ffox can visit it.  Go figure.15:24
mupBug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Invalid> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <OpenOffice:Invalid by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Ubuntu:In Progress by sabdfl> <ubuntu-express (Ubuntu):Invalid by jahyire2006> <Ubuntu Jaunty:In Progress> <ubuntu-expre15:24
jmlBjornT, good question!15:25
kfogelderyck: oh, I think it's b/c the bug is in private mode right now15:25
kfogeland chrome didn't have the cached creds15:25
BjornTjml: another question: does it make sense to access the collection of all gpg keys?15:25
jmlBjornT, I don't think so, but I wasn't planning on exposing IGPGKeySet15:26
jmlBjornT, actually...15:26
intellectronicajml: because it was uploaded by a person and uniquely belongs to that person, no?15:26
intellectronicado we allow more than one person to upload the same key?15:26
jmlBjornT, being able to fetch a key by id sounds like a useful thing, but it's yagni for me now.15:26
jmlintellectronica, we don't. I checked.15:26
BjornTjml: also, consider how a new key is added, or an old one removed.15:27
intellectronicajml: in that case i think it makes sense for it to dangle from a person15:27
intellectronicajml: i would also make it possible to iterate through all the keys for a person15:27
jmlintellectronica, yeah, that's what we've implemented right now15:27
intellectronicaby exposing a collection15:27
jmlintellectronica, we just need need to give the bloody things a URL :)15:28
intellectronicaso it makes sense that if you iterate over ~person/+gpg-keys every item will be of the form ~person/+gpg-keys/KEYID15:28
jmlthere's also a pendinggpgkeys collection15:29
jmlfor each person15:29
jmlBjornT, how is that relevant?15:31
jmlBjornT, I mean, it's definitely an interesting thing to consider :)15:31
jmlintellectronica, do you think it makes sense to iterate over ~person/+pending-gpg-keys in the form of ~person/+gpg-keys/KEYID?15:32
jml    "gpgkey_fingerprint_key" UNIQUE, btree (fingerprint)15:33
jml    "gpgkey_owner_key" UNIQUE, btree (owner, id)15:33
jmlthose are the constraints15:33
intellectronicajml: yes, i think it does. keys are globally unique, but in launchpad they belong to a person and it never makes much sense to refer to them without the context of a person15:34
didrocksjml: I'm wondering, how do you "ack" a key so that it goes from pending to accepted key? isn't the "send an email thing and decrypt it?" (it's been years I've done that, I don't remember)15:35
jmldidrocks, I don't know.15:35
jmldidrocks, my brain is big enough to fit one problem at a time :)15:36
didrocksjml: it's big enough to understand LP's mind, mine apparently not ;)15:37
jmldidrocks, I use my hind-brain for that.15:38
didrocksheh15:38
intellectronicajml: i think you need to encrypt your key and paste the result somewhere. but also been a while since i've done that15:41
intellectronicai mean encrypt _with_ your key15:41
kfogeladeuring: how do you run a windmill test?  bin/test -v -v -t TEST_BASENAME doesn't seem to do it.15:41
intellectronicakfogel: https://dev.launchpad.net/Windmill15:42
adeuringkfogel: as intellectronica says ;)15:42
kfogelintellectronica, adeuring: d'oh.  THank you.15:42
kfogelintellectronica, adeuring: just out of curiosity: no one would object if "bin/test -t NAME_OF_WINDMILL_TEST_FILE" did the right thing, would they?15:43
adeuringkfogel: no, not really ;)15:44
intellectronicakfogel: no, but you'd need to record somewhere which domain the test should run on15:44
kfogelintellectronica: well, or that could be deduced from the path to the file15:45
adeuringkfogel: but the test setup for windmill is quite complex, so it might be better to have another script that decides if that is needed for a given test and either starts the windmill stuff of invokes the oridinary test15:45
kfogeladeuring: not sure I understand.  Basically, right now we have to specify "--layer=FooWindmillLayer", but that information could be deduced from the test every (?) time.15:48
kfogelThat is, the Foo could be deduced, and the need for the --layer at all could be deduced.15:48
jmlintellectronica, BjornT: thanks.15:48
adeuringprobably.15:48
kfogeladeuring: hmm, I keep getting cert error popups, and no way to say "it's okay"15:49
adeuringkfogel: congratulations, that's why I like windmill tests ;) wait a second, I can send you my recipe to fix this by mail15:49
kfogeladeuring: ...and I'll add it to the Troubleshooting section :-)15:49
adeuring(but that's not the reocmmended way)15:50
kfogeladeuring: and I can't get my prompt back -- it traps C-c, even though the test windows are gone.15:51
adeuringkfogel: really? that's new for me...15:51
kfogeladeuring: killed the python process, now I've got it back.15:52
adeuringkfogel: mail sent15:52
kfogelthanks adeuring15:53
kfogeladeuring: hunh, this time when I ran it I got no cert errors, even though the previous time I'd never accepted the cert (I accidentally hit "Get me out of here" instead of "I understand the risks").  How bizarre.15:55
adeuringkfogel: indeed...15:55
=== salgado is now known as salgado-lunch
=== matsubara is now known as matsubara-lunch
kfogelintellectronica: I'm in lib/lp/bugs/windmill/tests/test_bug_privacy_settings.py, hoping to add a line that tests that the body tag's class lost "public" and gained "private" after the bug is marked private (I would do this around line 81).  Not sure how to ask for the value of the class attribute of a particular tag, though.  I'm reading at getwindmill.com, but if you know of any examples, please say.16:20
intellectronicakfogel: windmill is a bit of a black art. i'm not sure there's a way. if there isn't what you'll have to do is use the javascript validator, which allows you to run some javascript code and return a bool. unfortunately the js code in the validator doesn't have access to yui, so to determine whether you have the class you'll probably have to grab the attribute, parse it and check that it contains (or doesn't) the class you're interested in16:23
kfogelintellectronica: *nod*  I've seen some code in YUI that does that itself, can use that as a guide (YUI's implementation of removeClass, I think).16:24
intellectronicakfogel: something like `my_element.getAttribute('class').split(' ').indexOf('my-class') < 0`16:24
kfogelintellectronica: when you say "use the javascript validator", where's an example of that?  I see all these validator=foo in the code, but they mostly seem to be in some weird hybrid language I don't recognize.  Is that some form of javascript?16:29
intellectronicakfogel: no, most validators use some very weird syntax that's windmill specific, but there's one kind of validator that allows you to pass js code. let me find an example16:30
intellectronicakfogel: it's client.asserts.assertElemJS16:32
kfogelintellectronica: thanks16:32
intellectronicakfogel: you can see a usage example in test_official_bug_tags_management.py16:32
Ursinhabarry: ping16:32
BjornTkfogel: fwiw, testing that the body tag classes sounds like something that is best done in a JS unit test, not in Windmill.16:38
intellectronicaBjornT: how can you do that without encapsulating the entire body in a js widget?16:39
kfogelBjornT, intellectronica: watching your conversation16:39
=== beuno is now known as beuno-lunch
intellectronicawell, i suppose you could just test the privacy widget. there's only one <body> above it, so it's safe16:41
BjornTintellectronica: well, i said it sounds like it would be better to use a JS test, i didn't say it would be easier :) i wouldn't think that you need to encapsulate the entire body in a js widget, but it might require some re-design of how the privacy control is hooked up. i haven't looked at the code, and have no intention of doing it right now :)16:41
intellectronicakfogel: but though i agree with BjornT that it would be nicer, i think it would be _a lot_ less work to just add that one test to the existing windmill test, so i'd recommend doing that for now16:42
intellectronicaBjornT: well, as i added later, it's actually not that hard to do, with body being singular. but unless you insist i'll recommend to kfogel that he use windmill for now, and we'll think on how to split testing between windmill and unit tests better in the future16:43
BjornTintellectronica: no, i don't insist, that's why i said "fwiw"16:44
Ursinhahi sinzui, is bug 531371 a rollout blocker?16:45
mupBug #531371: oops MailingListAPIView email already in use <mailing-lists> <oops> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/531371>16:45
kfogelintellectronica, BjornT: heard, understood :-).16:45
sinzuiUrsinha: no, it is just an oops, and I fixed it with the help of chex16:46
Ursinhasinzui: right, thanks16:47
adiroibanis there a special setup for running windmill tests? I get TranslationsWindmillLayer Error: no display specified16:57
intellectronicaadiroiban: are you trying to run the test headless?17:02
intellectronicait sounds like the test runner is complaining that it doesn't have an x server to use. usually running the tests on your desktop your desktop's x server will be in use17:03
intellectronicai never had to setup anything especially for that17:03
adiroibanintellectronica: i'm running the test on a remove machine17:03
adiroibanvia ssh17:03
intellectronicaadiroiban: well, that would explain the problem you're having17:04
intellectronicathere's some way to run the tests headless, but i don't remember off the top of my head how17:04
adiroibanok17:04
adiroibanwell, I can start X on that machine and set the DISPLAY variable17:05
intellectronicayes, that should work, but since you're not going to see anything anyway why not just run headless17:05
adiroibanbut I was thinkint that bin/test is smart and can deal with this situation17:05
intellectronicasmart it's not :)17:06
=== salgado-lunch is now known as salgado
adiroibani can not find any headless option in bin/test --help17:10
=== matsubara-lunch is now known as matsubara
=== bjf-afk is now known as bjf
kfogelintellectronica: how does this look to you?  (it passes)  http://paste.ubuntu.com/387755/17:58
sinzuisalgado:  do we get to close bug 2164 when the release is complete, do we retarget the bug to canonical-identity-provider18:01
mupBug #2164: Login form should ask for e-mail address only once <ui> <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/2164>18:01
salgadosinzui, I guess we can mark it as invalid or fix released at that point, but it certainly should be closed as the new form doesn't ask for the e-mail twice18:05
sinzuisalgado: so you can assign it to yourself, mark it fix released and get the glory18:05
sinzuiand the karma18:06
=== jelmer_ is now known as jelmer
salgadoyay!18:06
kfogeladeuring: (see above msg to intellectronica, if you have time to review a small windmill patch)18:07
salgadosinzui, are you going through the login/registration/reset-password bugs and checking which ones we can close after the roll out?  if not maybe I should be doing that18:08
sinzuisalgado: I am going through the UI bugs that gary says he does not want. I think 1/3 should be closed or moved to a different project18:08
sinzuisalgado: I certainly will search for bugs that we can close because of the login change18:09
gary_posterthank you sinzui! jml ^^^18:09
jmlsinzui, thanks.18:10
=== beuno-lunch is now known as beuno
EdwinGrubbssinzui: do you know where the view.page_title gets set to the view.label if the view.page_title does not exist? The page works on launchpad.dev, but create_initialized_view().render() fails on view/fmt:pagetitle18:22
=== danilos is now known as daniloff
sinzuiEdwinGrubbs: that means someone must add a page_title to the view. barry did not create a fallback and I reported a bug about that. we have lots of views that does this18:25
sinzuilabel = 'me'18:25
sinzuipage_title = label18:25
EdwinGrubbssinzui: I don't understand why this doesn't also cause an error with "make run".18:26
sinzuiEdwinGrubbs: because the error is in tales which is a runtime issue18:27
EdwinGrubbssinzui: I mean after I use "make run", I load the page, and it displays the page_title as the reverse breadcrumbs.18:28
sinzuiright18:28
sinzuitales is compiled and executed at request time18:28
sinzuiEdwinGrubbs: I do not understand the problem. When I get an error with fmt:pagetitle, I add a page_title to the view and move on18:29
sinzuiEdwinGrubbs: remember that launchpad/pagetitles.py should not exit. It still does because we have not really complete the 3.0 update18:30
sinzuis/exit/exist/18:30
EdwinGrubbssinzui: ok, I was assuming that launchpad.dev should have the same errors as the doctests, but I guess the doctests are more anal so that you will provide a more interesting page_title that the one it defaults to in launchpad.dev.18:31
sinzuiright18:32
intellectronicakfogel: i have time now if you still need a review18:53
kfogelintellectronica: hey, yeah, actually review and/or questions18:59
kfogelintellectronica: basically, see http://paste.ubuntu.com/387755/18:59
kfogelintellectronica: since then, I've tried to consolidate the code a bit:18:59
kfogelintellectronica: I'll make a new paste, hold on19:00
intellectronicakfogel: my guess is in HAVE_PRIVATE_CLASS you want to use >= rather than >, no?19:00
kfogelintellectronica: so the above one succeeds, yet this fails:19:00
kfogelhttp://paste.ubuntu.com/387786/19:00
kfogelintellectronica: oh, good idea (though coincidentally it doesn't matter right now because that class val is never first, but yes19:01
kfogel)19:01
intellectronicakfogel: also, for readability, i would use """ instead of concatenating strings.19:02
kfogelintellectronica: just being consistent with the other vars in thehre...19:02
kfogelintellectronica: as soon as windmill finishes here, I'll show you the puzzling failure that results from the second paste19:03
intellectronicakfogel: i'm surprised the id you pass works. does the body tag actually have an id of "document"?19:03
kfogelintellectronica: I also wanted to consolidate the element.getAttribute('class').split(' ') into a variable and just use that variable, but stopped on this failure.19:03
* kfogel waits for windmill19:04
intellectronicakfogel: the fact that you pass an elements to the validator doesn't mean that you have to use it. i'm sure document.body.getAttribute() will work just fine19:05
kfogelintellectronica: oh, interesting, ok19:07
=== gary_poster is now known as gary-lunch
kfogelintellectronica: ok, so this did NOT fail just now: http://paste.ubuntu.com/387790/19:08
kfogelintellectronica: but, I'd still like to abstract out the repeated bit of code in that js string19:08
kfogelI tried "var classes = element.getAttribute('class').split(' '); "19:09
kfogeland I tried "var classes = element.getAttribute('class').split(' '), "19:09
kfogelneither worked19:09
kfogel(then I used "classes.indexOf" below, of course)19:09
mwhudsongood morning19:10
kfogelmwhudson: morning19:10
intellectronicakfogel: i guess the problem is what you pass is an expression, so if you want to have statements in it you need to wrap them all in a function and call it immediately19:11
kfogelintellectronica: *nod*19:11
kfogelintellectronica: let me try that19:11
intellectronicakfogel: something like `(function() {var classes = "blah blah"; return classes.split(' ')[0]})()`19:12
kfogelintellectronica: ah, anon function called immediately, got it19:13
kfogelintellectronica: feeling all lisp-nostalgiac now19:13
intellectronica:)19:13
intellectronicajs really is scheme with c syntax19:13
intellectronicais there some magical way to get the context given a request (in code that doesn't have direct access to the context)?19:27
rockstarWindmill should really be renamed to Sandman, because it eats my Memory, slows everything down, and will likely kill me.19:31
jtvsalgado, can you give me some feedback about l.c.webapp.tales._get_custom_icon_url?  ISTM it's unnecessarily fetching context.icon from the db just to figure out whether one has been set.  I think that's what we're seeing in some very sporadic timeouts.19:32
jtv(Yes, that does imply there are worse problems on the page, but I've already addressed those and I think this would make a nice extra :)19:33
jtvrockstar: I don't know what the sandman eats, but otherwise you've pretty much described a millstone.19:33
rockstarjtv, if you haven't read the graphic novel "Sandman" I highly recommend it.19:34
jtvrockstar: another one for the list of "things I'd love to follow up on in principle but will sadly never get around to," I fear.  But I do appreciate it.  :-)19:34
jtvintellectronica: I don't suppose you could dig up the view?19:34
intellectronicajtv: no, that's precisely my problem19:35
salgadojtv, it returns the URL of the context's icon, so I guess it needs to fetch the icon's details (but not the actual icon, which should live in the librarian) from the DB19:35
intellectronicait's in deeply nested code that doesn't have access to the view19:35
jtvintellectronica: then that sounds like one of those "don't want to do whatever you're trying to do" cases  :/19:36
salgadointellectronica, IPerson(self.request.principal)19:36
jtvsalgado: it returns the icon's URL if there is one, but plenty of projects don't have one19:36
intellectronicaoh how i miss the good ol' days of the launchbag19:36
salgadointellectronica, ignore that; I misread context as user.  (somehow)19:37
intellectronicasalgado: oh, but what do i do with the person? the context i'm looking for isn't a person19:37
* jtv backspaces what he was saying to salgado19:37
intellectronicaheh19:37
jtvsalgado: ah, now I see...  the fetch is only not needed when it's None19:38
salgadowhen the context is None or doesn't provide IHasIcon19:39
jtvsalgado: thanks, it seems discussing things really helps.  :)19:39
kfogelintellectronica: https://code.edge.launchpad.net/~kfogel/launchpad/471195-private-bug-body-class-private/+merge/2059019:53
=== EdwinGrubbs is now known as Edwin-lunch
kfogelintellectronica: (btw, I tried document.body.getAttribute("class") and it didn't work -- returned null.  But grabbing it by id is okay too, I think, and it allows us to use the same code to test the body and the privacy div.)19:54
intellectronicakfogel: cool. if it works it works. the code looks fine. r=me19:55
kfogelintellectronica: thanks19:56
kfogelintellectronica: now I must debate with myself whether to put it through ec2 land on the theory that by the time the tests are done, PQM will be un-gated :-).19:57
kfogelintellectronica: oh, I think for ec2 land to DTRT, you have to actually mark the approval on the MP, right?19:58
intellectronicadonnow19:58
intellectronicabut i have approved the MP anyway19:58
intellectronicakfogel: anyway i don't think by the time ec2 will finish pqm will have already opened. that probably only happens tomorrow, no?19:59
kfogelintellectronica: Oh, I thought it happened once the rollout was done, but could be wrong.  I'll just do ec2 test.20:00
deryckLater on everyone...  tea and my comfy chair are calling me! :-)20:01
kfogelintellectronica: ever seen this? http://paste.ubuntu.com/387817/20:04
kfogelintellectronica: (I'm just testing some ec2 land stuff with --dry-run; I intend to run ec2 test later)20:04
intellectronicakfogel: sorry, was on the phone with my mum20:20
intellectronicaanyway, no i never saw that error20:21
kfogelintellectronica: np.  ignoring it, since I'm doing ec2 test anyway20:21
=== jamalta-afk is now known as jamalta
=== gary-lunch is now known as gary_poster
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
=== mpt_ is now known as mpt
=== Chex changed the topic of #launchpad-dev to: Launchpad will be down/in read-only from 23:00 UTC until 00:30 UTC for a code update | Launchpad Development Channel | Launchpad read-only 23.00 UTC Wed 3 March - 00:30 UTC Thu 4 March, for 10.02 rollout (http://is.gd/9tVfU) | Week 4 of 10.02 | PQM is in release-critical mode (thumper is RM) | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review i
lifelesskfogel: around?22:16
lifelessbug 25295422:16
mupBug #252954: renaming non-versioned directory in Eclipse causes error <Bazaar Plugin for Eclipse:Fix Released by verterok> <https://launchpad.net/bugs/252954>22:16
lifelessbug 25294522:16
mupBug #252945: "bzr push" uploads 1-2 MB just to send a one-line change revision <hpss> <push> <Bazaar:Fix Released> <https://launchpad.net/bugs/252945>22:16
kfogellifeless: looking22:16
lifelessthat one22:17
kfogel25294522:17
lifelesshow can we get savannah to move on this22:17
lifelessyes22:17
kfogellifeless: they need more hands on deck, basically.  It could be any of us, though of course someone experienced at bzr would be best.22:25
kfogellifeless: I just added a comment to that bug giving details.22:25
lifelessI don't think any of us know what their issue is;22:26
lifelessthey have ssh, just enable bzr, is what our reaction is.22:26
beuno"Launchpad will be going offline for maintenance in a minute."22:59
beunosounds very generic  :)22:59
=== jamalta is now known as jamalta-afk
* mwhudson afk to get lunch, will be hanging around near irc though if things go belly up23:12
thumpermwhudson: if it goes horribly wrong, you'll get a text if it is you, otherwise prolly not23:15
thumper:)23:15
mwhudsonthumper: fairy nuff23:16
thumpermwhudson: we should test lp with twisted 1023:52
mwhudsonthumper: funnily enough i have a branch that does just that23:56
mwhudsonthumper: i ran the tests with 10.0.0pre1, they all passed23:56
thumpermwhudson: awesome23:57

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