[10:05] Total: 56 tests, 1 failures, 49 errors, 0 skipped in 1 minutes 48.597 seconds. [10:05] that went... well [10:14] but 6 succeeded right? [10:14] gotta celebrate the wins [10:14] `def test_foo(): pass` [10:15] 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] I've been known to break tests like that [10:16] if you sufficiently mangle the test setup, there's no guarantee even that will work [10:16] Oh absolutely [10:17] It's not invulnerable, but it's a nice baseline [10:17] lp.services.scripts.base.SilentLaunchpadScriptFailure: 1 [10:17] now, how can that just ... not be silent? [10:17] * tomwardill breaks out pdb [10:18] Yeah, garbo likes to do that [10:19] Good opportunity to make your test add logger output as a test detail [10:20] (Though TestGarbo.setUp is supposed to do that ...) === SpecialK|Canon changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | Firefighting: - | Critical bugs: <98 | Support and spam reporting: https://answers.launchpad.net/launchpad [14:51] cjwatson: does using in a configure.zcml allow write? [14:52] getting a ForbiddenAttribute trying to set an attribute on OCIFile [14:55] maybe you need a with set_schema? [14:55] yeah,t hat's what I was wondering [14:56] just slightly surprising that an explicit doesn't... allow [14:56] which makes me think I've got something else wrong somewhere [15:02] tomwardill: is only for gets, not sets [15:03] As pappacena says, you need or for sets [15:04] Honestly I think removeSecurityProxy makes more sense than completely open set permissions [15:04] hmm, yeah, that would work [15:04] * tomwardill does that [15:06] 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] thought i was done,t hen ran some more tests [15:07] SURPRISE NOPE! [15:13] mock_oci_datetime.noew = lambda: now [15:13] well, found a bug [15:14] mock_oci_datetime.meow = lambda: cat [15:14] hah [15:40] 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] garbage collection for OCIFile [15:43] silly q - why did you move IOCIFS? [15:44] so it was in a more appropriate place in the file (next to IOCIFile) [15:44] as I had a 'I know I wrote this,w here the heck is the code' moment [15:44] (blame past tom for putting it in a weird place to start with) [15:58] 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] "delivery area not accessible, follow up instructions on the way" no piano today then :( [16:12] tomwardill: do these tests share state? [16:12] ...I guess yes, shared testdb across tests [16:12] no, I just can't count, ignore me [16:12] SpecialK|Canon: no, the db is rolled back [16:12] jaj [16:12] *hah [16:16] matching DB patch: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/384129 [16:16] 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] *between every test [16:17] And attack any case of state sharing between tests with fire [16:17] nod, cheers, I've now regained my ability to count/read and noticed the second makeOCIFile call... [19:30] SpecialK|Canon: https://code.launchpad.net/~cjwatson/launchpad-buildd/+git/launchpad-buildd/+merge/384140 [19:31] Very rough, but gets it out of my head [20:13] {"errors":[{"code":"MANIFEST_INVALID","message":"manifest invalid","detail":{}}]} [20:13] Thanks for such detailed message, DockerHub. That helped a lot... :unamused: [21:54] https://hub.docker.com/repository/docker/pappacena/test-image 🎉 [21:54] It kind of worked! :-) [21:55] https://usercontent.irccloud-cdn.com/file/OBSogPP9/its-something.png