/srv/irclogs.ubuntu.com/2010/04/12/#launchpad-reviews.txt

mwhudsonthumper: want to review this code import branch?02:53
thumpermwhudson: ok02:53
mwhudsonthumper: https://code.edge.launchpad.net/~mwhudson/launchpad/code-import-optimizations/+merge/2320602:54
mwhudsonthumper: the stacking idea didn't work02:54
thumperok02:55
thumpermwhudson: https://code.edge.launchpad.net/~thumper/launchpad/fix-schema/+merge/2320905:49
thumperI have another too that I've been meaning to fix for ages:05:49
thumperhttps://code.edge.launchpad.net/~thumper/launchpad/scanner-awesomeness/+merge/2321105:49
mwhudsonthumper: "ackward" is a typo06:02
mwhudson(second one)06:02
thumper:)06:02
mwhudsonthumper: also assertFoundRevisionNumber and test_not_found are separated by two lines, should be one06:03
mwhudson+ self.assertIs(None, iterator.iterator)06:04
mwhudsonseems to be testing an implementation detail really06:04
thumperit is06:04
thumperbut I used to to confirm that it was broken06:04
thumpernot working as intended06:04
thumperworking, but weirdly06:04
thumperI can remove it06:05
mwhudsonthumper: i think it would be slightly better06:05
mwhudson(the test principle is "go in by the front door" or something)06:05
thumperbetter to remove it?06:06
mwhudsonplease06:10
mwhudsonthumper: some other small comments on the merge proposal06:10
thumpermwhudson: thanks06:10
thumperW06:18
thumperT06:18
thumperF06:18
thumper:(06:18
thumper✁☹06:20
thumpermwhudson: parallel iteration fails06:32
thumpermwhudson: should I just document and ignore?06:32
thumpermwhudson: or I could make it more like the recipe at http://code.activestate.com/recipes/576941-caching-iterable-wrapper/06:36
mwhudsonthumper: hmm06:37
mwhudsonthumper: does it fail noisily?06:37
thumpermwhudson: no just very incorrectly06:37
mwhudsonthumper: :(06:37
mwhudsonoh i guess self.data is shared between the iterators06:38
thumperno I understand the activestate recipe more06:38
thumperit is licenced under MIT06:38
thumperdoes it really matter?06:38
mwhudsoni'm a bit torn06:39
mwhudsonbecause clearly for your usecase it doesn't matter, no06:39
mwhudsonbut leaving bombs in the source like this to unexpectedly blow up at people doesn't sound good06:39
thumpermake it similar?06:40
mwhudsonthumper: i think that activestate recipe is still a bit more complicated than you need06:40
mwhudson(e.g. pickling support)06:40
thumperyeah, I didn't care about that06:40
thumpernor the __new__ optimisation06:40
thumperbut the indexing is useful06:41
mwhudsonwell, the indexing stuff is what makes it work in parallel isn't it?06:41
thumperuh ha06:42
mwhudsonum, maybe not06:42
thumperactually we can't make it threadsafe06:45
thumperbut that shouldn't matter06:45
mwhudsonthat's ok i think06:45
mwhudsonbecause if you're using threads, you should expect your program to be confusing anyway06:46
* mwhudson runs away06:46
thumperheh06:46
thumperok, I have parallel bits working06:46
thumpermwhudson: http://pastebin.ubuntu.com/412936/06:48
mwhudsonthumper: "# Defer to the generator" <- i think you mean iterable?06:49
thumpermwhudson: yeah06:50
mwhudsonthumper: otherwise looks fine06:50
jtvAnybody willing to review a slightly oversized buildfarm branch?07:42
jtvhttps://code.edge.launchpad.net/~jtv/launchpad/bug-544237/+merge/2321407:42
jtvmorning henninge!07:43
henningeHI jtv! ;)07:49
jtvhenninge: looking at your review changes now.  Had to get an oversized branch finished first.07:51
henningejtv: another one? ;-)07:51
jtvYes, slave build cookies.07:51
jtvhenninge: another comma issue (though this time just a suggestion): instead of ":return: the entry or None if processing failed" it would be clearer to say ":return: the entry, or None if processing failed."07:53
jtv(Makes the scoping clearer)07:54
jtvhenninge: I see you cut down this assertion:07:56
jtv53        # Productseries and distroseries will be asserted in getSubset but07:56
jtv54        # not sourcepackagename.07:56
jtv55        assert (distroseries is None and sourcepackagename is None or07:56
jtv56                distroseries is not None and sourcepackagename is not None), (07:56
jtv57                "Please specify distroseries and sourcepackagename together.")07:56
henningeyes ... ?07:57
jtvThe comment is useful for reviewers, but I wouldn't bother with it in real-world code.  May I suggest simplifying the condition to "(distroseries is None) == (sourcepackagename is None)"?07:57
jtvBTW lots of good changes here, thanks.07:57
henningejtv: I am not sure that "Noneness" concept is clearer to read.07:58
jtvYou could even just say "distroseries is None or sourcepackagename is not None"07:58
henningethat I like ;)07:58
jtvIt's not quite as tight, but I don't think the case that it ignores matters much.07:59
henningehm, which one is that?07:59
jtvWhere the caller specifies a sourcepackagename but not a distroseries.08:00
jtv(Sounds bad, but combined with the checks in the utility...  anyway, these are assertions, not supposed to trigger at all)08:00
henningewell, in that case the assertion in SubSet will trigger.08:01
jtvRight, combined with the checks in the utility it doesn't matter.08:02
jtvAlso in the approver, "Because a generic path (i.e. messages.pot) does not provide [...]"—there are other generic paths besides messages.pot, right?  So use "e.g." not "i.e."08:02
jtvhenninge: I'm off for a quick bite.  See comment above.  Also, could you give len_templateset a name that can stand on its own?08:29
=== jtv is now known as jtv-eat
=== jtv-eat is now known as jtv
jtvhenninge_: did you see my notes about "i.e." vs. "e.g." and about len_potemplateset?09:56
=== henninge_ is now known as henninge
henningejtv: yes, all incorporated09:57
jtvhenninge: great, thanks09:57
henningeNotes Inc.09:57
henninge;-)09:57
jtvheh09:59
jtvhenninge: I'm going through your changes one commit at a time, so it's possible that I'll see some things that you've already changed.10:00
jtvwgrant: the big problem now is to get a reviewer for the cookie branch.10:05
noodles775intellectronica: are you around for reviews today?10:06
wgrantjtv:  :(10:06
wgrantIt's only a little oversized.10:06
wgrantAnd then only be s/ID/Cookie/..10:06
wgrants/be/by/10:06
jtvwgrant: yes, but the people I've approached so far wouldn't have had time for 700 lines either.10:07
noodles775jtv: put it in the queue now :)10:07
intellectronicanoodles775: sure10:07
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
jtvintellectronica: got one for ya!10:08
intellectronicanoodles775: which branch?10:08
jtvIt's slightly oversized though: https://code.edge.launchpad.net/~jtv/launchpad/bug-544237/+merge/2321410:08
noodles775intellectronica: I was actually trying to get jtv to ask you to review his branch :)10:08
jtv(Then again, 888 is a very lucky number according to the Chinese)10:08
noodles775intellectronica: thanks.10:08
jtvfor which, noodles775, thank you.  :)10:08
intellectronicajtv, noodles775: np10:08
jtv\o/10:08
jtvthanks10:08
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica || reviewing: jtv || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
intellectronicajtv: r=me10:53
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
jtvintellectronica: wonderful, thanks!10:54
jtvhenninge: done with your branch.  Phew!11:56
henningejtv: great, thanks!11:56
=== stub1 is now known as stub
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica || reviewing: {lunch} || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== mrevell is now known as mrevell-lunch
=== Ursinha_ is now known as Ursinha
=== matsubara-afk is now known as matsubara
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
adiroibanintellectronica: hi. can you please send this branch to ec2-test https://code.edge.launchpad.net/~adiroiban/launchpad/bug-548999/+merge/22271? thanks!13:15
intellectronicaadiroiban: sure13:15
=== mrevell-lunch is now known as mrevell
jelmert/opic14:22
jelmerargh14:22
=== abentley changed the topic of #launchpad-reviews to: On call: intellectronica, abentley || reviewing: -, - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== barry` is now known as barry_
=== barry_ is now known as barry
deryckintellectronica, abentley -- I have a branch for review when one of you has availability.15:23
=== deryck changed the topic of #launchpad-reviews to: On call: intellectronica, abentley || reviewing: -, - || queue: [deryck] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
intellectronicaderyck: i can review15:24
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica, abentley || reviewing: deryck, - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
deryckintellectronica, great, thanks!  https://code.edge.launchpad.net/~deryck/launchpad/enable-test-inline-subscriber/+merge/2323015:24
intellectronicaderyck: r=me15:27
=== intellectronica changed the topic of #launchpad-reviews to: On call: intellectronica, abentley || reviewing: -, - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
deryckintellectronica, great, thanks!15:27
leonardrintellectronica or abentley, please review https://code.edge.launchpad.net/~leonardr/lazr.restfulclient/user-agent/+merge/2323716:15
intellectronicaleonardr: on the phone. will have a look later if abentley doesn't pick it up16:15
leonardrall right16:15
abentleyleonardr, looking.16:22
abentleyleonardr, have you considered using standard http header parameters instead of your own syntax?16:28
leonardrabentley: you mean like matrix parameters? or is there something specific for headers?16:28
leonardroh, i bet you're talking about the parameters that go eg. with an uploaded file16:29
leonardrafaik that's only used in Content-Disposition, but i could be wrong and that might be more readable16:30
abentleyI mean like encoding in "Content-type: text/plain; encoding=utf-8"16:31
leonardrok, yes, it's in a number of places16:31
abentleyleonardr, (actually, a correct example is "Content-Type: text/html; charset=ISO-8859-4")16:32
=== deryck is now known as deryck[lunch]
abentleyleonardr, yes it's used in a number of places, and IIRC, Python supports querying it.16:32
leonardrabentley: how about this:16:33
leonardrUser-Agent: launchpadlib 1.6.1, lazr.restfulclient 1.0.0; oauth_consumer=apport; +cache-control16:33
leonardror cache-control=true16:33
abentleyleonardr, that looks good.  I think I prefer cache-control=true.16:34
leonardrok16:34
leonardrmight get lengthy16:34
abentleyleonardr, do you actually need cache-control, or could you infer it from the lazr.resfulclient version?16:35
leonardrabentley: i would rather not infer it for two reasons16:36
leonardr1. i'd rather write server-side code to look for a string rather than parse a version number and compare against some known version number16:37
leonardr2. other people are writing clients (eg. in java) and i want them to be able to use these features16:37
leonardri don't want a situation where they pretend to be lazr.restfulclient, the way all browsers pretend to be "Mozilla"16:38
abentleyleonardr, it sounded like you were working around a bug in earlier versions of lazr.restfulclient.  Am I wrong?16:38
leonardrabentley: i'm working around a current bug in httplib2. so in that sense, old versions of lazr.restfulclient will have a problem and new versions will not16:42
leonardrbut the bug is only triggered if the server sends certain information16:42
leonardrso the server needs to distinguish clients that it can send the information to, from clients that will choke on it16:42
abentleyleonardr, so it seems unlikely that an arbitrary client (e.g. in Java) would have the same bug.16:44
abentleyleonardr, but you're suggesting that all implementations which don't have that bug should assert that they don't.16:45
leonardrabentley: here's the problem16:45
leonardrold versions of lazr.restfulclient, already installed on thousands of computers, will not send any special user-agent16:45
leonardrthe server's response to 'no special user-agent' needs to be 'don't send the data'16:46
leonardra java client will not have the same bug, but it needs to be able to send a special user-agent to get the special data16:46
leonardri could send the special data to any user-agent that's not 'python/httplib2'16:47
leonardrbut even then, someone else writing a non-lazr.restfulclient httplib2 user agent would like to be able to get the special data16:47
leonardranyway, i'm willing to get rid of cache-control=true because the bug fix for it coincides with the introduction of a real user-agent system16:48
leonardrbut if something similar happens in the future i will insist on something like cache-control=true16:49
abentleyleonardr, that seems unfair to pre-existing implementations that don't have the bug.  Would disable a feature for all installed lazr.restfulclient versions because a Java implementation's support for it was broken?16:50
leonardrabentley: what specifically seems unfair?16:51
leonardrdon't send the data unless a client specifically requests it?16:51
leonardrthat's why i proposed some alternate solns16:51
abentleyIt seems unfair to disable, say, http pipelining to all implementations that have already been using it successfully because it later turns out one implementation is broken.16:53
abentleyuntil the existing implementations update their version strings to say that their implementation isn't broken.  Which might be incorrect.16:53
leonardri don't want to get into the business of parsing version numbers in referer headers, especially of software i don't control16:54
abentleyWhat do you mean by referrer headers?  I thought we were talking about user-agents?16:55
leonardrsorry, user-agents16:55
leonardri was thinking of another time a lot of clients broke because of a change involving Referer16:55
leonardrIf version 1.5, and i have no idea when it's going to be fixed, how do i do the restriction?16:56
leonardr(if version 1.5 is broken)16:56
abentleyleonardr, so the alternative is disabling features that were previously enabled, until clients are updated to say they support them, right?16:56
leonardri don't think a feature that was previously enabled would ever become disabled16:57
leonardrcache-control is a new feature that exposed an old bug16:57
abentleyleonardr, I see.  I didn't get that before.16:58
leonardrso it's more a matter of not giving clients a feature until they prove they're not one of the clients that crashes on it16:58
leonardranyway, if you want the point is moot because i can simply have the server deny this feature to python/httplib2 clients in general17:00
abentleyleonardr, Ah, okay.17:00
leonardrand we can take up a more general solution the next time this happens17:00
leonardrbut i'm going to be denying this feature to _all_ python/httplib2 clients, even future ones that have the bug fixed, because i don't control httplib2 and i don't know when the bug will be fixed17:01
leonardronce the bug is fixed i can go back and change that, but that's a pain17:01
abentleyleonardr, I think it's the best course though.17:02
abentleyleonardr, I agree that it can make sense for clients to specifically request features.  I wouldn't want to see the mechanism used to address implementation bugs, though.17:03
leonardrclients generally request features by sending http headers. the only reason to do it in the user-agent instead is if there's an agent-specific problem17:05
abentleyleonardr, btw, the python support for header parameter is get_param and set_param, described here: http://docs.python.org/library/email.message.html17:06
leonardrok17:06
abentleySo I'm going to do a needs-fixing review and recommend using standard parameters and just blacklisting python/httplib2 clients for cache-control.  Sound reasonable?17:09
james_wleonardr: is this about caching the wadl?17:18
leonardrjames_w: yes17:18
leonardrabentley, sure17:18
james_wleonardr: may I have a look at the merge proposal?17:20
leonardrjames_w: sure. https://code.edge.launchpad.net/~leonardr/lazr.restfulclient/user-agent/+merge/2323717:20
james_wplease subscribe me to the source branch, that page is private17:20
leonardrit has nothing directly to do with the wadl, it's just creating the ocnditions under which i can land a lazr.restful branch without breaking everything17:20
leonardrwell, it shouldn't be17:21
leonardrok, it's public now17:21
=== matsubara is now known as matsubara-lunch
james_wI'm not sure this is worth the effort of a workaround is it?17:23
james_wI'm not sure what the "special data" is though17:24
james_wI thought it was fixed by removing Cookie from Vary in webservice requests?17:24
leonardrjames_w: if there's no workaround, then all existing installations of launchpadlib break when i upgrade lazr.restful17:25
leonardrthis is separate from Vary. look at the httplib2 bug17:25
james_woh, none of this is in the bug report it seems17:25
=== gary_poster is now known as gary-lunch
leonardrjames_w: i don't follow. which bug report are you refering to?17:26
james_wthe lazr.restfulclient one17:27
leonardrjames_w: if it will help i'll file a separate lazr.restfulclient bug saying 'work around httplib2 bug 97'17:28
mupBug #97: can't mark a bug assigned <Launchpad Bugs:Fix Released by daf> <https://launchpad.net/bugs/97>17:28
james_wleonardr: no, it's ok, I was just working from a stale cache (fnar)17:29
leonardrok17:29
james_wso you want to introduce cache-control in lazr.restful?17:29
leonardrjames_w: yes. and httplib2 gives inconsistent behavior when cache-control is combined with conditional requests17:30
leonardrinconsistent behavior that crashes lazr.restfulclient17:30
james_wright17:30
james_wI can see why you need the workaround now17:30
james_wsorry for the noise17:31
leonardrsure17:32
=== sinzui changed the topic of #launchpad-reviews to: On call: intellectronica, abentley || reviewing: -, - || queue: [sinzui] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
sinzuiabentley, can you review https://code.edge.launchpad.net/~sinzui/launchpad/series-branch-target/+merge/2305617:56
=== intellectronica changed the topic of #launchpad-reviews to: On call: abentley || reviewing: - || queue: [sinzui] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
sinzuiabentley, This branch is a complete reimplementation of a solution that had a fatal flaw17:57
leonardrabentley, ready for you to take another look18:07
=== matsubara-lunch is now known as matsubara
abentleyleonardr, r=me18:25
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || reviewing: sinzui || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== adiroiban changed the topic of #launchpad-reviews to: On call: abentley || reviewing: sinzui || queue: [adiroiban(bug-561355)] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
adiroibanintellectronica: any new about my branch sent to ec2 ?18:35
intellectronicaadiroiban: it dies mysteriously and i had to resend it, so it will be another 2-3 hours until it finishes18:37
adiroibanintellectronica: ok. then most probably there are some errors18:38
adiroibanand to see them you will need to keep the session open18:38
adiroibanas no email will be dispached18:38
intellectronicaadiroiban: i'll try a run with a terminal open if i don't get a response and will let you know if there are errors18:39
adiroibanthanks!18:40
=== gary-lunch is now known as gary_poster
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || reviewing: adiroiban(bug-561355) || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
sinzuithanks abentley18:51
abentleysinzui, np.18:51
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== matsubara is now known as matsubara-afk
marsabentley, ping, would you be comfortable reviewing https://code.edge.launchpad.net/~mars/launchpad/check-db-revision-target/+merge/23255 ?  It is a small Makefile change.20:02
marsyou know, I would really like to use Bash colour escape codes in there...20:03
abentleymars, did you consider just doing make schema?20:03
abentleymars, rather than erroring, I mean.20:04
marsabentley, I thought about that, but the problem is that you don't always want 'make schema' stomping on the database.  The scenario:20:04
marsI have a devel instance running over here: switch contexts to fix a bug over there.  Need to start a dev instance, so I try "make run" in the bugfix branch20:05
marsif "make schema" ran automatically on the mismatch, it would stomp my original dev instance20:05
abentleymars, so what do you do instead of running make schema to do the bugfix?20:06
marsabentley, find the original instance, make sure I can shut it down, do so, then spin up the bugfix instance and db.20:07
marsabentley, ugly, but this is a quick-fix that will save a few annoying minutes of my life.20:07
abentleymars, does the check itself take very long?  make run seems to be taking longer and longer...20:08
marsmaybe auto-running 'make schema' would work, too, but I did not want to spend too much time on it.20:08
marsabentley, the check takes almost no time, especially compared to other stuff.  'make jsFOO' takes much longer.20:08
marsguess what is next on the hit-list20:08
mars:)20:09
abentleymars, cool.20:09
marssmall improvements!  One step at a time.20:09
abentleymars, does the exit status propagate to the make exit status?  If so, it would be nice to use a unique exit status.20:10
marsabentley, I don't know.20:10
abentleymars, is it deliberate that there's no newline at the end of utilities/check-db-revision.py ?20:11
marsabentley, nope.  My editor must not add them20:13
abentleymars, weird.  Okay, r=me.20:13
marsabentley, great, thank you!20:14
=== jtv1 is now known as jtv-afk
bachi abentley, can i get a review?  https://code.edge.launchpad.net/~bac/launchpad/bug-559200/+merge/2325620:25
abentleybac, looking20:26
abentleybac, these doctests look a lot like unit tests.20:32
abentleybac, why is the new transaction.commit needed?20:33
abentley(patch line 128)20:33
bacabentley: without the commit the branch conflict does not occur20:34
abentleybac, r=me20:35
bacabentley: thanks20:35
bacabentley: the testing style is consistent with the rest of the registry browser view tests.  each application has settled on a different testing style...20:36
abentleybac, I thought it had been agreed that the doctests should be documentation that had tests.20:37
leonardrabentley: https://code.edge.launchpad.net/~leonardr/lazr.restfulclient/httplib-97-workaround/+merge/23263 , though you might want to wait for my change to the lazr.restful branch20:41
abentleyleonardr, are If-Modified-Since and If-None-Match the only ways of getting a 304?20:45
abentleyleonardr, it's generally not a good idea to sleep in tests.  Can you modify the apparent time seen by CookbookWebServiceClient instead?20:48
leonardrabentley: yes, except for a case with intermediate caches which doesn't apply here20:49
leonardrdo you have any suggestions on how to modify the apparent time?20:49
leonardri don't have direct access to the code that checks the time, it's in httplib220:49
abentleyleonardr, then I guess it can't be helped.20:53
abentleyleonardr, what's the motivation for checking whether the client performed a conditional request?20:54
leonardrabentley, look at the end of the diff20:55
leonardrwhere it used to make a conditional request and expect an exception20:55
leonardrnow it gets a special value and i don't use an exception for a non-exceptional case20:55
abentleyI understand that.  I just don't understand why you would ever want a 304 to give an exception.  Do servers really return it when they shouldn't?20:58
leonardrabentley: no, they don't. that's why if it were to happen it woudl be an exceptional situation20:59
leonardrbasically, if for some reason it does happen20:59
leonardri don't want lazr.restfulclient to say 'oh, the object's new representation is NOT_MODIFIED'21:00
leonardri want it to crash21:00
bacabentley: it depends on what you call a doctest in registry/docs that are as you'd expect.  we also have these view tests in browser/tests that use the doctest framework but are not primarily meant to be documentation.21:00
bacoops, i missed some important punctuation in that first run-on sentence.21:00
* bac tries again21:01
bacabentley: it depends on what you call a doctest.   in registry/docs we have doctests that are as you'd expect.21:01
abentleyleonardr, that's a very different situation from a 302 or a 500.  You're now talking about bugs in the server or a proxy.  Still, if you think it's important to do that, you can.21:02
leonardrabentley: i think it's important insofar as i want to preserve the old behavior (raise an exception whenever the response is not 200)21:03
leonardri don't want to carve out a general exception for 304, just an exception for 304 _when i know how to handle it_21:03
abentleybac, I don't understand why you would make an exception for certain doctests.  Is there something about the doctest framework that makes it superior to unit tests for views?21:09
bacabentley: i'm just trying to explain the history of how we got to where we are.  the code team has a strong preference for unit tests.  other teams prefer the doctest framework.  i think the most important thing to do is to be consistent within the prevailing subculture.21:11
bacabentley: unless or until we make a launchpad-wide decision mandating one way or the other.21:12
abentleybac, I think it's also important to respect the decisions that have already been made.  I thought there was consensus that we should only use the doctest framework for testable documentation.21:15
abentleybac, I'll add it to the reviewer meeting agenda.21:16
bacabentley: ok21:16
EdwinGrubbs2abentley: can you review a fairly simple branch for me?21:36
=== EdwinGrubbs2 is now known as EdwinGrubbs
abentleyEdwinGrubbs, sure.21:36
EdwinGrubbsabentley: https://code.edge.launchpad.net/~edwin-grubbs/launchpad/bug-555734-coc-oops/+merge/2326821:36
abentleyEdwinGrubbs, r=me.21:40
EdwinGrubbsthanks21:40
* maxb has 2 trivial branches if anyone's still reviewing - https://code.edge.launchpad.net/~maxb/launchpad/ - but I'm assuming EOD must be nowish for Americas22:35
=== matsubara-afk is now known as matsubara

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