[11:39] <jalcine> Which sound server should I develop with if I'm targeting Ubuntu?
[11:39] <jalcine> Alsa or Pulse?
[11:39] <jalcine> Or rather, should I let GStreamer handle that?
[12:41] <jo-erlend> jalcine, letting GStreamer handle it, sounds correct to me.
[12:41] <jo-erlend> otherwise, I'd go with PulseAudio.
[17:45] <aquarius> mterry, ping
[17:46] <mterry> aquarius, heyo.  in a meeting now
[17:47] <aquarius> mterry, no rush. Shall list the question and you can answer or not at your leisure ;)
[17:48] <aquarius> mterry, quickly has tests now (yay!). I've been fixing up the ubuntu-flash-game template (it needs to use gtk2, tragically, because that's what flash is linked against). I'd like to write a test that confirms that flash loads correctly (so that the test will break if someone modifies the code to use gi.repository without testing that that works, for example), but that would make the test suite depend on flas
[17:48] <aquarius> hplayer. Is that a no-no? Do you have any suggestions for what I might do in that situation?
[19:37] <mterry> aquarius, heyo
[19:37] <mterry> aquarius, yeah, I realized that flash-game template i think is broken on 12.04?
[19:37] <mterry> Because it uses pygi but doesn't specifically request GTK 2
[19:38] <mterry> aquarius, having the test suite depend on flash is OK I think...  it'd mean developers of quickly itself need to install it and added as a build-dependency
[19:38] <mterry> is flash still in univerese?
[19:38] <mterry> or just partner
[19:39] <mterry> hrm, multiverse
[19:39] <mterry> aquarius, nope, it might be a problem after all
[19:40] <mterry> aquarius, it can be added as a test that doesn't get run automatically.  we don't have easy support for that right now I think
[19:40] <mterry> aquarius, and before release, I can just run it manually
[19:40]  * mterry waits
[19:43] <aquarius> mterry, hey, sorry, was getting tea :)
[19:43] <aquarius> mterry, so, in order
[19:43] <aquarius> 1. is it possible to use pygi and request gtk2?
[19:43] <aquarius> I've just changed it to use the old static bindings
[19:44] <mterry> aquarius, yes, let me rediscover syntax
[19:44] <aquarius> but obviously it'd be better to still use pygi :)
[19:44] <aquarius> 2. I am fine with creating the test however you'd like me to
[19:44] <aquarius> my thought was this: have a test which creates an
[19:44] <aquarius> creates a flash-game app, wrapping a tiny swf
[19:45] <aquarius> and have that swf just return a value to javascript
[19:45] <aquarius> and have the javascript console.log its success
[19:45] <aquarius> so that "running the test" would just check for that success log... so it'd be entirely non-interactive
[19:46] <aquarius> except that the test would obviously require all the bits to work, so you'd need flash, you'd need X in order to create the webkit window, and so on
[19:46] <aquarius> and these things are not conducive to automatically-run tests on some headless QA server somewhere, hence me asking about it ;)
[19:46] <mterry> aquarius, before importing Gtk, call gi.require_version("Gtk", "2.0")
[19:47] <mterry> aquarius, sure, I'd love to see the test, but ideally you'd add it *as well as* a way to run any manual tests in the tree too, ala the current automatic test framework, if that makes sense
[19:48]  * mterry looks at aquarius
[19:48] <aquarius> it does make sense
[19:48] <mterry> that's a lot of work just to add one test
[19:48] <aquarius> I don't actually understand the current framework (it's all bash!)
[19:48] <aquarius> but I can probably work it out
[19:48] <mterry> aquarius, the current framework is magic
[19:48] <aquarius> indeed it is
[19:48] <aquarius> :)
[19:48] <aquarius> undocumented magic, to boot :P
[19:48] <aquarius> which is the best kind :)
[19:49] <mterry> aquarius, if it's looking like a bundle of work, just add a manual test that doesn't get run by the automatic suite and I can remember to run it before release
[19:49] <mterry> aquarius, it's self documenting!
[19:49]  * aquarius gives mterry a fishy look
[19:49] <aquarius> if I can understand the test framework well enough to add a generic "run manual tests" thing, I shall do so
[19:51] <aquarius> hrm
[19:51] <aquarius> import gi
[19:51] <aquarius> gi.require_version("Gtk", "2.0")
[19:51] <aquarius> from gi.repository import WebKit, Gtk, Gio
[19:51] <aquarius> gi.RepositoryError: Requiring namespace 'Gtk' version '2.0', but '3.0' is already loaded
[19:51] <aquarius> ah, maybe I need to do gtk first.
[19:52] <aquarius> ah, again
[19:53] <aquarius> mterry, how do I find out which version of webkit corresponds with gi's Gtk 2.0?
[19:53] <aquarius> although I fear there will be no success here...
[19:53] <mterry> aquarius, I believe it's 1.0
[19:53] <mterry> aquarius, there are two of them, 1.0 and 3.0
[19:53] <aquarius> ValueError: Namespace WebKit not available for version 1.0
[19:54] <mterry> aquarius, install gir1.2-webkit-1.0
[19:54] <aquarius> aah
[19:54] <mterry> aquarius, which will need to be added to the dependency list of the quickly package
[19:54] <aquarius> that'll cheer people up.
[19:54] <mterry> aquarius, this should be SRU'd too
[19:54] <aquarius> yay! that fixes it.
[19:56]  * mterry thinks it is criminal that gi.repository does not require a version -- users will have all sorts of broken packages as soon as Gtk-4.0 comes out
[20:09] <aquarius> mterry, finger in the air guess: how long would you expect the test suite to take to run?
[20:09] <mterry> aquarius, forever
[20:10] <mterry> aquarius, it is slower than you think
[20:10] <aquarius> and do I run it with tests/run.sh ?
[20:10] <mterry> yup
[20:10] <aquarius> ah, it's supposed to take ages, got it
[20:10] <mterry> over 10 minutes
[20:10] <aquarius> I ran it yesterday and aborted it 'cos I thought it was broken :P
[20:12] <aquarius> christ on a hula hoop, the test suite runs a shell script and then parses that very same shell script for comments to get the expected output?
[20:13] <aquarius> what evil impulse caused you to write this rather than just using nosetests or something? :)
[20:14] <aquarius> actually, no, I lie, it creates a shell script on the fly which runs a shell script and then parses the script for comments to get the expected output
[20:14] <aquarius> mterry, this is weird magic :)
[21:01] <aquarius> mterry, ping
[21:01] <aquarius> oh, darn, he's gone
[21:05] <ajmitch> aquarius: I think you scared him off with your 'weird magic' comments
[21:06] <aquarius> I fear so
[21:06] <aquarius> have dropped him an email
[21:27] <aquarius> mterry, re :)
[21:27] <aquarius> mterry, sorry if I was offensive about the quickly test suite :)
[21:27] <mterry> aquarius, no!  not at all.  It's dog-slow and terrible
[21:28] <mterry> You were arguably not offensive enough
[21:28] <aquarius> I don't mind it being dog slow, I just mind it being weird enough that I don't understand it enough to fiddle with it ;)
[21:28] <aquarius> see email for complaint number 1: it hangs forever if you haven't authed launchpadlib, and I don't know how to check in the test suite whether that's done and fail the test if it isn't ;)
[21:29] <mterry> email?  i don't have my email client open...  why is that...
[21:30] <mterry> That was a couple hours of undistracted bliss
[21:30] <aquarius> I assume it's not open so that you can get some work done
[21:30] <aquarius> I noticed that this was the case and decided to put a stop to that by bothering you about test suites :P
[21:33] <mterry> aquarius, if you're having troubles with existing suite, don't stress it.  just add a new test somewhere that tests what you want.  It doesn't even have to be same format as rest of tests right now
[21:33] <mterry> aquarius, test suite is known to be a little crazy
[21:33] <aquarius> oh, OK. I was trying to be a good boy and integrate :-)
[21:34] <mterry> Despite being blase about it, I would rather have a nice robust test suite
[21:34] <mterry> But eh
[21:34] <mterry> aquarius, I appreciate it!  But it's not worth consuming your life to make the suite sensible
[21:34] <aquarius> on the launchpadlib thing... I don't believe there's any sensible way to conditionally skip a test right now, correct?
[21:51] <mterry> aquarius, not now
[21:51] <aquarius> cool, OK
[21:51] <mterry> aquarius, move it out of the way?
[21:51] <aquarius> that's my plan, so I can run the test suite; just checking there's not a smarter way :)
[22:17] <aquarius> mterry, ping; I fear I need bash instruction. What does &> do?
[22:18] <mterry> aquarius, you mean >&?
[22:18] <aquarius> nope
[22:19] <mterry> aquarius, OK, then it is two statements:  one is the & which backgrounds the process and one is >, a redirection of standard out
[22:19] <aquarius> I thought that a line in a sourced bash script "somecmd &> output.log" was the same as "somecmd & > output.log", that is, it'd run somecmd in the background and redirect the output
[22:19] <mterry> aquarius, yeah.  it's not?
[22:19] <aquarius> but then I do not understand why source blocks until the command finishes running.
[22:19]  * mterry needs bash instruction too
[22:19] <aquarius> line 75 of one-test.sh in quickly/test :)
[22:19] <mterry> aquarius, oh, that's likely because the test suite is *insane*!
[22:19]  * mterry looks
[22:19] <mterry> We do some weird things with backgrounding
[22:20] <aquarius> if I source a script with content "sleep 5 &" then the source command finishes immediately (i.e., it's not blocking waiting for the sleep)
[22:20] <aquarius> if I source a script with content "sleep 5 &> output.log" then the source blocks and doesn't finish for 5 seconds
[22:21] <aquarius> this is contrary to what I think ought to happen, so clearly I misunderstand somehow ;)
[22:21] <mterry> aquarius, oh oh oh, this might be shorthand for redirecting both stdout and stderr
[22:21] <aquarius> so "&>" and "& >" are totally different things>?
[22:21] <aquarius> bloody bash
[22:21]  * mterry recalls that
[22:21] <aquarius> "&>" is obviously completely ungoogleable ;-)
[22:21] <mterry> aquarius, yeah think so.  let me test
[22:22] <mterry> yup
[22:22] <mterry> aquarius, sorry, forgot about that oddity.  :)  I had assumed bash was sane for a second too
[22:24] <aquarius> cool
[22:25] <aquarius> thanks :)