[10:05] <tomwardill> Total: 56 tests, 1 failures, 49 errors, 0 skipped in 1 minutes 48.597 seconds.
[10:05] <tomwardill> that went... well
[10:14] <SpecialK|Canon> but 6 succeeded right?
[10:14] <SpecialK|Canon> gotta celebrate the wins
[10:14] <SpecialK|Canon> `def test_foo(): pass`
[10:15] <SpecialK|Canon> I had a colleague who used to do that actually - said he liked knowing that however much he'd broken stuff, at least something went right
[10:15] <tomwardill> I've been known to break tests like that
[10:16] <tomwardill> if you sufficiently mangle the test setup, there's no guarantee even that will work
[10:16] <SpecialK|Canon> Oh absolutely
[10:17] <SpecialK|Canon> It's not invulnerable, but it's a nice baseline
[10:17] <tomwardill> lp.services.scripts.base.SilentLaunchpadScriptFailure: 1
[10:17] <tomwardill> now, how can that just ... not be silent?
[10:17]  * tomwardill breaks out pdb
[10:18] <cjwatson> Yeah, garbo likes to do that
[10:19] <cjwatson> Good opportunity to make your test add logger output as a test detail
[10:20] <cjwatson> (Though TestGarbo.setUp is supposed to do that ...)
[14:51] <tomwardill> cjwatson: does using <allow> in a configure.zcml allow write?
[14:52] <tomwardill> getting a ForbiddenAttribute trying to set an attribute on OCIFile
[14:55] <pappacena> maybe you need a <require> with set_schema?
[14:55] <tomwardill> yeah,t hat's what I was wondering
[14:56] <tomwardill> just slightly surprising that an explicit <allow> doesn't... allow
[14:56] <tomwardill> which makes me think I've got something else wrong somewhere
[15:02] <cjwatson> tomwardill: <allow> is only for gets, not sets
[15:03] <cjwatson> As pappacena says, you need <require set_attribute=> or <require set_schema=> for sets
[15:04] <cjwatson> Honestly I think removeSecurityProxy makes more sense than completely open set permissions
[15:04] <tomwardill> hmm, yeah, that would work
[15:04]  * tomwardill does that
[15:06] <cjwatson> OK, I think my buildmaster tests all pass again.  Next step is to make them make sense
[15:07]  * tomwardill knows that feeling
[15:07] <tomwardill> thought i was done,t hen ran some more tests
[15:07] <tomwardill> SURPRISE NOPE!
[15:13] <tomwardill> mock_oci_datetime.noew = lambda: now
[15:13] <tomwardill> well, found a bug
[15:14] <pappacena> mock_oci_datetime.meow = lambda: cat
[15:14] <tomwardill> hah
[15:40] <tomwardill> there's a matching DB patch for this, but could do with someone checking I've not missed anything/done something silly in: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/384121
[15:40] <tomwardill> garbage collection for OCIFile
[15:43] <SpecialK|Canon> silly q - why did you move IOCIFS?
[15:44] <tomwardill> so it was in a more appropriate place in the file (next to IOCIFile)
[15:44] <tomwardill> as I had a 'I know I wrote this,w here the heck is the code' moment
[15:44] <tomwardill> (blame past tom for putting it in a weird place to start with)
[15:58] <cjwatson> I don't see anything obviously wrong at a first skim-read, but my head is mostly full of buildd-manager at the moment so I'll give it a proper look later.  Other people should feel free to review too
[16:00] <tomwardill> "delivery area not accessible, follow up instructions on the way" no piano today then :(
[16:12] <SpecialK|Canon> tomwardill: do these tests share state?
[16:12] <SpecialK|Canon> ...I guess yes, shared testdb across tests
[16:12] <SpecialK|Canon> no, I just can't count, ignore me
[16:12] <tomwardill> SpecialK|Canon: no, the db is rolled back
[16:12] <tomwardill> jaj
[16:12] <tomwardill> *hah
[16:16] <tomwardill> matching DB patch: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/384129
[16:16] <cjwatson> Right, we roll back the db between every build, either by transaction.abort() if there've been no commits, or by restoring a fresh DB from a template
[16:16] <cjwatson> *between every test
[16:17] <cjwatson> And attack any case of state sharing between tests with fire
[16:17] <SpecialK|Canon> nod, cheers, I've now regained my ability to count/read and noticed the second makeOCIFile call...
[19:30] <cjwatson> SpecialK|Canon: https://code.launchpad.net/~cjwatson/launchpad-buildd/+git/launchpad-buildd/+merge/384140
[19:31] <cjwatson> Very rough, but gets it out of my head
[20:13] <pappacena> {"errors":[{"code":"MANIFEST_INVALID","message":"manifest invalid","detail":{}}]}
[20:13] <pappacena> Thanks for such detailed message, DockerHub. That helped a lot... :unamused:
[21:54] <pappacena> https://hub.docker.com/repository/docker/pappacena/test-image 🎉
[21:54] <pappacena> It kind of worked! :-)
[21:55] <pappacena> https://usercontent.irccloud-cdn.com/file/OBSogPP9/its-something.png