/srv/irclogs.ubuntu.com/2012/03/01/#launchpad-dev.txt

wgrantcody-somerville: Hi, can you QA your authorized_size thing?00:06
StevenKAnd jelmer's thing00:06
wgrantjelmer's QAed half of his, but bug #296153 is still pending00:07
_mup_Bug #296153: does not mirror bzr branches over ftp <lp-code> <qa-needstesting> <Launchpad itself:Fix Committed by jelmer> < https://launchpad.net/bugs/296153 >00:07
StevenKwgrant: Your testfix switched to rSP() in the factory?00:08
wgrantNo, rSP doesn't work there.00:08
wgrantI logged in as an admin instead.00:09
=== matsubara is now known as matsubara-afk
wallyworldabentley: hi, with the mustache/handlebars template in a file, i notice there's no reference to it in the buglisting yui tests00:22
wallyworldso it doesn't appear the rendering aspects are tested in that case, whereas in the pillar sharing stuff, i have yui tests for the rendering and therefore need the load the template in the tests00:24
wallyworldthat was one of the reasons for having the template in the javascript00:25
wallyworldi guess i could pull in the template in the test html00:25
jelmerStevenK, wgrant: bug 296153 is qa-ok00:30
_mup_Bug #296153: does not mirror bzr branches over ftp <lp-code> <qa-ok> <Launchpad itself:Fix Committed by jelmer> < https://launchpad.net/bugs/296153 >00:30
rick_h_wallyworld: yea, that's a big issue we've got to figure out for JS testing as we move more client side rendering00:31
wallyworldrick_h_: i'll seeing how it flies pulling it out in a file, as per the code review request. i was happy enough to leave it in the js for now but there's been a couple of objections00:33
wallyworldrick_h_: in this case, there's NO server side rendering, it's all client00:33
rick_h_wallyworld: right, but you want the tests and the live site using the same template if possible so that they match and test correctly00:34
rick_h_but it'sa bit tough/pia00:34
rick_h_pita that is00:34
wallyworldrick_h_: of course i want to use the same stuff :-) that's why it was in the js00:35
wallyworldi think i can put in a file and load the file in the test html00:35
wallyworldtrying that now to see if it has legs00:35
wgrantjelmer: Thanks.00:46
rick_h_wallyworld: yea, that's what I've done in my app is create a jstemplate file that I include in both places00:48
wallyworldrick_h_: if i have a script element with a src attribute, what's the magic to get yui to be able to get at the contents of the referenced file?00:53
rick_h_Y.one('#id').getContent() I think00:54
rick_h_oh, it's got a src attribute? hmmm, not sure if that works00:54
wallyworldyeah, getContent() fails00:54
wallyworldwell, i used src since i wanted to reference the single copy of the mustache template file00:55
wallyworldthat same copy that the view passes to the js in prod00:55
wallyworldmaybe ScriptNodeDataSource00:57
wgrantwallyworld: I would hope that you couldn't get at the content.00:59
wgrantThat would be a security issue unless very carefully restricted.00:59
wallyworldwgrant: it's in the test html00:59
wallyworldto load the mustache template data from a file to pass to the widget00:59
wallyworldon prod, the pythov view does this01:00
wallyworldbut i want to use the same template for testing01:00
wgrantAh, interesting.01:00
wallyworldi currently have the template in the js but people don't like this01:00
wallyworldso i'm trying to find another way01:01
wallyworldbuglistings does it this way but there' no yui rendering tests using the template01:01
wallyworldso they didn't need to solve this01:01
wallyworldso it appears html5 has a File api which may be useful01:05
wgrantrofl01:07
wgrantglwt01:07
wallyworldwell spec draft is from oct 2011 so it's "ancient" :-)01:08
wgrantHmm01:28
wgrantI can't talk to bits of the DC01:28
wgrantAh, there we go.01:30
lifelesswallyworld: hi01:33
wallyworldlifeless: hello01:33
lifelesswallyworld: you should deliver the template via the API/view involved - combo loader eventually01:33
lifelesswallyworld: is there a reason that that won't work ?01:33
wallyworldlifeless: that's all well and good but i need the same content for yui tests01:34
lifelessI don't see the problem01:34
wallyworldthat's the issue here01:34
wallyworldtests have a html file and a js file01:34
wgrantThere's no API or view in a YUI test.01:34
lifelessthe yui tests are loaded and run by the lp test driver which is part of our regular python stack01:34
lifelesshow will the yui tests work in a non-launchpad.js world ?01:35
wallyworldyui tests don't have our python stack, just html and javascript01:35
rick_h_the yui tests are just calling .html files iwth JS that runs on them01:35
rick_h_our test stack is just a vessel to load .html files and parse response01:35
wallyworldeg you can load the test html file in a browser01:35
lifelessrick_h_: and the html5-browser wrapped around that01:35
wallyworldand the tests will run01:35
wallyworldwith no lp running at all01:35
wallyworldjust pure js01:36
rick_h_we'd need to find some way to write templates to a .html file and include it into the test.html file (iframe or something?) and pull that html file into the zope template as required for the JS on page to use01:36
lifelessno yui ?01:36
wallyworldyui, yes01:36
lifelessrick_h_: guh what01:36
wallyworldbut reasd off disk locally01:36
rick_h_I've not had a chance to think it through 100% yet. I just know I hit it when updating the tests and it's on my list.01:36
wallyworldlifeless: so you see the problem now?01:37
lifelessrick_h_: so lets skip mustache01:37
lifelesswallyworld: I see the corner we've painted ourselves into01:37
rick_h_so for instance, in my outside application, tests are run via the application so that I can import the same template file in the tests that the application uses01:37
lifelesswallyworld: we've violated abstractions and are now suffering01:37
wallyworldlifeless: well, it's how yui tests have been written since day 101:37
wgrantlifeless: You might be thinking of YUIXHR01:38
wgrantWhich uses an appserver.01:38
lifelessI might be01:38
lifelessso, lets break this into bits01:38
wallyworldlifeless: there's no server side rendering here01:38
lifelessunit tests should not be testing the template outputs; thats orthogonal01:38
wallyworldso involing the view is bogus01:38
lifelesstesting that a template is rendered and executed is sensible, but the code under test is supplied the template by the server01:39
wallyworldthe view unit tests do need to test the rendering of data01:39
wallyworldsure, but we need a way to test without the server where the yui unit tests can get at the template01:39
wallyworldsingle sourced01:39
wallyworldand that's the issue01:39
lifelessso, I think I'm going to get my nose out of this discussion, because I clearly have a different model for whats going on01:40
wgrantlifeless: What about the unit tests for the template rendering?01:40
wgrantSurely they need to be testing the template output.01:40
lifelessI will throw a few key constraints in though to save us later01:40
lifelessfirstly, the templates -must not- be inline in our js or tal files01:41
wallyworldimpossible to write yui unit tests without code copying then01:41
lifelesswe will be compiling them and shipping the compiled result as js to use, accessed probably via the combo loader, or in a pinch via the json cache01:41
lifelessif the template is inline in our js or tal, that won't work, and we'd be screwed. This is just around the corner when the combo loader comes live && YUI 3.501:42
wallyworldnope, the combo loader can handle that ust fine01:42
lifelessorly01:42
wallyworldthe template is built up inside our javascript01:43
wallyworldand accessed via a method on the view widget01:43
lifelessit will extract the template from another file, compile it with nodejs, write that to a temp file and then we'll serve that?01:43
lifelessI feel very confused.01:44
wallyworldno, and we use this in several places, we use Node.create(template) where template is a concatenated string of html01:44
lifelessI'm talking about handlebars templates.01:44
wallyworldon in the case of mustache, to_html(template)01:44
wgrantwallyworld: The template is rendered01:44
wallyworldsame thing01:44
wgrantThe rendered template is given to Node.create01:44
wallyworldyes, i was using an example01:44
lifelesswallyworld: its not the same thing, the template gets *compiled*01:44
lifelesswallyworld: it comes down as javascript, in its own source file.01:44
wallyworldi was trying to issultrate that the template does not have to come from server side01:45
wallyworldit can be constucted the the js01:45
wallyworldwe use that right now in the code01:45
wgrantThe template has to.01:45
wallyworldno01:45
wgrantThe JS can't calculate it client-side.01:45
wallyworldyes, it does01:45
wgrantNo.01:46
wallyworldwe use it now01:46
lifelesswgrant: handlebars compiler can run client-side, but it is overhead01:46
wgrantIt can't, because we have to specify it somehjow.01:46
wgrantI mean a (potentially compiled) template.01:46
wgrantHas to be transmitted from the server01:46
wgrantat some point.01:46
wallyworldno, let me find the example01:46
lifelesswe wouldn't want a compiled template from a foreign site, but from LP itself, we want compiled templates I think.01:46
lifelessthis 'no' business doesn't really elucidate the issues01:47
wgrantwallyworld: You are *rendering* the template client-side.01:47
wallyworldwe concatentate strings to form a mustache template and then call to_html01:47
wgrantOh god01:47
wgrant /wrists01:47
lifelesswallyworld: thats a creative use of mustache01:47
lifelesswallyworld: its not how it is intended to be used though, so I'm curious why that is done01:47
wallyworldlifeless: it's an extenstion of a prior "pattern" in our js01:47
lifelesswallyworld: Possibly, but humour me01:48
lifelesswallyworld: assume I've no prior knowledge and need to be taught why we do this to a mustache template01:48
wallyworldlifeless: going way back, people used Y.Node.create(html) where the html was ['stuff', 'stuff'].join(' ')01:48
lifelesswallyworld: ok; but what joins that into how we use mustache? why is it relevant?01:49
wallyworldthen, in some previous code review, it was suggested that a mustache template be used to get the html01:49
wallyworldso, html = Y.lp.mustache.to_html(template) where template = [xxx].join(' ')01:49
lifelesswallyworld: ok, I'm clear on what is being done, I'm not clear on why.01:49
wallyworldit was used for a local popup dialog or something01:49
lifelesswallyworld: you may not know, which is fine.01:50
lifelesswallyworld: if you don't, we can skip trying to understand as a group, and move on; if you do know, I'd really like to grok this.01:50
wallyworldlifeless: so, it wasn't for main view content, but for a confirmation dialog01:50
wallyworldwhere the data to ask for confirmation for was best rendered using mustache01:51
wallyworldsince it contained a list of things01:51
wallyworldeasier than building the html by hand01:51
lifelesswallyworld: that would normally be to_html(template, data)01:51
wallyworldyes01:51
lifelesswhere data has that list in it01:51
wallyworldyes01:51
lifelessso why was this done differently ?01:51
wallyworlddefine "this"?01:51
lifeless14:49 < wallyworld> so, html = Y.lp.mustache.to_html(template) where template = [xxx].join(' ')01:51
wallyworldi left out the data param01:52
wallyworldpseudo code and all that01:52
lifelesswhy isn't template static though ?01:52
wallyworldit is01:52
lifelessPerhaps I misunderstand01:52
rick_h_it is, but it has to live somewhere. Usually, you write out a <script type="text/template"> block that contains the static html.01:52
lifelesstemplate = [xxx].join(' ') looks like it is string joining to create the template01:52
lifelessthat is not static01:52
rick_h_that ends up getting made available on the page via your template01:52
lifelessits dynamic01:52
lifelessrick_h_: not helping01:53
wallyworldlifeless: our coding standard dictate that approach01:53
wallyworldlifeless: no static, but coding standards force us to do it that way01:53
wallyworldbreak up the string into bits01:53
rick_h_lifeless: ok, can we do a hangout or something? I can hop on the phone. wallyworld is correct, this is a known issue I've seen coming.01:53
wallyworldline length and all that01:53
lifelessrick_h_: sure, we can do that01:53
rick_h_and I can walk through it01:53
wallyworldmumble ?01:53
wgrantOh01:54
rick_h_I can't, I'm out at a coffee shop without headset/etc01:54
rick_h_I can use skype or hangout via my cell01:54
wgrantYou mean just as a replacement for """?01:54
lifelessskype or hangout - they have echo cancellation01:54
wallyworldwgrant: js dorsn't have """01:54
rick_h_yea, but in a noisy coffee shop with 10 other techies talking/hacking01:54
wgrantRight, but that's a faaaaaaaaaaaaaaaaaaaaaaar more restricted case than what you said :)01:54
wallyworldlet's try skpe but mine is flakey01:54
rick_h_ok, my skype is mitechie01:55
wgrantIt made it sound like you were generating the template dynamically, rather than just concatenating strings in a static way because JS is hideous.01:55
wallyworldwgrant: oh, i didn't mean to imply that01:55
* wallyworld installs skpye01:55
lifelesswallyworld: you said it had to be in the js file because it was built up like this01:55
lifelesswallyworld: but if it is only built up like this because it is in the js file, then that is circular logic01:56
rick_h_lifeless: it *needs* to be in the JS file for the unit test .html file to have access to it01:56
wgrantExactly.01:56
wallyworldlifeless: i meant to convey it was in the js to avoid code cut and paste for tests01:56
wgrant@lifeless01:56
wallyworldi believe that's what i said, but it has been misinterpreted :-)01:56
lifelessrick_h_: I get that, but see my point about compilation above.01:56
lifelesswho wants in on this kall ?01:57
wallyworldme as soon as i install skype01:57
timrcI have a general yui testing question (that I also asked in #yui) and since you guys have a bit of experience, perhaps you would know... I'm trying to test DOM events on a form, e.g. when I select an item from this dropdown it updates a textarea based on the choice, but do not know how to do this short of embedding the tests in the page01:58
lifelesstimrc: sounds like you are testing across abstractions01:59
timrcprobably ;) I accomplished this with jasmine using fixtures, but now I must yui02:00
rick_h_timrc: check out node-event-simulate to trigger events and then check callbacks are run/processed02:00
timrcrick_h_, but can I actually load the form into the dom in a seperate test page?02:00
rick_h_timrc: so no, you'd use the setUp of the suite to generate the html required02:01
rick_h_the .html page the tests run on is a giant fixture02:01
rick_h_you can preload with html, use setup/teardown to setup html/clear it between tests02:02
rick_h_timrc: see lib/lp/app/javascript/indicator/tests/test_indicator.js02:02
rick_h_if you can access the LP source for an example02:03
timrcrick_h_, will do. damn typing with a 7 mo old in your lap is challenging02:03
rick_h_heh, understand completely :)02:03
wgranthttp://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/view/head:/lib/lp/app/javascript/indicator/tests/test_indicator.js02:03
rick_h_thanks wgrant, wifi here is awesome and didn't want to try to pull it up on my phone :)02:03
lifelessshort urls R us02:04
rick_h_by awesome I mean fail02:04
wgrantrick_h_: What sort of phone do you have?02:04
rick_h_nexus02:04
wgrantrick_h_: I need someone with an iPhone to try that page02:04
lifelesshandheld02:04
wgrantAh02:04
rick_h_sorry, galaxy nexus02:04
lifelesswgrant: grab anyone from design02:04
wgrantiOS Safari doesn't like my CSS02:04
wgrantMaking the line numbers crap.02:04
wgrantlifeless: Hah02:04
rick_h_guy here has one, sec let me get him the url02:04
rick_h_wgrant: have a guy tring it out02:05
wgrantrick_h_: Ah, thanks. We've had one report that it sucks, mostly want confirmation before I work out how to dig further.02:06
wgrantBut I suspect that I have to throw it at someone else, since I don't have any way of running iOS Safari02:06
wgrantI love Apple so much.02:06
rick_h_wgrant: well it *looks* ok, the only issue is that the line number font is < code font so they don't line up02:07
timrcrick_h_, no way to say "load this url into the DOM" and then test the result? :)02:07
wgrantrick_h_: Yeah, that's the issue.02:07
rick_h_wgrant: so you run out of line numbers, but it reads ok otherwise02:07
wgrantThanks.02:07
rick_h_timrc: so what'd you'd have to do is iframe into the .html page the content you want loaded, and then copy it out via JS in your setUp method02:08
wgrantThe CSS needs redoing, but it works on desktop Trident/WebKit/Gecko/Presto :(02:08
rick_h_timrc: off the top of my head, the issue is that it's raw plain .html so you can't *include*02:08
timrcrick_h_, ah clever, but I can sort of see where lifeless is comin from when he says "testing across abstractions"02:08
rick_h_wgrant: yea, I mean the colors/etc look ok02:08
rick_h_timrc: definitely02:08
timrcrick_h_, maybe jasmine encouraged bad behavior... typically you would test form interactions with selenium, no?02:09
rick_h_timrc: so if your code is responsible for the generation of the html it's less an issue02:09
rick_h_timrc: well you're hitting BDD vs TDD02:09
rick_h_timrc: it's a root thing that behaviour is much higher up the stack of a functional test02:09
* wallyworld stabs apt-get update... sooooo sloooow02:10
rick_h_timrc: so the stuff you're doing with jasmine are really where the sst type stuff would come into play, or in YUI would be if you're creating full Y.Widgets that the html/interactions are tied into a single unit to test with02:10
timrcrick_h_, I think what I'll do for at least now is take my jasmine fixture and copy-paste it into my yui test html file that should achieve what you're talking about02:10
rick_h_timrc: rgr02:11
rick_h_timrc: it's something we've got to work on as we start to get more complicated and need higher level behavior tests than we currently run02:11
lifelessmmm02:12
lifelessso BDD doesn't want to test the whole stack02:12
lifelessthats a false meme02:12
timrcapparently people want to build armhf images yesterday, so I'll take the path of least resistance, here02:12
rick_h_timrc: yea, like that example wgrant posted, we generate bootstrap html in the test to run against, it's a common 'fixture' practice02:12
lifelessBDD wants to test the interactions between components - e.g. when A is the SUT test that asking A to do X results in A asking B for help02:12
lifelessTDD might also look at the state of A before and after, and BDD frowns more on that than pure TDD does02:13
lifelessbut even within TDD there are huge differences of opinion there02:13
rick_h_right02:13
lifelessthe key thing that *both* TDD and BDD say here02:13
lifelessis that if you are using a known good component02:13
lifelessDO NOT TEST IT02:13
lifelesstest /how/ you use it.02:13
rick_h_right, so he's starting with a BDD "fixture" and wanting to copy/pull that into his TDD somehow as a "fixture"02:14
lifelessnot what it does02:14
rick_h_in jasmine, it's including an external html file so he wants to "import" that into the YUI .html test file, but not a good way to do that since it's raw .html without server side includes/imports of any sort02:14
lifelessyeah02:17
timrcjasmine structures tests as it("should do this when this condition is met", function())02:17
rick_h_timrc: yea, and you can create a test in YUI that's "should do this ..." that get run after setUp()02:17
rick_h_we use the test_something_does_something: function format02:18
rick_h_but the text string "this should that" also work02:18
rick_h_it just doesn't nest like a jasmine tests would02:18
lifelessso I think I'm saying that testing here is really checking that the event is raised, and that the widget is subscribed to it02:18
lifelesstesting between them is a bit odd02:19
timrcso maybe this is actually a job for something higher up the stack, when the user selects item A, the textarea is populated with X, Y, Z ?02:19
rick_h_yea, normally we'd split the test. One that the event is fired by mocking the callback02:19
rick_h_and secondly, that given a method with the right/wrong input data that the callback does what we think it should do02:20
rick_h_timrc: right, that starts to sound like a live functional test which might be run via sst02:20
rick_h_or you could test that when the user selects an item, an event is fired with A's data02:20
rick_h_and then, firing a custom fake event with data XXX, the textarea will populate with other stuff02:21
rick_h_so two different sets of tests, one against the select/drop down, and one against the textarea02:21
rick_h_that'd be breaking it more into unit tests, using two suites, you could have different setUp() and tearDown() and those would bootstrap a select element to test against02:21
rick_h_and the second suite would setup a textarea that you test against02:22
wgrantStevenK: How goes the AccessPolicy creation?02:22
rick_h_oh StevenK so I heard convoy RT is right after the librarian san stuff fyi02:23
timrcrick_h_, I'm quickly learning why QA is its own discipline, but I'm happy to learn.  I fear that the complexity of testing is going to prevent me from getting very flashy in Offspring :)02:26
rick_h_timrc: yea, I mean that's why it's a giant can of compromise02:26
wgrantrick_h_: librarisan is hopefully only a couple of days away :)02:26
rick_h_the idea is that you get somehting that tests, you can add things you break to, but it's always going to have gaps/wholes02:26
rick_h_wgrant: ooh, that makes me so happy02:27
rick_h_it sounded like it was something rather large/far out02:27
wgrantWell02:27
wgrantIt's actually running partly on the SAN atm02:27
wgrantJust on the old machine via NFS.02:27
* timrc hisses at the mention of NFS02:27
wgrantThe firewall was opened this morning, so it's just a couple of deployment and monitoring things left before we can switch.02:27
wallyworld___rick_h_: lifeless: finally got skype installed02:29
rick_h_wallyworld___: cool02:29
lifelesswallyworld___: rick_h_: ok, gimme a couple minutes to put a load of washing on02:30
wallyworld___ok02:30
rick_h_lifeless: rgr02:30
rick_h_I've got 30min before close02:31
wallyworld___rick_h_: i tried calling you but my request was rejected02:31
rick_h_wallyworld___: sorry, missed your request, added you to my contact list now02:32
lifelesswallyworld___: ah, if you're hosting, call me in02:36
timrcrick_h_, anyway, thanks for the help, I think I have enough to go forward.  Really appreciate it02:38
StevenKwgrant: I still have test failures. :-(02:53
wgrantStevenK: Oh?02:53
StevenKwgrant: Let me pastebin a diff and the failures02:54
wgrantThat would be ideal.02:54
StevenKwgrant: http://pastebin.ubuntu.com/862865/02:57
wgrantStevenK: What happens if you try to run it manually?02:59
wgrantIt's also not inconceivable that you might have to commit/abort the transaction before you can see the result.03:00
StevenKwgrant: http://pastebin.ubuntu.com/862870/03:00
StevenKBut __call__ in the job calls commit :-(03:01
wgrantThat's in the job.03:01
wgrantWhich is hopefully a separate process, and therefore a separate transaction.03:02
StevenKNo other test calls commit after self.runHourly()03:02
wgrantAh03:03
StevenKI'm of the opinion that I've missed something utterly stupid and I've been chasing it for hours.03:03
wgrantYou've run make schema to ensure that the security change made it to launchpad_ftest_template?03:03
StevenKYup.03:03
wgrantEnsure that statement logging is enabled and watch your postgres log during the test run.03:04
wgrantalso, most of __call__  can be replaced with a list comprehension.03:04
StevenKOh?03:04
StevenKI'm already using one in what I thought was a clever way.03:05
wgrantYou construct an empty list, then iterate over a tuple, on each iteration adding some tuples to the list.03:05
wgrantpolicies = [(distro, policy) for distro in self.findDistributions()[:chunk_size] for policy in (USERDATA, PROPRIETARY)]03:06
* StevenK sprinkles in AccessPolicyType03:07
wgrantAlthough this is unfiltered, so you can also just use itertools.product03:07
lifelessok, skype call done03:08
lifelesstl;dr for folk here:03:08
lifeless - handlebars really wants to be treated more like C - server side compile, separate source, mustache is a middle ground03:08
lifeless - can possible just use an iframe to suck in templates we need, ian is trying that, should work on mustache too [for the tests]03:09
* StevenK laughs at bigjools new profile picture03:10
wgrantHeh, yes.03:10
StevenKwgrant: LP_DEBUG_SQL=1 isn't good enough?03:11
wgrantStevenK: Not sure if that works for garbo subprocesses in tests.03:11
StevenKRight03:11
wgrantWe often run subprocesses in a sanitised env.03:11
* StevenK reaches for postgres' conf03:11
lifelesscan whitelist that parameter probably03:12
StevenKI leave it off so /var doesn't fill up after a days test runs03:13
lifelesssure03:14
lifelessI meant for subprocs03:14
lifelessso that when you set it, it wrks03:14
wgrantI leave it on because my hard disk isn't from 1990.03:14
StevenK/dev/mapper/sys-var   4.6G  1.6G  2.8G  37% /var03:14
* StevenK sighs at the hidden scrollbars crap03:17
StevenKMakes dealing with long output bloody tedious03:17
wgrantDoes gnome-terminal have scrollbars at all any more?03:18
wgrantOh, it does.03:18
wgrantBut the thumb is invisible afaict.03:18
StevenKRight, 100,000 lines of output later03:19
StevenK(I wish I was joking)03:19
lifelessrick_h_: oh, and the site I was pointed at demoing yui_handlebars has the precompiled templates referenced by its combo loader03:20
lifelessrick_h_: so I think that is actually more common than you may think :)03:21
StevenKwgrant: http://pastebin.ubuntu.com/862893/03:23
wgrantStevenK: So, garbo seems to be behaving properly. What about the test?03:24
* StevenK is just about to dump everything containing accesspolicy into a paste03:25
StevenKwgrant: http://pastebin.ubuntu.com/862902/03:28
wgrantStevenK: So, I would suggest breaking with pdb and then poking around in psql03:30
wgrantOr potentially from within pdb if you are brave.03:30
StevenKPerhaps my find* and isDone methods are to blame03:30
wgrantI doubt it.03:31
wgrantWe can see they're being inserted.03:31
wgrantAh, you may be right.03:32
wgrantDistro 3 is not new.03:32
StevenKOh?03:32
wgrantAlso, calling AccessPolicy.create like that is illegal03:33
wgrantgetUtility(IAccessPolicySource).create03:33
StevenKWhat the? Now it's working?03:38
rick_h_lifeless: linky?03:39
rick_h_lifeless: on the precompiles template stuff?03:39
StevenKrick_h_: I think's awesome you're using using convoy with bookie03:39
StevenKs/'s/ it's/03:39
rick_h_StevenK: yea, getting some good tests out of it and swapping code back/forth03:40
rick_h_StevenK: though it's nginx vs apache03:40
rick_h_well, gunicorn in dev, but in prod nginx03:40
StevenKThe nginx fanbois turn me off trying it03:40
rick_h_heh, I'm a fan. I read through an apress book (I think) and since I"m running ec2, lower memery usage ftw03:41
StevenKThere are a bunch of them in #linode and anytime someone turns up with an Apache problem, regardless of the problem, they spend hours trying to convert the guy to use nginx03:41
rick_h_heh03:41
rick_h_yea, well I know apache has a lot more uses03:42
rick_h_but for lower memory it's a win03:42
StevenKwgrant: So here's an interesting data point. If I run test_AccessPolicyDistributionAddition in isolation it works, but running test_garbo causes it to fail03:43
lifelessrick_h_: grah, uhm, lets see03:48
rick_h_lifeless: np, just curious03:48
lifelessrick_h_: beta.tdp.me03:50
lifelessrick_h_: http://tdp.me/combo?template/template-goal-table/template-goal-table-min.js03:50
rick_h_lifeless: ah cool03:51
lifelessirssi-2012-02-09:09:00 #launchpad-dev: < rick_h> lifeless: so this guys in #yui gave me this for some handlebar exapmles: http://beta.tdp.me/static/scripts/bundle.js http://beta.tdp.me03:52
lifeless:)03:53
rick_h_yea, I remember seeing it now03:53
lifelessdunno who, jshirley I think03:53
rick_h_yep03:53
lifelessthe nginx casual approach to http turns me off :)03:53
StevenKwgrant: Running under garbo I never see the created distribution03:55
rick_h_wallyworld___: http://jsfiddle.net/83xZY/ seems to work03:57
rick_h_wallyworld___: note that it's running off the on load event03:59
wallyworld___rick_h_: i get an internal yui error03:59
wallyworld___will try of the onload03:59
wallyworld___i also tried via the dom element directly but got a permission error03:59
rick_h_wallyworld___: bah, that's what I was afraid of, it has to be same domain and prefix04:00
rick_h_file://04:00
* wallyworld___ tries that04:01
wgrantsameorigin on the file scheme is a bit awkward :/04:01
rick_h_yea, but it's meant to prevent http/https crossing04:02
rick_h_I'm guessing more https making http calls04:02
wgrantI mean I don't think any two URLs from the file scheme are considered same-origin.04:02
rick_h_ah, yea I'm not sure of that04:02
rick_h_I was hoping maybe the issue he hit was that the browser was file:// while his iframe src="../../" without an explicit file:// :/04:03
wgrant(the scheme distinction is most often useful to prevent HTTP from doing HTTPS XHR)04:03
wgrantAh04:03
wgrant"Starting in Gecko 1.9, files are allowed to read only certain other files.  Specifically, a file can read another file only if the parent directory of the originating file is an ancestor directory of the target file. Directories cannot be loaded this way, however."04:03
rick_h_but I'm guessing at this point04:03
wallyworld___rick_h_: nah, still permission denied04:03
rick_h_heh, because it's not hard enough...04:04
rick_h_well then ajax requests won't fly either...04:04
StevenKWhy the heck isn't this new distro turning up in the store? :-(04:07
wallyworld___rick_h_: i'm about to give up and say that i need to land the mp with the template in the js04:07
rick_h_wallyworld___: I'll +1 that with a note that it's something I'll investigate as I work on fixing hte combo loader going forward04:08
wallyworld___ok, excellent. thanks04:08
rick_h_it'll be a large todo item so it doesn't fall away, but as part of the combo loader completion story04:09
rick_h_it's going to require more testing than I can do past my bedtime :)04:09
wallyworld___yeah :-)04:09
rick_h_sorry again that it fell into your lap like this04:09
wallyworld___i just want to get myself unblocked for now04:09
rick_h_wallyworld___: definitely04:09
wallyworld___rick_h_: no need to say sorry, i was dreading this issue as well04:10
StevenKWhat's the issue?04:10
rick_h_StevenK: long story :)04:10
rick_h_wheee, and mailman day approacheth!04:10
wallyworld___StevenK: we want to have the mustache template in one place04:10
wallyworld___availabole for yui tests04:10
wallyworld___and for prod04:10
StevenKrick_h_: It's been Mailman day here for 15 hours04:10
wallyworld___and it's hard to do04:11
rick_h_StevenK: heh, just got my first one of the day04:11
StevenKOh yeah, mail. I guess I should read that.04:11
rick_h_wallyworld___: you try out the auto js builder bits I emailed the list about?04:11
rick_h_I need to find people that can try/test that if you get some future JS work to tinker with04:12
stubw00t. pg9.1.3 packages out, containing the plpythonu fix we want for inplace upgrades04:12
rick_h_wallyworld___: or someone else on your team04:12
wallyworld___rick_h_: not yet, but it looks nice04:12
rick_h_wallyworld___: k, let me know if you guys can give it a spin and such04:12
rick_h_eventually want to see if we can mail the -tech about it if it works out ok04:13
wallyworld___rick_h_: will do. it's on my todo list to try out for sure04:13
rick_h_ok, time to go pass out, night04:13
wallyworld___rick_h_: see ya. thanx for your time04:13
wgrantoops04:25
wgrantWas wondering why one of my triggers was taking 25ms to reflatten a bug and all its tasks.04:25
wgrantForgot that I hadn't removed the 250 tasks I'd created on the bug yesterday.04:25
stokachuhttp://pastebin.com/ah8aLQdL - ive managed to setup the authorization header which then seems to redirect me properly from /people/+me to /~adam-stokes04:41
stokachubut then i get a 303 see other error04:41
stokachuany ideas04:41
wgrantstokachu: 303 is the redirect04:41
wgrantIt's not an error.04:42
wgrantAlso, *really* not a good idea to give your OAuth tokens to the world.04:42
wgrantYou probably want to revoke that one.04:43
stokachui will04:43
stokachuis staging still down?04:43
wgrantIt should be up.04:43
wgrantHas only been down for a couple of hours over the last few weeks.04:44
stokachuah , there was a code update an hour ago04:44
wgrantHmmm04:44
wgrantThat should only take it down for a couple of minutes, I'd expect.04:44
wgrantPerhaps something is going wrong with the updates.04:44
wgrantIt's up now.04:45
stokachuah ok... so im in this redirect from the last response04:45
stokachubut should i be calling ~adam-stokes directly?04:45
wgrantDepends on your HTTP library.04:46
wgrantSome will follow the redirect automatically, others won't.04:46
stokachuhmm let me try to hardcode my name in and see what i get04:46
wgrant/people/+me does an HTTP redirect to the current logged in user.04:47
StevenKOr /~04:47
stokachuah yea so this oauth library isn't following redirect04:48
stokachui dont guess anyone is familiar with drupal 7 and its oauth stuff04:48
StevenKThere's a Drupal 7 now?04:49
StevenK:-)04:49
stokachulol04:49
wgrantYou know05:04
wgrantIt would be really nice if we had a sensible data access layer.05:04
wgrantSo we could, like, not be terrible.05:04
stokachuits only a little complicated05:06
stokachunot to bad05:06
wgrantNot talking about the API, but that's not ideal either :)05:06
stokachuhaha05:06
StevenKHmmmmm, what database user does mail handling use?05:08
wgrantStevenK: Should be processmial05:09
wgrantprocessmail05:09
stokachuso if anyone is curious i have a 90% working drupal module for launchpad05:16
stokachuit just doesn't do anything yet but auth05:17
stokachu:X05:17
wgrantstokachu: What are you planning to use it for?05:19
StevenKwgrant, wallyworld___: Either of you feel like reviewing https://code.launchpad.net/~stevenk/launchpad/change-bug-privacy-via-mail/+merge/95312 ?05:20
stokachumainly a dashboard between lp private and salesforce05:20
wallyworld___StevenK: i'm deep in some code changes, can do soon05:20
wgrantStevenK: OMG SOMEONE FIXED IT05:20
* wgrant +1s05:20
StevenKHahah05:20
StevenKI tagged the bug disclosure, I figured it was tiny enough we could claim it as a feature branch05:21
stokachuand possibly some helper stuff for submitting SRU's05:21
StevenKwgrant: So, looking at the not found page, you'd like some vertical whitespace between the heading and the first paragraph?05:40
wgrantStevenK: I don't know.05:41
wgrantUsers currently don't get it.05:41
wgrantSo the page needs *some* change.05:41
* StevenK sprinkles in <strong> along with changing the heading to "Not Found" and puts it up for review05:42
StevenKIE, let's make a token effort and see what Dan comes back with05:43
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
czajkowskialoha07:46
stubDidn't I add a 'previous OOPS' feature?07:49
stubOOPS caused due to thread state, so I need to know the previous screwup. Could have sworn I added that into the OOPS already...07:50
stubDid... so why isn't it in my OOPS?08:04
lifelessstub: you did08:05
stubYer, found other OOPSes with the key. But the one I'm interested in doesn't have it. Might mean it was the first OOPS generated by that thread, but I somehow doubt it.08:07
stubBut it is generated from beforeTraverse, so things might get weird.08:08
adeuringgood morning08:52
mrevellhi09:02
=== almaisan-away is now known as al-maisan
StevenKdanhg: Hai, have you seen https://code.launchpad.net/~stevenk/launchpad/not-found-page/+merge/95313 ?10:14
danhgHmmm.... thanks StevenK10:15
mabacStevenK, hi there. did you get a chance to look at salgado's changes on https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-migration-script/+merge/93883 ? just wondering if there's anything I can handle it before he wakes up. :)10:21
StevenKmabac: Hai. I have commented.10:28
mabacStevenK, cool, thank you10:29
mabacStevenK, let's see if I understand that. :) you don't want us to revert the last change, it's only about setting that feature flag, right?10:36
StevenKmabac: So, I'd like to see the loop move from the experimental loops to the usual one, and a feature flag a guard when it runs10:41
mabacStevenK, ok got it. thanks10:42
StevenKmabac: Of course, along with adding two tests, one to see the job doesn't run with no feature flag, and the inverse.10:43
mabacStevenK, of course10:44
=== al-maisan is now known as almaisan-away
=== matsubara-afk is now known as matsubara
=== Ursinha-bbl is now known as Ursinha
rick_h_morning12:51
czajkowskirick_h_: ello12:54
=== almaisan-away is now known as al-maisan
mabacrick_h_, good morning. thanks for reviewing my branch! I have separated the parsing and validating parts of parseLine but don't know if there is a better error to raise when parsing than LaunchpadValidationError?13:33
rick_h_mabac: I'm not sure on that end. I'll see what jcsackett brings up on that front13:34
mabacrick_h_, ok thanks13:34
=== rick_h_ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: rick_h* | Firefighting: - | Critical bugtasks: 4*10
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett, rick_h* | Firefighting: - | Critical bugtasks: 4*10
jcsackettrick_h_, mabac: almost done with that MP. i see no problem with LaunchapdValidationError, since ulitmately the method is only used as part of the set of calls from validate.14:55
jcsackettif you didn't raise it as such there, you would probably want to reraise from within validate anyway.14:55
rick_h_jcsackett: ok cool14:56
mabacjcsackett, cool thanks.14:57
jcsackettmabac: questions/comments posted on your MP.15:10
mabacjcsackett, thank you. I'm on it15:11
jcsackettmabac: cool. there's nothing major, just a few little things.15:11
mabacjcsackett, doesn't look to bad. ;) I'll fix it up today.15:16
jcsackettmabac: awesome. thanks. :-)15:16
mabacjcsackett, I can remove that assert entirely btw. it can just catch programming errors as you noted15:17
jcsackettmabac: that's what i thought.15:17
jcsackettglad i wasn't off base.15:17
salgadomrevell, did you see my email about announcing the work items changes we're doing in LP?15:33
mrevellsalgado, Sorry yes. I'll be on the phone for another 20-30 minutes then I'll replu.15:35
mrevells/replu/reply15:35
salgadomrevell, that's cool, thanks!15:36
=== al-maisan is now known as almaisan-away
=== danhg_ is now known as danhg
salgadojcsackett, StevenK reviewed https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-migration-script/+merge/93883 and said he was happy with it but wanted a new feature flag to prevent it from running on production until we're ready.  I was wondering if you'd be willing to review the feature flag changes and land it for me so that we can start QAing it in production?15:51
salgados/production?/staging?/15:51
sinzuidanhg, do you want try a screen share where we build a mockup together?15:52
danhgHey sinzui, That sounds great. I'm also working with Matthew on a broader process for testing -> mock-ups -> implementation.16:07
sinzuidanhg, great We can try this now and when you are ready16:08
* sinzui has never tied hangouts screen sharing16:08
salgadomatsubara, if you'd like to try and break the new work-items UI, it's at lp:~linaro-infrastructure/launchpad/workitems-widget16:12
matsubarasalgado, thanks16:12
matsubarasalgado, is it being reviewed?16:12
salgadomatsubara, yes, although most of the changes requested were in tests16:15
matsubaraok16:15
matsubarasalgado, by tomorrow it'll be on qastaging, do you think?16:16
salgadomatsubara, that depends on QAing the migration script, I'd say.  do you need to wait until it's there to QA it?16:17
matsubarayeah, it's better to do it on staging or qastaging with the full db16:17
jcsackettsalgado: sure, i'll take a look at it.16:18
salgadomatsubara, in this case the UI is just a text entry, similar to the whiteboard.  the only way to break it is by entering unparsable stuff and hoping for the worse, so having it on staging won't make any difference16:19
matsubaraok16:20
salgadomrevell, I guess you also didn't have time for the help text (https://bugs.launchpad.net/launchpad/+bug/944119)?16:25
_mup_Bug #944119: Add help popup to the new work-item editor <Launchpad itself:New> < https://launchpad.net/bugs/944119 >16:25
=== matsubara is now known as matsubara-lunch
mrevellsalgado, Hey, I can still do this. Is it okay if I just give you the text?16:31
salgadomrevell, definitely!16:31
salgadomrevell, as for the announcement, do you guys take care of that as well or should we write it ourselves?16:32
mrevellsalgado, We can take care of that. It'd be great to have an idea of anything in particular you want us to say, though. When do you expect to be ready to make the announcement?16:33
salgadomrevell, ok, I'll write down the important points.  hopefully early next week16:33
mrevellThanks. I'll get the help text to you tomorrow.16:34
salgadomrevell, great, thanks!16:34
=== salgado is now known as salgado-lunch
mabacjcsackett, there I believe I've fixed your suggestions for lp:~linaro-infrastructure/launchpad/workitems-widget16:37
mabacjcsackett, I'll clock off now but if there's anything that's not clear salgado-lunch will be able to answer and I'm back online in ~14 hrs :)16:39
czajkowskisalgado-lunch: give me a shout when you;'re back16:40
czajkowskiwe should talk :)16:40
abentleyadeuring: I've got tests that prove a job runs under Celery.  Any advice on how to clean them up? ~abentley/lazr.jobrunner/run-via-celery16:41
* adeuring is looking16:41
adeuringabentley: "make check" just gives me "TypeError: 'NoneType' object is not callable" ...16:46
abentleyadeuring: Yeah, I talked to barry about that and he couldn't help me, so for now I'm using nosetests.16:46
adeuringabentley: how do I start one?16:46
abentleybin/python `which nosetests` should do it.16:47
adeuringah, got it16:47
abentleyadeuring: I particularly dislike the way I'm finding the celeryd binary.  Seems there should be a better way.16:48
abentleyadeuring: Also, the fact that config files are python modules prevents me from generating a config in a temp directory as I normally would.16:49
adeuringabentley: what is your problem with the cleanup?16:52
abentleyadeuring: I don't know what you mean.  The 'NoneType' is not callable thing?16:53
adeuringabentley: I menat your quetion "Any advice on how to clean them up?"16:53
abentleyadeuring: I think the implementation is dirty, particularly the way I find the celeryd binary and the fact that the testing config is a file in the tree.16:55
abentleyadeuring: Do you have any suggestions for improving the test implementation?16:56
adeuringabentley: "cmdname = os.path.join(get_root(), 'bin/celeryd')" ? I don't see any better option16:56
adeuringabentley: regarding the configuration of celeryd: the config module could read the parameters from a temp file, in order to set things like BROKER_HOST etc16:59
abentleyadeuring: How would it find the temp file?  Environment variables?16:59
adeuringabentley: rigt. Or use some hard wired path: /tmp/celery_test.cfg or whatever17:00
adeuringabentley: slightly crazy idea: pipe the config data: you use popen()...17:02
abentleyadeuring: And then config.py reads stdin?17:03
adeuringabentley: yes, but may be soimply crazy...17:03
adeuringI don't know if celeryd itself checks stdin...17:03
=== matsubara-lunch is now known as matsubara
=== deryck is now known as deryck[lunch]
=== salgado-lunch is now known as salgado
salgadohi czajkowski17:46
czajkowskisalgado: howdy18:09
czajkowskisalgado: are you free tomorrow to talk re getting information out about blurprints?18:09
jelmerpun intentional ? :)18:10
salgadoczajkowski, sure. tomorrow around 11:00 UTC ok with you?18:11
czajkowskisalgado:18:16
czajkowskisalgado: you on the canonical calender?18:16
salgadoczajkowski, yep, salgado should be my username there18:18
salgadoI see you've found me already :)18:18
wilxHi.18:19
jelmerhi wilx18:20
czajkowskisalgado: lovely talk tomorrow so18:20
=== deryck[lunch] is now known as deryck
salgadoderyck, hi there. do you have any idea how hard it'd be to fix bug 415365?18:44
_mup_Bug #415365: Errors are not handled properly in inline text editing <lp-bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/415365 >18:44
derycksalgado, hey, let me look....18:44
derycksalgado, by fix, do you mean prevent the error, or do you mean cope with the error better?18:47
salgadoderyck, just display the body of the http response when it's not a 200, I'd say18:48
derycksalgado, right.  so to do that, it should be fairly straightforward, making showError do the right thing, rather than inserting into the inline widget as it's trying to do now.18:49
salgadoderyck, some of those widgets are used on fields that have validators (e.g. bug tags and the new blueprint work-item) so there will always be errors; we just need to display them18:49
salgadoderyck, oh, so showError already has the error message from the response? I thought that's what we were missing and I'd have to get that18:51
derycksalgado, I think it has the error, and just not dealing with it well.18:52
derycksalgado, but it's been awhile since I touched that :)18:52
salgadoderyck, yeah, and I'm completely clueless when it comes to YUI.  can I stick a "debug" call in there to inspect it in the browser?  I seem to recall doing something like that18:54
derycksalgado, yup.  add "debugger;" on the line you want to break on and firebug or chrome console with break there.18:54
salgadoah, debugger18:54
salgadocool, will try that18:54
derycksalgado, you can also open the file in those tools and manually click lines to add break points without editing code.18:54
salgadoderyck, sounds more promising as it looks like I'd need to regenerate launchpad.js after changing showError in the code itself, no?18:57
derycksalgado, yes, you'd need to run make jsbuild again.18:57
salgadoderyck, what's weird is that the validate() method uses showError (when the widget doesn't accept empty input) and in that case it works fine, correctly displaying the message passed to it19:03
derycksalgado, so maybe the message is getting dropped somehow?19:04
salgadoderyck, nope, showError is being passed the body of the response19:05
salgadoderyck, showError inserts the error on the correct place but since this is a multi-line field the text area appears on top of that19:15
derycksalgado, I'd have showError open an overlay, rather than try to insert into the page.19:18
deryckthere's tons of error_overlay examples lying around19:18
salgadoyeah, that makes sense; /me tries that19:18
lifelessjames_w: you should show pkgme to gary_poster19:24
james_wlifeless, for use in something19:24
* gary_poster googles pkgme19:24
james_wlifeless, or just to get some stuff packaged?19:24
lifelessjames_w: I believe he is, or has, someone packaging up a new thing19:25
lifelessjames_w: which is in python19:25
lifelessjames_w: and so a prefect candidate19:25
gary_posterjames_w, yes.  Very simple package, and bac is writing up descriptions on how to do it19:25
james_wgary_poster, a standard setup.py app?19:25
gary_posteryes james_w19:25
james_wit should work then19:26
gary_posterand bac found the existing packaging instructions worthy of simplifying and rewriting19:26
james_wthat's a good thing to do anyway19:26
gary_postercool19:26
james_wbut pkgme may take the pain out of simple things entirely19:26
gary_posterthanks lifeless, james_w .  bac, http://pkgme.net/ fwiw19:27
james_wlp:pkgme19:27
gary_postersaw that too, but the instructions seemed nicer to link to :-)19:27
lifelessright, thats my good deed for the day, off to create havoc19:27
gary_posterheh19:28
rick_h_jcsackett: ping, can you peek at: https://code.launchpad.net/~rharding/launchpad/911857_extract_js/+merge/9543819:31
rick_h_sorry for the big add/remove due to tabbing in19:31
jcsackettsure, rick_h_.19:36
rick_h_jcsackett: ty19:36
bacthanks gary_poster and james_w19:48
bacgary_poster: it may be useful for the py part of charm-tools19:50
gary_posterbac, makes sense19:50
bacjames_w: should pkgme work for precise?  there is no ppa and the description says only natty and oneiric19:56
james_wbac, yes it should19:57
bacgreat19:57
james_wbac, where do you see natty and oneiric?19:57
james_wI'll update it19:57
bacjames_w: https://launchpad.net/~pkgme-committers/+archive/dev/+packages ... but now that i look closely that seems to be generated text19:58
* james_w copies forward19:58
james_wdone19:59
james_wyeah, the text is autogenerated, it has updated now19:59
salgadojcsackett, if you have a few more minutes, I've just proposed a new one. this time it's trivial: https://code.launchpad.net/~salgado/launchpad/bug-415365/+merge/9544720:03
=== almaisan-away is now known as al-maisan
salgadohow do I run a test under lib/lp/app/javascript/tests/?20:12
* salgado tries lading the html files on his browser20:12
rick_h_salgado: yep, that works for dev20:12
rick_h_and then you can load it with the test runner based on the filename20:13
rick_h_which test file are you running?20:13
=== al-maisan is now known as almaisan-away
jcsackettrick_h_: r=me.20:13
rick_h_jcsackett: ty20:14
jcsackettsalgado: can you include a screenshot, since this is changing some of what's displayed on error?20:14
salgadojcsackett, sure, https://bugs.launchpad.net/launchpad/+bug/415365/+attachment/2798570/+files/overlay-error.png20:17
_mup_Bug #415365: Errors are not handled properly in inline multi-line text editing <lp-bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/415365 >20:17
salgadorick_h_, inlineedit/tests/test_inline_edit.js (adding a test for the bug above)20:18
rick_h_salgado: yea, so ./bin/test -x -cvvt inline_edit would run those tests20:18
salgadorick_h_, nice, I'd never have expected that to work20:19
rick_h_salgado: but yea, I'd just run from the browser usually in dev and the cmd line just to make sure things are cool from the html5 browser20:19
rick_h_autoreload makes the browser version nice20:19
=== matsubara is now known as matsubara-afk
rick_h_salgado: replied to your MP20:30
rick_h_let me know if it doesn't make any sense20:30
salgadorick_h_, heh, just found that out myself; one of the tests was failing :)20:31
salgadoI added lp.app.errors but that wasn't enough20:31
rick_h_salgado: yep, figured you were onto that when you asked about running tests20:31
rick_h_right, errors requires someoverlay modules20:31
rick_h_make sure you link to them out of the build directory like the others pls20:32
bachi james_w, i've grabbed the trunk of pkgme and installed it with setup.py.  attempting to run errors due to non-execute bits on all of the 'wants'.  i manually chmod all of them but get a different error.  did i do something fundamentally wrong?20:36
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: rick_h* | Firefighting: - | Critical bugtasks: 4*10
=== rick_h_ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 4*10
rick_h_salgado: running away, but ping me if you hit any issues and I'll be checking in later20:38
salgadorick_h_, link to what?20:38
james_wbac, nope20:38
rick_h_salgado: ok, just that the html files links should be like the current ones, through build/...20:38
james_wbac, the executability thing is a known problem with distutils20:38
james_wbac, what's the other error you got?20:39
rick_h_salgado: such as <script type="text/javascript" src="../../../../../../build/js/lp/app/formoverlay/formoverlay.js"></script>20:39
salgadooh, I see20:39
bacjames_w: vala backend returning non-integer20:39
james_wbac, hmm, odd20:39
salgadorick_h_, let me double check, but I guess it'd fail if I had it wrong (I copied from another test.html file)20:39
james_wbac, did it say what it did return?20:39
rick_h_salgado: you should be good then if you copied since I updated them all recently20:40
salgadorick_h_, yep, it looks just like the others in that template :)20:40
rick_h_salgado: coolio20:40
bacjames_w, wait that seems to be another permission problem with with auto_conf_config20:41
bacjames_w, i'll go forward fixing the execute privileges20:42
james_wbac, ah, helpers/* will need to be +x too20:42
bacok20:42
rick_h_deryck: jcsackett had to run, can you second my ok on this please? https://code.launchpad.net/~salgado/launchpad/bug-415365/+merge/9544720:44
deryckrick_h_, done.20:46
rick_h_ty20:46
salgadoI'm trying to run js tests inside an lxc and am getting "RuntimeError: Gtk couldn't be initialized".  any ideas what I'm missing?20:46
rick_h_salgado: http://bazaar.launchpad.net/~sinzui/html5-browser/trunk/view/head:/README installed?20:49
salgadorick_h_, I think I do; I get that when import html5browser20:49
rick_h_ok20:49
rick_h_so most of these things need  xvfb  but not sure why you'd get a gtk issue20:50
rick_h_sinzui: any ideas? ^20:50
rick_h_salgado: have a traceback to paste perhaps?20:50
salgadothis is what actually happens when the test imports html5browser: http://paste.ubuntu.com/864114/20:51
lifelessfolk who would like a nicer deploy report should check out lp:~james-w/+junk/deploy-tracker20:51
salgadorick_h_, seems to work with xvfb-run20:52
lifelesshttp://ec2-23-20-113-165.compute-1.amazonaws.com/ - turn on 'team info' during SSO handshaking20:53
sinzuisalgado, that looks like the wrong screen.20:56
sinzuisalgado, does html5browser work when run from a console on out owne machine?20:57
* sinzui should have added the show_browser option so we could see it run20:57
salgadosinzui, I tried 'bin/test -t inline_edit' inside a container and it failed with that traceback when html5browser tried to import Gtk.  running with xvfb-run worked20:58
salgadoI don't have html5browser installed on my machine; only on that container where I run LP20:58
sinzuisalgado, okay. This is a bit out of my realm of confidence20:59
sinzuisalgado, Is this lucid, oneiric or precise in the container20:59
salgadosinzui, oneiric20:59
sinzuiokay, that is the version I wrote first and actually expect to work21:00
sinzuisalgado, the official answer is that Gtk cannot find the display. If you always run in a container you may need to pass the display in the env. Maybe we need to smarten up our test script to warn if there is no display set21:04
salgadorick_h_, would you mind landing https://code.launchpad.net/~salgado/launchpad/bug-415365/+merge/95447 for me as well? :)21:04
sinzuiI think html5browser should catch the check error and explain the display it thinks it has.21:07
salgadosinzui, indeed, with the DISPLAY set it works21:08
sinzuisalgado, I reported Bug #944348 about this21:12
_mup_Bug #944348: warn when display is not set. <HTML5-browser:Triaged> < https://launchpad.net/bugs/944348 >21:12
salgadosinzui, nice, thanks!21:14
rick_h_salgado: ok, working on getting landing going21:16
salgadorick_h_, great, thanks again :)21:23
rick_h_salgado: np21:24
abentleyderyck: There's no OCR.  Would you be able to review https://code.launchpad.net/~abentley/lp-dev-utils/ec2/+merge/95468 ?21:37
deryckabentley, sure.21:37
abentleyderyck: thanks.21:38
=== salgado is now known as salgado-afk
deryckabentley, that's alot of python. :)  Is it all straight cut over from lp tree, except for the change about commit tags in MPs?21:42
abentleyderyck: Here are the changes I made: http://pastebin.ubuntu.com/864191/21:44
deryckabentley, ah, that's very helpful thanks.21:44
abentleyderyck: Mostly it's import name changes, but there are some minor tweaks.21:45
deryckabentley, looks fine.  And we know it works. :)  r=me21:49
abentleyderyck: thanks!21:51
lifelessabentley: btw the location of trunk has changed21:52
lifelessabentley: its now lp:~canonical-launchpad-branches/lp-dev-utils/trunk (if you aren't using hte lp:lp-dev-utils alias)21:52
abentleylifeless: I used lp:lp-dev-utils21:52
mtaylorlifeless: hey! is it worth filing a ticket about slowness of mailing list messages?21:58
lifelessno21:59
lifelesswe like it slow21:59
mtaylorawesome21:59
lifelessmtaylor: actually, there is one I think, and its a well known issue21:59
lifelessmtaylor: I can point you at the discussion on the -dev list if you like21:59
lifelesswe're || close to a solution21:59
mtaylorI'll just take your word for it that you're aware and have it almost fixed22:00
mtayloras you rarely lead me astray22:00
lifelessquadratic archive page writes22:00
lifelesssinzui has a grackle.22:00
mtaylorjeez22:00
bigjoolshas he seen a doctor?22:00
mtaylorthat doesn't sound good22:00
sinzuiI have not, but having spent about 9 hours out of my skull I think I might22:01
sinzuiI still fear that If I yawn, the a hole in the universe will open and I will fall though it again22:01
deryckLater on, everyone.22:02
sinzuimtaylor, There is a specific critical bug that is the causes of slowness. I speculated about how to address the immediate concern22:02
mtaylorsinzui: awesome22:04
sinzuimtaylor, lifeless, wgrant: I think this bug needs fixing: bug #942305 right away22:04
_mup_Bug #942305: forster is load spiking due to LP mailman integration <canonical-losa-lp> <mailing-lists> <Launchpad itself:Triaged> < https://launchpad.net/bugs/942305 >22:04
sinzuiI have an idea in it that need validation22:05
lifelesslooking22:10
mtaylorsinzui: looking as well - as is jeblair22:10
lifelesssinzui: which lists are key?22:10
sinzuiubuntu-x-swat is the leading cause22:11
wgrantIt was a few months ago, at least.22:11
wgrantBy a significant margin.22:11
wgrantSimilar to the way we don't generate ubuntu-bugs@lists.u.c HTML archives.22:12
sinzuiwe can look at the messages in the arch queue to see which are the pathological lists22:12
wgrantlifeless: Heh, slony takes 80%+? Try 98-99.5%22:14
lifelesswgrant: understate overdeliver22:14
=== wallyworld changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: wallyworld | Firefighting: - | Critical bugtasks: 4*10

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