/srv/irclogs.ubuntu.com/2008/08/07/#ubuntu-testing.txt

aracr3, morning :-)14:45
cr3ara: hi there14:46
aracr3: we didn't finish yesterday's discussion about the root/non-root issue with hwtest + ldtp14:47
cr3ara: it seems that hwtest should be running as non-root and using (gk)sudo to bump privileges on a per test basis14:49
cr3ara: that should enable your desktop tests to run out of the box14:50
aracr3: that's ok for me (for ldtp tests). i.e. for update-manager tests I use gksu to install things14:50
cr3ara: that should work as well14:50
cr3ara: leveraging the usability of gksu, the user should only be prompted the first time such privileges are required14:51
aracr3: yes14:51
cr3ara: one problem that I've yet to solve is when this is required for automated tests. maybe I can do a first pass, check if any automated tests might need it, then prompt before starting to run the automated tests14:51
aracr3: that might work, yes14:52
cr3ara: but, if an automated test takes more than 5 minutes which is the default delay for gksu I think, then the usability starts sucking bad :(14:52
aracr3: can you give me upload permissions to lp:ubuntu-desktop-testing/packaging?14:53
aracr3: I will need to merge changes from time to time14:53
=== smb_tp_ is now known as smb_tp
cr3ara: I changed the owner to hardware-testing, to which I have made you a member. so, you should now have commit privileges14:57
arata!14:57
aracr3: in case that you want to document the ldtp+hwtest progress: https://wiki.ubuntu.com/Testing/Automation/LDTP/IntegrationHwtest15:01
aracr3: i know you love it... :-P15:01
cr3wikis are my friend, I keep trying to convince myself15:02
stgraberhey there15:23
cr3stgraber: salut quebec!15:31
cr3schwuk: how insane do you think it would be to map all hal subsystem namespaces to individual tables: http://people.freedesktop.org/~dkukawka/hal-spec-git/hal-spec.html#properties-subsystem15:32
persiacr3: That can't be part of standard normalisation procedures.  Are you sure you'll be able to find everything later?15:55
cr3persia: "find everything"? what do you mean?15:55
persiacr3: When later collecting the data, if everything gets put in different subsystem tables, I'd suspect you'd find issues with the less common devices.15:56
persiaThen again, for optimisation purposes, depending on your client code, it may be the most efficient means to write the data, which is probably your performance bottleneck (rather than read)15:58
cr3persia: each device has "info" properties, so they will all at least appear in that table15:58
persiacr3: Hmm.  I suppose.15:59
cr3persia: additional information might be stored in other tables which can be searched if there is specific interest for it15:59
persiaAh, that works for the odd device situations.16:00
cr3persia: exactly, like pci and usb will most certainly be of specific interest so that specific interest will be searched as well16:00
schwukcr3: in principal, I like the idea. It would be easy to implement in code (polymorphism FTW!), but I'm not seeing how it would be implemented in SQL, other than each row having bunch of 'possible' FK columns, which would be populated for the appropriate device type.16:01
cr3so: 1. we avoid a generic properties table of arbitrary key/value pairs; 2. we don't loose any information by using subsystem specific tables.16:01
* schwuk needs to look into polymorphism in Storm16:01
persiacr3: Do note that there are physical devices that connect to *both* pci and usb :)16:01
cr3schwuk: I think I have that problem solved, you'll be given some device object which magically has the appropriate properties available based on the subsystem16:02
persia(actually, I've only see this for dual-slot front-loading CardBus-compliant PCMCIA ports for workstations, but there might be others)16:02
cr3persia: this is going to be fun!16:03
sorenpersia: Yes, they're called usb host adapters..16:03
persiasoren: Do those expose HAL events in both subsystems?16:03
cr3soren: hey dude! you never received my letter, did you?16:03
sorencr3: I didn't :(16:03
schwukcr3: I don't believe in magic.16:03
cr3soren: the dogs must've smelled the house specicial chicken on the letter :(16:04
sorenpersia: I imagine so.16:04
cr3schwuk: how do you think plugins work in hwtest? :)16:04
schwukcr3: heh16:04
sorencr3: Yeah. I was really looking forward to dissecting it and try to reproduce it.16:04
* davmor2 produces a bunch of flowers from thin air ta ra16:05
persiaAh, indeed, as usb_device contains the information on the root hubs.16:05
schwukcr3: So the act of retrieving a device from the database will automagically retrieve the various properties from the relevant namespace?16:08
* schwuk believes in automagic16:08
davmor2schwuk: do you not see the flowers I thought that was pretty impressive magic ;)16:08
schwukcr3: I can see that working. Not as elegant as Storm supporting multiple tables for an object, but it would work. It's just a bit more code.16:09
schwukdavmor2: not as impressive as the Joker's disappearing pencil trick :)16:10
davmor2I've not seen dark knight maybe I should :)16:10
schwukdavmor2: It's a must see, but only for the Joker. The rest is so-so.16:11
davmor2:)16:11
davmor2so was the first one :)16:11
cr3schwuk: right16:11
schwukTalking of magic the Pixar short before Wall-e is brilliant.16:12
davmor2Jack Nicholson made it :)16:12
schwukcr3: And the same approach for creating objects works. We just have to make sure Device.type is a valid value before proceeding.16:12
schwukor rather Device.subsystem16:13
cr3schwuk: exactly, so the concern is no longer the usability of the interface but the maintainability of so many tables16:14
schwukcr3: But that means we're not letting our RDBMS manage our relations anymore. That is A Bad Thing(TM).16:15
cr3schwuk: this is what all the tables are looking like so far, and I'm not nearly done with functional properties which I'm still debating whether we should use 'em: http://people.ubuntu.com/~cr3/device.txt16:15
cr3schwuk: the device.subsystem is only used in the application layer to determine the class to instantiate, the relation between subsystem information is still stored relationally in the database16:16
schwukcr3: Not that I can see in the file you shared. There's nothing linking e.g. pci with info.16:19
cr3schwuk: right, I need to find a name for "id" because that name is already used by hal16:19
schwukbut how will the "id" differentiate between, say, pci and usb devices?16:22
cr3at this point, I'm simply mapping stuff from the 0.5.12 specification to straight sql. I first want to assess how insane the database will look16:22
cr3schwuk: by using the info.subsystem?16:24
cr3crap, perhaps I should have a foreign key for each possible subsystem... I need a smoke16:26
schwukcr3: That's what I was getting at earlier.16:26
cr3schwuk: yeah, I was thinking the other way around: the subsystem would have a key to the info table. doesn't work though16:27
schwukinfo.subsystem will be string (pci, usb etc.) - it won't relate to a specific row in the relevant subsystem table.16:27
schwukcr3: want me to ring while you have a smoke?16:28
cr3schwuk: well, I was thinking that the subsystem table would have the id of the info table, so it could relate to that. this could actually work if I set the info_id in each subsystem table to be unique!16:28
cr3schwuk: capital idea! give me a minute16:28
schwukbut can you express that as a relation in SQL?16:28
steve555Hi everyone22:52
=== apachelogger_ is now known as apachelogger

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