[03:57] <MTeck> I need to do a project for my university. My first thought was making dd have a hasning function so you could say dd if=/from of=/to hash=in ; then it would hash the file as it's being read so the file is only read from disk once. Apprently dd can do the same thing. So... You guys have any ideas for how my group could help LP? We do need a clear goal to accomplish.
[04:00] <jml> umm
[04:00] <jml> MTeck, you want to contribute patches to LP?
[04:00] <jml> MTeck, how much time does your group have? :)
[04:00] <MTeck> jml: You think somehow we could develop a clear goal? Is there any feature that you guys want added that we could do
[04:00] <MTeck> ~5mo
[04:01] <jml> MTeck, we could definitely come up with something.
[04:02] <MTeck> :)
[04:02] <jml> MTeck, is there anything on LP that interests you in particular?
[04:02] <MTeck> branches - loggerhead - bugs - teams
[04:02] <jml> MTeck, cool.
[04:02] <MTeck> I think those are my favorite part :P
[04:03] <MTeck> I did like the tabs better for the UI - but I can see where removing images is a good idea
[04:03]  * jml nods
[04:04] <jml> MTeck, I'm definitely sure that we can find something in one of those that would be suitable
[04:04] <MTeck> Was it a bandwidth decision?
[04:04] <jml> MTeck, also, what TZ are you guys in?
[04:04] <MTeck> -6
[04:04] <jml> MTeck, It was partly a bandwidth decision, and partly a communication-of-structure thing
[04:05] <jml> MTeck, I'll chat to a couple of the team leads & get back to you.
[04:05] <MTeck> :)
[04:26] <jml> logging out to test a gnome thing
[04:27] <jml> brb
[05:10] <jml> time to repeat the ipod experiment
[05:10] <jml> back soon.
[06:07] <jml> how do I get the exit code of the last command?
[06:11] <MTeck> All I know about getting an exist status is either an error message handler, %d, or echo $?
[06:19] <wgrant> jml: $? is the shell variable, as MTeck suggested.
[06:22] <jml> thanks.
[06:22]  * jml is giving up on Banshee, and trying gtkpod for syncing
[06:22]  * wgrant gave up on Banshee when he couldn't work out how to use its DAAP plugin and Launchpad at the same time.
[06:23] <wgrant> jml: LH wants to be kicked very much.
[06:23] <jml> I can't really do anything about it, I'm afraid.
[06:23] <wgrant> Damn.
[06:24]  * MTeck uses totem when he really needs audio/video - but much of the sound type
[06:26] <jml> I guess I should use gstreamer to convert all my flacs to mp3s and then try gtkpod again
[06:26] <jml> transcoding is not its strength
[06:27] <jml> I wish banshee didn't rely so much on HAL, dammit.
[06:33] <jml> and now I can't even figure out gstreamer
[06:33]  * jml takes a break
[06:49] <MTeck> This is how I like to start coding (same as when I started usling Linux) - http://img196.imageshack.us/img196/6990/arcticfoxhunting.gif
[06:55] <jml> heh
[06:57] <MTeck> jml: head first :D
[07:12] <wgrant> jml: What's broken with HAL?
[07:20] <jml> wgrant, podsleuth uses HAL to find iPods. There's some crazy interaction between it and gnome's auto mounting stuff.
[07:23] <wgrant> jml: Possibly related to the HALectomy? Or was this a problem pre-Karmic as well?
[07:23] <jml> wgrant, HALectomy, I think. Haven't tested pre-Karmic, it's a new ipod
[07:24] <jml> wgrant, F11 users are reporting the same thing
[07:24] <jml> http://bugzilla.gnome.org/show_bug.cgi?id=586508
[07:25] <wgrant> jml: Yeah, that looks like it.
[07:25] <wgrant> Nautilus has used DeviceKit-disks for some time now.
[07:28] <jml> I don't really know what to do about it, other than change banshee / podsleuth to use DeviceKit / udev / whatever
[07:50] <lifeless> ooh look people
[07:51] <jml> lifeless, what?
[07:52] <jml> lifeless, btw, tribunal is now in 2a & works with testtools.
[07:53] <wgrant> Is 2a stable now?
[07:57] <lifeless> jml: cool
[07:57] <lifeless> jml: subunitification?
[07:58] <jml> lifeless, writing an email about that now :)
[07:58] <lifeless> wgrant: its been supported since 1.16
[07:58] <lifeless> I'm trying to decide how best to plugin in a SubunitLogObserver to arbitrary buidl steps in buildbot
[07:58] <wgrant> lifeless: But it had some big issues back then. Are they all gone now?
[07:59] <lifeless> wgrant: 2.0rc2 should have no operational issues using it
[07:59] <wgrant> lifeless: OK, thanks.
[07:59] <jml> lifeless, .... and sent
[08:14] <lifeless> jml: [replied]
[08:48] <jml> make build is broken in stable :(
[08:58] <jml> oh wait, that's just karmic
[08:58] <wgrant> jml: There are also test failures on stable.
[08:58] <jml> wgrant, test failures?
[08:58] <wgrant> jml: yeah, one test is failing without counting towards the failure counts, so the suite passes.
[08:59] <jml> wgrant, sheesh.
[08:59] <wgrant> jml: 'make build' works fine here on karmic/2.4. What's wrong with yours?
[09:00] <jml> wgrant, I'll try again & paste.
[09:00] <jml> it fails on wadllib generation
[09:03] <jml> http://paste.ubuntu.com/265972/
[09:03] <wgrant> jml: WFM :(
[09:04] <jml> wgrant, up to date with download-cache?
[09:04] <wgrant> Wow.
[09:04] <wgrant> That's impressive.
[09:04] <wgrant> jml: No.
[09:04]  * wgrant updates
[09:05] <wgrant> I probably should get onto those remaining formatting-related 2.5 failures at some point.
[09:06] <jml> I was going to fix ec2test on karmic, but...
[09:07] <wgrant> It needs make build?
[09:07] <jml> hmm, I guess it doesn't.
[09:07] <jml> but 'make build' is pretty essential to almost everything else
[09:08] <wgrant> It works for me with up-to-date devel and download-cache.
[09:08] <jml> I'll give it a try with devel
[09:09]  * jml runs branch-flow
[09:09] <wgrant> branch-flow?
[09:12] <jml> wgrant, it's a utility I wrote that lives in utilities/.
[09:12] <jml> wgrant, give it a burl :)
[09:13] <lifeless> I always forget how ugly unittest.py is
[09:13] <lifeless>         self.testsRun = self.testsRun + 1
[09:13] <lifeless> _why_
[09:14] <jml> lifeless, it predates +=, iirc.
[09:14] <lifeless> all the same
[09:14] <lifeless> its had lots of time to be cared for
[09:15] <wgrant> jml: Ah, that's very nice.
[09:15] <jml> wgrant, thanks.
[09:15] <jml> it's not so nice that we have 26 untested revisions in devel.
[09:16] <wgrant> jml: No. But I guess that'll be fixed in less than 24 hours.
[09:16]  * jml hopes so.
[09:17] <wgrant> But is make build still broken?
[09:17] <jml> yeah.
[09:17] <jml> I think it's a python-xml thing.
[09:18] <jml> I recall someone saying something about xmlplus at some point.
[09:18]  * jml uses a proprietary web service to find out where.
[09:18] <wgrant> Remove python-xml?
[09:18] <wgrant> It's not needed.
[09:19] <jml> I'll try that.
[09:19] <jml> wgrant, what's the test that's failing but not failing the suite?
[09:20] <wgrant> jml: lp.buildmaster.tests.test_manager.TestBuilddManagerScan.testScanRescuesJobFromBrokenBuilder
[09:21] <wgrant> jml: It fortunately shows up in ec2test success emails, so I know it's *only* that one.
[09:22] <jml> removing python-xml does the trick
[09:22] <wgrant> jml: It started failed in r9267 due to sampledata changes (bug #424797)
[09:22] <mup> Bug #424797: lp.buildmaster.tests.test_manager.TestBuilddManagerScan.testScanRescuesJobFromBrokenBuilder failing silently <soyuz-build> <spurious-test-failure> <Soyuz:Triaged> <https://launchpad.net/bugs/424797>
[09:22] <wgrant> Hmmmm.
[09:23] <wgrant> That's odd.
[09:23] <jml> oh good, there _is_ a bug.
[09:23] <jml> that's something
[09:25] <wgrant> I considered filing a -foundations bug about the lack of detection of the failure. Should I?
[09:35] <lifeless> yes
[09:35] <lifeless> if something is wrong, file a bug :)
[09:42] <jml> wgrant, build-infrastructure tag please
[09:43] <jml> hey look, it's a trial test case
[09:43] <jml> I know this!
[09:45] <wgrant> lifeless: Well, it might have just been a bug in the test.
[09:45] <wgrant> It is a subclass of something I've not seen before.
[09:46] <lifeless> wgrant: eitherway, is it not a bug ?
[09:46] <wgrant> lifeless: Yes, but there's already a bug about the test being broken.
[09:46] <lifeless> oh
[09:46] <lifeless> I'd file one about the detection
[09:46] <lifeless> if its a false positive bug, no harm done
[09:46] <wgrant> Thanks.
[09:47] <lifeless> jml: # tests: current=51, target=53.0
[09:47] <lifeless> jml: from buildbot
[09:47] <jml> lifeless, ECONTEXT
[09:48] <lifeless> jml: subunit to buildbot progress
[09:49] <wgrant> Bug #425113
[09:49] <mup> Bug #425113: Some tests can fail without detection <build-infrastructure> <Launchpad Foundations:New> <https://launchpad.net/bugs/425113>
[09:49] <lifeless> jml: "I have a patch to make buildbot show test progress if there is subunit in the output."
[09:49] <jml> lifeless, ahh, awesome.
[09:50] <wgrant> Very nice.
[09:57] <jml> hmmmmmmmmmmm
[09:57] <lifeless> Its so helpful that 'git diff' does not show what you will commit.

[09:57] <wgrant> lifeless: Is there a way to work around that?
[09:57] <lifeless> git add .; git diff --cached
[09:57] <wgrant> Ah.
[09:57] <lifeless> or use bzr-git and 'bzr diff'
[09:57] <wgrant> Hahah.
[09:58] <wgrant> That always hits me when I use git, but that's rare enough that I can never be bothered to look it up.
[09:58] <lifeless> I had done a git add
[09:58] <lifeless> so when git diff showed me nothing I was ... puzzled
[10:00] <jml> ok
[10:00] <jml> so what's happening is that our newer zope is demanding even more things from the traceback object than it used to
[10:01] <jml> trial, in this case, is converting a twisted Failure object into an exc_info-alike tuple
[10:01] <wgrant> jml: Is this related to there not being any output?
[10:01] <jml> wgrant, yes.
[10:02] <jml> wgrant, zope.testing is raising an AttributeError that somehow gets swallowed.
[10:02] <lifeless> \o/
[10:02] <wgrant> jml: Yay.
[10:02] <lifeless> and failing open, lovely.
[10:03] <wgrant> The best kind.
[10:03] <jml> AttributeError: "'_Frame' object has no attribute 'f_locals'"
[10:03] <wgrant> What's eating that?
[10:03] <jml> not sure yet.
[10:05] <lifeless> heh there isn't a BuildBot dev.lp.net wiki page
[10:05] <jml> wgrant, probably something in trial.
[10:05] <jml> lifeless, Trunk/Glue gets close
[10:05] <lifeless> where is the buildbot status page?
[10:05] <wgrant> jml: Ah, good.
[10:05] <wgrant> lpbuildbot.c.c?
[10:06] <jml> lifeless, https://lpbuildbot.canonical.com/
[10:08] <lifeless> hmm, we already have test counts. \o/
[10:09] <lifeless> jml: was my tribunal feedback useful ?
[10:09] <jml> lifeless, yes, thanks.
[10:09] <jml> lifeless, I'm having attention problems today, sadly.
[10:10] <lifeless> fair enough
[10:10] <lifeless> I had my allergy shot today
[10:10] <lifeless> so I'm lethargic, sore, and hard of focus
[10:10] <jml> untangling why trial is swallowing this error is going to be a challenge
[10:10] <jml> and I don't think I care enough
[10:11] <lifeless> is it trial swallowing it?
[10:14] <jml> yeah.
[10:16] <jml> http://twistedmatrix.com/trac/ticket/4003
[10:16] <lifeless> hmm
[10:16] <lifeless> SubunitTrialReporterTime
[10:17] <lifeless> lp:twisted ?
[10:17] <jml> lifeless, see the #twisted topic
[10:17] <lifeless> thanks
[10:17] <jml> (I think it's lp:twisted, but I can't remember)
[10:17] <lifeless> yes
[10:22] <jml> I've linked the Twisted bug & made a comment about the whole thing.
[10:26] <lifeless> just quickly
[10:27] <lifeless> is there anything in the ReporterProtocol that I should know about?
[10:28]  * jml thinks
[10:28] <jml> it does todos & skips differently from what you might expect
[10:28] <jml> addError being called more than once per test is expected
[10:29] <jml> instead of exc_info tuples, it expects t.p.failure.Failure objects
[10:29] <jml> PyUnitTestResultAdapter should be a fairly good read in this respect.
[10:31] <jml> oh, and the constructor is part of the contract, iirc.
[10:31] <jml> sorry about tha.
[10:31] <jml> t
[10:31] <lifeless> class TestResult(pyunit.TestResult, object):
[10:31] <lifeless>     def __init__(self):
[10:32] <lifeless> doesn't seem that onerous?
[10:32] <jml>     def __init__(self, stream=sys.stdout, tbformat='default', realtime=False):
[10:32] <lifeless> oh
[10:32] <jml> class Reporter(TestResult):
[10:32] <lifeless> so this is a lie:
[10:32] <lifeless>     implements(itrial.IReporter)
[10:33] <jml> *sigh*
[10:33] <jml> yes
[10:33] <jml> I tried fixing that ages ago, and got blocked on something stupid
[10:34] <lifeless> _observeWarnings seems to be on totally the wrong class, to me.
[10:35] <lifeless> anyhow, lets see if this work
[10:35] <lifeless> s
[10:36] <lifeless> ok
[10:36] <lifeless> what tests would you like? :)
[10:37] <lifeless> jml: ^
[10:37] <jml> uhhh
[10:38] <lifeless> http://paste.ubuntu.com/266006/
[10:39] <jml> lifeless, we really do aim for total coverage.
[10:39] <lifeless> so, putting aside how to test the missing import block
[10:39] <lifeless> which is thorny
[10:40] <jml> lifeless, fwiw, there's a typo in the missing import block
[10:40] <jml> 'Exceptioin'
[10:40] <lifeless> do you have an interface conformance suite for reporters?
[10:40] <jml> lifeless, sadly no.
[10:40] <jml> there might be a test for the trial script
[10:40] <lifeless> thanks for the typo note
[10:41] <jml> to see which reporters are shown in the help
[10:41] <jml> ... apparently not.
[10:41] <lifeless> twisted.trial tests pass for me
[10:41] <lifeless> (using --reporter=subunit too :P)
[10:42] <jml> lifeless, I can't think of any appropriate tests.
[10:42] <lifeless> ok
[10:42] <lifeless> I'll write something plausible
[10:42] <lifeless> but it works!
[10:43] <jml> lifeless, cool.
[10:43] <lifeless> http://twistedmatrix.com/trac/ticket/4004
[10:44] <jml> yeah, I saw :)
[10:44] <jml> thanks
[10:44] <jml> there'll need to be some formatting tweaks too, but nothing that major.
[10:46] <lifeless> there may be some friction
[10:46] <lifeless> I don't know that trial is capable of downgrading properly to stock TestResult's
[10:47] <lifeless> e.g. UnexpectedSuccess may go boom
[10:48] <lifeless> jml: what is the reason that the result object hooks into log observing?
[10:49] <jml> lifeless, kind of historical reasons
[10:49] <jml> lifeless, log.err() calls in tests should fail tests
[10:50] <lifeless> jml: sure; shouldn't each test hook in though?
[10:50] <jml> particularly because that's how Twisted reports unhandled errors in deferreds
[10:50] <jml> lifeless, I guess...
[10:50] <jml> hmm
[10:50] <jml> I wonder...
[10:50] <lifeless> jml: so, I'm not saying 'hooking into log is odd', I'm saying 'Reporter hooking into log ...'
[10:51] <jml> lifeless, it's been added since I last touched the code.
[10:52] <jml> lifeless, so, I don't know the reason.
[10:54] <jml> lifeless, http://paste.ubuntu.com/266016/
[10:55] <lifeless> yes, that sounds nice.
[10:55] <lifeless> I don't see that being at all incompatible with my question :)
[10:55] <lifeless> its a separation of concerns issue, is all.
[10:56] <lifeless> my reporter won't do this, because its totally outside the responsibilities of a reporter..
[10:56] <lifeless> unless I multiple inherit
[10:56] <lifeless> and I'm not sure what would happen if I do that :(
[10:56]  * lifeless shruggifies
[10:57] <lifeless> ooo, EINTR.
[10:58] <lifeless> hmm, I suspect subunit doesn't loop no EINTR at the moment
[10:58] <lifeless> jml: how important is this^ ?
[10:59] <jml> lifeless, it's important.
[10:59]  * lifeless files a subunit bug
[11:00] <jml> lifeless, as for the location of responsibility, well, I haven't paged any of that code in, but what you say makes sense
[11:01] <jml> fwiw, it looks like the only change needed to make ec2test work in karmic is to remove the version checking for boto :)
[11:02] <wgrant> jml: That's what I suspected, but best to be safe.
[11:04] <lifeless> jml: interestingly, I see this:
[11:04] <lifeless> Ran 535 tests in 3.165s
[11:04] <lifeless> PASSED (expectedFailures=1, successes=534)
[11:04] <lifeless> Total tests:     516
[11:04] <lifeless> Passed tests:    515
[11:04] <lifeless> Failed tests:      1
[11:04] <jml> lifeless, that is interesting.
[11:04] <lifeless> 18 missing tests :)
[11:05] <lifeless> -or-
[11:05] <lifeless> 18 overreported tests
[11:11] <lifeless> jml: further thoughts
[11:11] <lifeless> jml: PyUnitResultAdapter would in some ways be better
[11:11] <lifeless> for subunit; as subunit wants to be a real boy.
[11:11] <lifeless> but 4005
[11:12] <lifeless> its kindof late for yak shaving though
[11:16] <jml> lifeless, yeah.
[11:24] <lifeless> urgle
[11:24] <lifeless> addExpectedFailure is sadly different to python 2.7
[11:25] <jml> yeah, I kind of wish they at least investigated prior art before standardising
[11:25] <lifeless> hell no
[11:26] <lifeless> heresy!
[11:27] <lifeless> http://twistedmatrix.com/trac/attachment/ticket/4004/subunit.patch
[11:27] <lifeless> now what?
[11:28] <jml> lifeless, you want to land it?
[11:28] <lifeless> its ~ done
[11:28] <lifeless> uhm, I think I need to add Failure support
[11:28] <lifeless> which I'm about to do. then its done
[11:29] <jml> yep
[11:29] <lifeless> It may handle Failures already
[11:29] <lifeless> as it just stringifies stuff it doesn't recognise
[11:29] <jml> lifeless, you probably want to read over http://twistedmatrix.com/trac/browser/trunk/doc/core/development/policy/coding-standard.xhtml?format=raw
[11:29] <lifeless> hmm, needs to be improved there
[11:31] <lifeless> jml: thats a longish document
[11:31] <lifeless> jml: what do I have wrong?
[11:31] <jml> docstrings are """\nFoo.\n"""
[11:31] <lifeless> shudder
[11:32] <jml> "All unit test methods should have docstrings specifying at a high level the intent of the test."
[11:32] <jml> two blank lines between methods
[11:32] <jml> three blank lines between classes
[11:33] <lifeless> I have to presume there are good reasons for this
[11:33] <jml> lifeless, there aren't.
[11:36] <jml> when it's ready to land, please add the tag 'review' and assign it to me.
[11:36] <jml> I'll review it (and if appropriate, land it) tomorrow,
[11:37] <jml> I'm going to step away from the computer for the evening.
[11:37] <lifeless> ok
[11:37] <lifeless> thanks
[11:38] <jml> np
[11:44] <lifeless> are you jml in matrix?
[11:45] <lifeless> jml: enjoy, its in your paddywhack :)
[18:28] <MTeck> jono: the whole irc thing is getting to me. I'm on the verge of not coming back for a year or to or ever - just in case I go off the deep end...
[18:29] <MTeck> hrm... wrong channel
[18:29] <MTeck> jml: I am excited to work on that project though
[21:11] <mwhudson> good morning
[21:11] <lifeless> hai
[21:54] <thumper> morning
[22:13] <thumper> mwhudson: call?
[22:22] <mwhudson> thumper: yes
[23:32] <thumper> mwhudson: how different is Launchpad's bzr-git from trunk bzr-git?
[23:32] <mwhudson> thumper: not very, i thought
[23:33] <mwhudson> thumper: easy to check cd ~/mumble/sourcecode/bzr-git; bzr missing lp:bzr-git
[23:37] <thumper> mwhudson: we are using bzr-git out of sourcecode still?
[23:37] <mwhudson> thumper: yes, aiui bzr doesn't work with plugins in eggs
[23:38] <mwhudson> thumper: but admittedly i haven't really looked into the issue yet
[23:38] <thumper> ok
[23:38]  * thumper checks missing
[23:47] <lifeless> eggs are evil
[23:47] <lifeless> and no, we don't
[23:50] <wgrant> lifeless: However, LP moving to eggs should make it easier to move to real packages later.
[23:51] <lifeless> wgrant: uhm, that seems totally orthogonal
[23:51] <lifeless> wgrant: just moving straight to real packages would be less likely to run into egg specific issues
[23:52] <wgrant> lifeless: Not quite. It provides a greater incentive to use unhacked versions of the dependencies.
[23:52] <lifeless> wgrant: which moving to real packages would do to
[23:52] <wgrant> lifeless: Right, but I suspect it's easier to move to real packages from eggs than from sourcecode/.
[23:52] <lifeless> wgrant: I have no reason to think that that is the case
[23:53] <wgrant> OK.
[23:53] <lifeless> eggs are a poor proxy for real packages
[23:53] <wgrant> Certainly.