/srv/irclogs.ubuntu.com/2010/10/26/#launchpad-reviews.txt

=== matsubara-afk is now known as matsubara
=== matsubara is now known as matsubara-afk
thumperhttps://code.edge.launchpad.net/~thumper/launchpad/fix-mailman-excessive-queries/+merge/39335 anyone?03:51
bachi thumper, i'll look at it04:03
thumperbac: thanks04:03
thumpercheck out this: 6278  OOPS-1759XMLP1  MailingListApplication:MailingListAPIView04:03
thumper6278 statements04:03
bachi thumper -- really interesting branch...amazing savings04:47
thumperbac: should be04:48
baci got a little caught up with  acknowledgeMessagesWithStats thinking it updated all in the message_set04:48
bacbut then i figured it out04:48
baconly one issue.  i think you meant  acknowledgeMessagesWithStats to be  acknowledgeMessagesWithStatus04:48
thumperah... yeah04:49
thumpercopy and paste FTW, at least the code is consistent04:49
thumperfixed typo, and pushing04:51
thumperbac: thanks04:52
=== jtv changed the topic of #launchpad-reviews to: On call: - || Reviewing: - || queue: [StevenK, jtv] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== jtv1 is now known as jtv
jtvadeuring: perhaps you could review my branch?  I'd prefer not to wait for an OCR because I believe the next OCR is me.  :-)12:13
adeuringjtv: give me 30-40 minutes for lunch, then I'll look12:17
jtvadeuring: that's wonderful, thanks!12:17
=== matsubara-afk is now known as matsubara
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: - || queue: [StevenK, jtv] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
jtvleonardr: I'm expecting Abel back in a few; he says he can look at mine if needed.12:50
leonardrjtv: ok, thanks12:50
leonardrStevenK, which branch do you want reviewed? i don't see it13:35
StevenKleonardr: It already has been, sorry.13:35
leonardrok, np13:35
leonardrjtv, want me to take care of yours?13:35
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: - || queue: [jtv] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
jtvleonardr: time is short now, so yes please!13:36
StevenKI threw it at ec2 from davidm's hotel room, but was then unable to connect to IRC from my own room13:36
leonardrjtv: ok13:36
jtvthanks13:36
adeuringleonardr, jtv: I'm more or less done with the review13:36
jtvah!13:36
jtvIn that case, thanks leonardr but your services are no longer required.  :-)13:37
leonardrgreat13:37
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
adeuringjtv: only a minor issue: doc/potmsgset.txt has the new text "+The "suggestive templates" cache is up to date." (line 21). shouldn't this be something like "update the cache"?13:38
jtvadeuring: well it's supposed to be narrative, not code comments.  (And for a code comment, that would be a bad one. :-)13:39
jtvIt's really just stating the expected situation, not anything interesting that the test does.13:39
adeuringjtv: well, ok. But I inderstand this as a statement "the cache indeed up to date", while you define a helper function which does an update. What about a comment inside the definition od the function?13:40
jtvadeuring: any ideas on what it should say?13:41
jtvadeuring: ah, this is the one doctest where I need the function more than once.13:41
adeuringjtv: argh, I missed the existing doc string... never mind. Let's leave it as it is13:41
jtvWell _of course_ there's a docstring.  :-)13:42
adeuringjtv: yeah... doesn'r seem to be my best day...13:42
jtvWell you're helping me out with a review.  That's definitely a good deed for the day.13:42
adeuringanyway, r=me then. Just a parnoid question: This cache is already populated via cron job or whatever?13:43
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: jcsackett || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
leonardrjcsackett, i'm going to review https://code.edge.launchpad.net/~jcsackett/launchpad/hidden-project-configuration-636000/+merge/3930613:51
jcsackettleonardr: sounds good. i was going to throw it in the queue sometime this morning anyway. :-)13:52
leonardrall right13:54
jtvadeuring: thanks again13:55
adeuringjtv: welcome. just a paranoid question:; this cache is updated in production on a regular basis, I assume?13:56
jtvadeuring: yes, daily.13:56
jtvWe had a replication problem with it last cycle, so good thing we phased it.13:57
jtvTurns out if you don't have foreign keys pointing into the replication set (or the other way, I guess) your table is not replicated by default.13:57
adeuringinteresting13:57
jtvNot the word I used at the time.  :-)13:58
leonardrjcsackett: i'm sure you have a good reason (?), but i'm honor-bound to ask why you seem to have copied a bunch of javascript into pillar.js. is there any way we can refactor more than toggle_collapsible?14:25
jcsackettleonardr: you mean refactor more than activate_collapsibles? toggle_collapsible was the one i didn't touch and simply sought to use with divs.14:26
leonardrjcsackett: i think we're saying the same thing. you're reusing Y.lp.toggle_collapsible14:27
leonardrbut that code is at the end of a huge chunk of code that looks copied from somewhere else (eg. it's got a gmb XXX from over a year ago in it)14:27
leonardrwhat changes did you make to the code after copying it? can we refactor those changes?14:28
jcsackettleonardr: there's another function called simply activate_collapsible in lp.js that this is borrowed from; i tried refactoring it initially, but it's very specific to one set of expectations and my attempts to refactor led to horror.14:30
jcsackettthe majority of changes in this are to set it to work with divs, not fieldsets, and then simplify based on the small set of expectations this has. much of the comments were left b/c they were still applicable.14:30
leonardri well know the horror of refactoring javascript14:31
* jcsackett smiles.14:31
jcsackettit reached the point where i had a choice of two similar and parsible functions or one terrifying (to me at least) one.14:32
leonardrjcsackett: at the least, we should track the technical debt. can you file a bug mentioning the two places where there's similar code, and add an XXX? that way if we figure out how to refactor in the future it'll be clear where the work lies14:33
jcsackettleonardr: certainly i can do that; i'll probably assign myself the bug for honor's sake too--i wasn't satisfied with this, but it seemed the best of bad alternatives.14:34
leonardrjcsackett: indulge my laziness and tell me what tal:condition="view/configuration_links" does? why would that condition be false?14:53
leonardrjcsackett: it looks like it would be false if you had a view of a pure IPillar rather than anything more specific?14:57
jcsackettjcsackett: predates this branch; i can't return false but it can return none--it provides the configuration links if you can see them. if you can't see them then you can't edit things, i think.14:57
jcsackettor actually not None, but an empty list.14:57
jcsacketti think it also sets up some stuff about what you should see (e.g. configuration status).14:57
leonardrok, permission, that makes sense14:59
leonardrjcsackett, similar refactoring question about head_epilogue. how much work is it to reuse the collapsible and collapsed styles (making them general styles instead of <div>-specific)?15:01
jcsackettleonardr: ah, that shouldn't be too hard; i just thought based on some other pages if it only applied to one page that's where we put it. i'll move it.15:02
leonardrjcsackett: it won't apply to one page if you reuse it for the fieldset collapsing code?15:03
leonardrif i'm wrong, then don't move it15:03
jcsackettleonardr: the fieldset already has styles set that aren't quite the same.15:03
leonardrjcsackett: ok, don't bother, but add it to the bug so we can take another look later15:04
jcsackettleonardr: dig.15:04
benjileonardr: the exception you showed me on the keyring branch yesterday also happens on launchpadlib trunk15:08
leonardrbenji: well, damn15:08
leonardri'll look into it after i finish this review15:08
leonardrjcsackett: this question may expose my ignorance more than anything else, but...15:13
leonardrlines 387-38815:13
leonardrclient.click(link=u"Configuration links") triggers some javascript. does it then do anything to call waits.forPageLoad? surely the page has already loaded?15:14
leonardror does forPageLoad do something else?15:14
leonardrmaybe mars knows better than me -^15:17
leonardrjcsackett: i had a question while you were out15:19
leonardr<leonardr> jcsackett: this question may expose my ignorance more than anything else, but...15:19
leonardr<leonardr> lines 387-38815:19
leonardr<leonardr> client.click(link=u"Configuration links") triggers some javascript. does it then do anything to call waits.forPageLoad? surely the page has already loaded?15:19
leonardr<leonardr> or does forPageLoad do something else?15:19
leonardralso, do the windmill tests run in a deterministic order? can you be sure that test_configured_starts_collapsed runs after test_not_fully_configured_starts_shown?15:20
jcsackettfor the first question: so, there's no generic "wait" thing in windmill that i could find, and the test would fail because the class wasn't actually removed (or added depending on test) when it then went to test it.15:21
jcsackettthere's wait.sleep() but that's documented as pausing the browser, which isn't really appropriate.15:21
jcsacketti can add a comment explaining that it's a generic wait, and as i look at it i should decrease the timeout.15:22
leonardrjcsackett: sounds good. i bet mars has the answer15:22
jcsackettfor the second question: it doesn't matter (or it shouldn't) which order they run in; since the product is created in setup, each test should start with a product that's not configured.15:23
leonardrjcsacket: if that's the case, it looks like both products are created with the same name ('hidden-configs'). how is that possible?15:25
jcsackettleonardr: in my experience all tests seem to have a built in teardown that destroys things created in setUp.15:28
leonardrjcsackett: ok, as long as it works15:28
jcsackettit works in many other unittests; i'm not sure about windmill.15:28
jcsackettwould mars be the person to check that with?15:28
leonardrmars: i guess. my concern, now that i've dug through the code, is that the windmill testing layer doesn't inherit from FunctionalLayer, which is where i'd imagine such cleanup code to be15:32
leonardrit's not in TestCaseWithFactory, unless the act of creating a LaunchpadObjectFactory() in setup obliterates any objects created by any other factory15:33
leonardrjcsackett: sorry, misaddressed to mars -^15:33
jcsackettleonardr: i can add a teardown method to be sure.15:34
lifelessleonardr: old objects are cleaned up by the db reset at the end of the test15:34
jcsackettscore.15:34
lifelessso DatabaseLayer15:34
leonardrjcsackett: and i've confirmed that setUp is run before each test15:35
leonardrso you're fine15:35
lifelessjcsackett: btw tearDown is (roughly speaking) deprecated15:35
lifelessjcsackett: its generally much better to use addCleanup (but not always - explore them both, use your judgement)15:35
jcsackettlifless: dig. in my experience so far it's all just nicely taken care of.15:36
jcsackettlifeless, rather. ^15:36
leonardrjcsackett: this is the kind of thing you get when i review launchpad branches because most of the time i'm off in my own little world15:36
jcsackettleonardr: all good. it helps to have someone examining my assumptions. :)15:37
leonardrjcsackett: r=me with minor changes15:49
jcsackettleonardr: cool, thanks!15:49
jcsacketti'll make those changes shortly.15:49
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
leonardrmars, do you want a review of https://code.edge.launchpad.net/~mars/launchpad/add-profiling-feature-flag/+merge/39179 or do you need to do some work to address lifeless's comment?15:50
=== matsubara is now known as matsubara-lunch
=== Ursinha is now known as Ursinha-lunch
=== fjlacoste is now known as flacoste
bigjoolsleonardr: hi, I've got a small branch up for review that exposes /builders on the API if you can take it?17:04
=== benji is now known as benji-lunch
leonardrbigjools, sure17:05
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: bigjools || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
bigjoolsleonardr: thank you17:07
=== matsubara-lunch is now known as matsubara
leonardrbigjools: "(usually a member of the buildd-admins team)" that seems specific to the way we use launchpad rather than the code itself. is that okay?17:22
bigjoolsleonardr: buildd-admins are a celebrity in LP17:34
leonardrbigjools: ok, you're good then17:34
leonardri just have some minor wording suggestions17:34
bigjoolssure thing17:35
leonardrbigjools: r=me with very minor changes, https://code.edge.launchpad.net/~julian-edwards/launchpad/api-expose-builders/+merge/3937917:42
=== leonardr changed the topic of #launchpad-reviews to: On call: leonardr || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
bigjoolsleonardr: great, thanks17:42
bigjoolsleonardr: can you mark your review approved, I think you just landed a comment only.17:43
leonardroops17:44
bigjoolsthanks for the suggestiond17:44
bigjoolsleonardr: FWIW it looks like lp_attributes already sorts in a good way17:47
leonardrbigjools: oh, i guess i used to be smarter than i am now17:47
bigjools:)17:47
bigjoolsit puts the boilerplate stuff first then the sorted attributes17:47
=== benji-lunch is now known as benji
=== Ursinha-lunch is now known as Ursinha
leonardrrockstar, can i get a quick review from you?18:58
leonardrhttps://code.edge.launchpad.net/~leonardr/launchpadlib/fix-token-authorization/+merge/3939118:58
rockstarleonardr, it may be lossy, as I'm at UDS.18:58
leonardrrockstar: ok, if mars responds in the next 5 minutes and says he can do it never mind. otherwise, it doesn't have to be super quick18:59
leonardr(or if someone else can take it)18:59
rockstarleonardr, the code looks good, reading the description now.18:59
marsleonardr, ?18:59
leonardrmars, just seeing if you want to take a review, since i don't think you're at uds19:00
marsleonardr, sure19:00
marsI'm in and out, but I'll look - 38 lines, that's a good size :)19:00
rockstarmars, I've got it.19:01
rockstar(If it was any bigger, I would just get it now)19:02
leonardrok, rockstar has it19:02
marsk19:02
marsthanks rockstar19:02
* rockstar high fives mars and yells "TEAMWORK!"19:02
marsrockstar, btw, if you see Martin Pool, ask him if he has a moment to review my Feature Flags Test Fixture branch - people would love to see that land19:03
rockstarmars, okay.  I'll keep an eye out.19:03
marsthank you19:03
benjisounds good19:29
benjileonardr: almost forgot: https://code.edge.launchpad.net/~benji/wadllib/missing-files/+merge/3940020:56
leonardrbenji: r=me20:59
benjileonardr: cool; shall I do a release?20:59
leonardrbenji: yes, please. let me know if you're missing anything from the process20:59
benjik20:59
=== fjlacoste is now known as flacoste
=== Ursinha is now known as Ursinha-brb
=== matsubara is now known as matsubara-afk
=== henninge is now known as henninge_
=== leonardr changed the topic of #launchpad-reviews to: On call: - || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== henninge_ is now known as henninge
benjileonardr: I've responded to your keyring question/issue.22:03
leonardrbenji, thanks22:03
leonardrbenji: that makes a lot of sense, thanks22:04
leonardri'm eod but i'll review your changes in a bit22:04
leonardrbenji: how tough would it be to test the storage and retrieval of the same application name w/two different service roots?22:28
benjileonardr: trivial; shall I add that?22:29
leonardrbenji: yes please22:29
benjileonardr: test added22:34
benjileonardr: oh, I need to be granted access to wadllib on PyPI to complete the release22:36
leonardrbenji: sure22:40
leonardrbenji, you are benji on pypi?22:49
benjileonardr: yep22:50
leonardrbenji, the role is yours22:55
benjithanks, the upload worked22:55
leonardrbenji, i can't parse "(this assertion is of the test mechanism, not a test assertion)."22:59
leonardrthis assertion is veriyging the test mechanism?23:00
benjiexactly; I'm verifying my assumption that there will only be two sets of credentials stored in the fake keyring23:00
leonardrbenji: let me run some additional assertions by you23:00
leonardr1. the fake keyring starts out empty23:00
leonardr2. the application key has a specific form incorporating the application name and the hostname (?)23:01
leonardri was hoping for #2 but i'm willing to be convinced it's not necessary/ not appropriate to test here23:02
benji1 seems reasonable23:02
benjiat first I thought 2 was overconstraining things, but we do want to be sure the keys remain reable between releases of launchpadlib, so it makes sense23:04
benjiI also want to add an assertion that the application name is include in the key23:04
leonardrisn't that part of 2?23:05
benjiindirectly, but I think all three (app name, server name, overall structure) are important23:06
benjiand it's cheap to test them all, so...23:06
leonardrok, go for it23:07
benjileonardr: done23:11
* leonardr looks23:14
leonardrbenji: r=me, though i don't think we should merge this yet23:20
benjileonardr: k23:21
=== Ursinha-brb is now known as Ursinha

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