/srv/irclogs.ubuntu.com/2014/09/30/#ubuntu-autopilot.txt

veebersthomi: when you have a moment could you take a look at this MP? https://code.launchpad.net/~veebers/autopilot/adding_timezone_timestamp_tests/+merge/23644402:15
thomiveebers: needs a few fixes02:21
thomidiff comments added02:21
veebersthomi: cool, thank you02:21
veebersthomi: ah, hmm, so the reason I use a timestamp in that test is/was to show that given a timestamp the qml app will display and provide the datetime in localtime. I'm not sure if that's still needed in the suite?02:24
thomiummm02:25
thomihow do you know that the timestamp you use corresponds to the datetime string?02:25
veebersthomi: I went from a known datetime (in UTC), generated a timestamp for it and then checked the time of that time stamp in different TZ's etc. Is that flawed?02:28
thomihmmmm02:28
thomiSo, you're trying to prove that qml doesn't know about timezones?02:29
thomiI'm not sure I understand what that test is trying to say02:29
veebersthomi: hmm, I guess the test was more for me, i.e. given an epoch and a TZ env what time will the qml date display02:32
thomiveebers: but, the TZ is irrelevant, right?02:33
thomioh, you're using the TZ env var to *prove* that the TZ is irrelevant?02:34
veebersthomi: will, when the TZ changes so does the time string displayed. So i guess irrelevant for the tests, but shows that the right time is shown for the TZ02:34
thomiwhaaa?02:34
thomiwell, that's fucked up already02:34
thomishouldn't it be the same string, always and forever?02:35
veebersthomi: I might be confused now. When using the epoch/timestamp it displays in the localtime. When using the string '2014-01-15 12:34:52' it always displays that string regardless of TZ02:37
thomi'it' being qml, right?02:37
veeberserr yeah sorry, the simple qml script there02:38
thomiwell, that is fucked up02:39
thomiso... qml applies a local timezone calculation to timestamps, but not to time strings02:40
thomiveebers: in that case, at least comment the test... at the moment I doubt anyone apart from ytou will be able to understand it in 6 weeks time :D02:41
veebersthomi: ack, will do.02:42
veebersthomi: so I'll keep them as 2 tests (referring to your diff comment)02:44
veebersthomi: MP updated02:50
thomiveebers: what about timestamps in the far future?02:51
veebersthomi: I'm not sure I understand? This is against trunk, not the large timestamp fix02:52
veebersthese tests will be used to ensure that the large datetime changes don't regress us02:52
thomiok - I thought the goal here was to fix the timestamp issues in AP?02:52
veebersthomi: that's coming, I'm taking on balloons' branch and finishing it off02:53
thomiahh, so you'll merge these in first, then, in a separate branch do the large timestamp fix?02:53
veebersthomi: yep, that;s the plan02:53
thomiahhh ok02:53
veebers(sorry I wasn't very clear on that :-P)02:53
thomiLGTM then, will approve02:53
thomiveebers: done02:53
veebersthomi: awesome, cheers02:55
thomiveebers: just FYI - when you add a card, please add a 'task' card, not a 'scoping' card02:56
thomi(to the LKKB board that is)02:56
veebersthomi: noted. I could have sworn I added a task >:-\03:10
thomi:D03:10
veebersthomi: ah I see, it was when quick adding the tasks to the main card, it defaults to scoping (didn't notice) and if you move your mouse cursor outside the dialog thingy it closes it :-\03:13
thomilol03:13
veebersthomi: hmm, can you do me a favor, can you run this test for me please? autopilot.tests.functional.test_introspection_features.IntrospectionFeatureTests.test_customised_proxy_classes_have_extension_classes03:53
thomisure03:53
thomiveebers: fails for me...03:54
thomitesttools.matchers._impl.MismatchError: <class 'autopilot.introspection.qt.QtObjectProxyMixin'> not in (<class 'autopilot.tests.functional.test_introspection_features.EmulatorBase'>, <class 'autopilot.introspection._search.ApplicationProxyObject'>)03:55
veebersthomi: yeah for me too (and for the CI run) :-\03:55
thomiwhich is interesting - it passed when we landed that code03:55
veebersI don't see it fail in this run: https://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic-autopilot/348/? (syntax error on my part), but the next CI run it failed: https://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic-autopilot/349/?03:55
thomiinteresting03:56
=== vrruiz_ is now known as rvr
=== rpadovani_ is now known as rpadovani
balloonselopio, you about?21:27
elopioballoons: I am.21:28
elopiohow can I help you?21:28
balloons:-) so I'm looking at home patching and launching again, in an attempt to finish fixing https://bugs.launchpad.net/ubuntu-filemanager-app/+bug/136745321:29
ubot5Ubuntu bug 1367453 in Ubuntu Terminal App "Security dialog causes tests to fail" [Critical,Triaged]21:29
balloonsso to that end, I just completed a merge of what andrew did to get music to work21:29
balloonsso I haven't really gut checked this much, but here: https://code.launchpad.net/~nskaggs/ubuntu-filemanager-app/fix-1367453/+merge/23662821:31
balloonselopio, ^^21:31
elopioballoons: what I don't like of this is that it is untested.21:33
elopioif it works, I'm ok with getting it merged.21:33
elopiobut we need a way to make sure that it won't break again.21:33
elopioballoons: I'm thinking of something on ubuntu-app-launch that launches the app on a temporary clean environment.21:34
elopiobut many of the details of that are unclear yet for me. We need tedg for that.21:35
balloons elopio well, what 'works' and what we want to do aren't necessarily the same. But music app trunk now has the lovely directly overwriting of the os env vars. that's how he got it to work21:35
balloonselopio, your idea sounds nice21:36
elopioballoons: yes, if this makes the file manager get back to green, +1.21:36
elopioI'm reporting the bugs for the things I mentioned on my testability email to the qa-team.21:37
elopioI'll talk to ted tomorrow to see if he agrees this is a good idea or if he has an alternative.21:37
elopioplease reply to that email if you have anything to add.21:37
balloonselopio, he spoke with andrew about it for a long time21:37
balloonsif I remember correctly, he felt like not setting the actual env vars was asking for trouble21:38
elopioballoons: I don't care about the actual way of doing it. I guess it will involve setting the env vars.21:39
elopiobut what I think it's a must is for the devs to maintain it, and to have the solution tested so it doesn't break repeateatly.21:39
balloonselopio, and this is beyond the uitk helpers yes?21:40
elopioI think that this helper should live in the ubuntu-app-launch branch. But I'm not sure of that. I'll start putting the bug there and see where the discussion leads us.21:40
balloonsa system level manner of launching an app in a clean env21:40
elopioballoons: yes. I wouldn't like it to be on uitk.21:41
elopiothere might be some arguments to put it there, but I think it must be lower level than that.21:41
elopioballoons: but I see a lot of problems. It's likely that if we launch unity on one env and the apps in another, things can behave crazy.21:42
elopioso the other topic of launching apps without unity running seems related.21:42
elopioI was going to set a call for this week as suggested by thomi, but then jfunk told me to file the bugs first, which makes sense.21:43
elopioI will send an email with the bugs to that thread, as soon as I have them.21:43
balloonselopio, I agree.. something should exist at the ubuntu-app-launch level. It's possible we have a helper in uitk that bootstraps nicely into this (and autopilot too, let's not forget!), but the heavy lifting should be in ubuntu-app-launch.21:44
balloonscome to think of it, heh, if anything I'd rather see minimal scaffolding in autopilot itself. I was ranting already about how the AP app launchers are sort of deprecated because of this (ie, they exist and 'work', but you shouldn't use them)21:45
thomiballoons: huh?21:46
balloonshey thomi .. need to watch your pycon video, sounds quite interesting21:47
veebersballoons: why shouldn't you use the ap launchers? Have I missed soemthing?21:47
* balloons should have known better than to say this on the ap channel21:47
thomiballoons: I think it's more the case that you perhaps should have said it sooner21:48
thomiif there's a problem, we need to know about it21:48
* thomi can't remember how many times he's written that in this channel21:49
balloonsOf course, I'm always keen to discuss things.. It's why we are talking about it ;-)21:50
thomiwell... we're not 'discussing' it at the moment. You mention something,a nd veebers and I are really confused :P21:50
balloonsanyways, as elopio mentioned application launching for things under test on the phablet devices have gotten quite muddled21:51
balloonsthis is a recent thing, although there have been smaller testability issues for awhile21:51
balloonsmy concern is we are doing a number of things to get our desired outcome (launch the app, pass it arguments, introspect it, have it start in a custom env (clean or setup by us))21:52
balloonsautopilot has launchers for applications that I think should be handling this sort of thing. We really shouldn't be needed to bolt on so many things21:52
thomiok, what things, specifically, are you having to 'bolt on' ?21:53
balloonsSo I'm concerned launch_upstart_application and launch_click_application aren't going to be best practice as-is21:53
thomiwhy?21:54
balloonsthomi, elopio is working on expounding things in a grokable manner per above, but see the list in parentheses. Perhaps you looking at an example might also help21:54
* thomi looks for a list in parenthesis21:55
balloonsbasically right now I am unable to easily create a clean env or pass arguments to my app21:55
elopiothomi, veebers: this is all related to the discussion I started on the mailing lists: we are doing all sorts of weird things to get a clean environment and use a test doubles for services.21:55
balloonsI was referring to (launch the app, pass it arguments, introspect it, have it start in a custom env (clean or setup by us))21:55
thomiahh21:56
thomiso, we do all those things except the env right now, AFAIK21:56
elopioballoons and I have been discussing it a lot over the previous months, and now I think it's clear the solution is not something that the two of us can implement on a test setup.21:56
balloonsthomi, for a long time the env was the only issue, but now argument passing is non-trivial21:57
balloonsand it's getting more muddled rather than clearer21:57
thomiso21:57
thomithis is frustrating for me21:57
thomifor a few reasons21:57
balloonsthis isn't to say autopilot itself isn't doing enough.. But I think the underlying platform is migrating away and not considering testability.. basically elopio's mail21:58
thomifirst, this has been happening for a few months, by your admission, but this is the first I'm hearing of it.21:58
thomiSecond, you keep making vague statements like 'getting more muddled' - I really don't know what that means21:58
thomiAFAIK, we support argument passing for upstart apps21:58
thomiwhat, exactly is missing?21:58
elopiothomi: that's the clearest example, passing arguments.21:59
balloonsthomi, here's an example from the file manager that triggered this: http://paste.ubuntu.com/8468882/21:59
balloonscheck out the launch_test_click() method21:59
elopiowe can't pass an argument to an app launched by ubuntu-app-launch, because it ignores the arguments and just runs the exec line of the desktop file.21:59
* thomi reads21:59
balloonsand consider why on earth we need to go through so much pain and code to setup an app to test21:59
elopioso we need to do a temp desktop file for the test. I hacked a way to do it and it works for evernote. Now we can copy it all over the place, or instead do it right and put a helper that handles this case on the relevant project.22:00
balloons_patch_home is also fun to read :-)22:00
elopiothomi: this has been happening for a long time, but not because we are ignoring it.22:00
elopioit started as just a nice and clean temporary overwrite of $HOME22:01
balloonsthe argument issue is recent.. it happened this month22:01
elopiothen they kept adding things that kept breaking the clean solution.22:01
balloonsit's what caused elopio and I to renew our conversations about this, as indeed things keep being broken22:01
elopioso every time they break it, we make the adjustments.22:01
balloonswe had the env issues sorted with a helper22:01
elopionow it's up to a point that's not manageable. We have been saying for a long time that tests break because devs don't plan for testability.22:02
thomiok, so in launch_test_click I don't see any issue with argument pasing. It seems to me that all this work is due to trying to set a clean environment for the app to run in - is that correct?22:02
veebersI remember seeing an email about ubuntu-app-launch not passing arguments, but not the result of it22:02
elopioit's just now that it became critical.22:02
elopiothomi: so, launch_test_click passes arguments to ubuntu-app-launch22:03
balloonsthomi, the point is launch_test_click should just be self.launch_upstart_application(22:03
balloons            application_name,22:03
balloons            emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase) right? but you can see the amount of hackery that is needed to make it happen22:03
elopioand ubuntu-app-launch ignores it, as per design.22:03
balloonsI mean launching locally or via an installed binary (not on the phone) you can see is simple22:04
veebersballoons: is "--forceAuth false" needed for all applications or just the file manager?22:04
thomiso... the complaint is that it takes a lot of code to launch the app in a sandbox, and you need to repeat that code across multiple applications?22:04
balloonsveebers, that's actually needed for file manager and terminal. but other apps need other arguments22:04
veebersIt seems that the inability to pass arguments is due to ubuntu-app-launch, not autopilot right?22:05
balloonsthomi, yes. And once completed, it breaks as the system beneath changes.22:05
veebersif ubuntu-app-launch did what we expected with arguments then launch_click would do what is needed22:05
balloonsthomi, from an AP perspective, I feel like what's happening at the platform level should incoporate better testability that autopilot can hook into22:06
thomiballoons: I agree!22:06
elopioveebers: yes, it's not autopilot's fault that ual ignores arguments.22:06
veebersballoons: I agree too (I think we can all agree with that)22:06
balloonsthomi, I'm sure.. That was all I was getting at. I simply don't want you to be left behind in this either22:06
balloons"you" as in autopilot22:07
thomiCan someone point me to the ML thread where id's discussed that libUAL ignored arguments by design?22:07
elopiothe problem is that it's also not ual's fault, because it should just pay attention to the desktop file.22:07
thomielopio: sez who?22:07
thomielopio: that seems like a silly idea to me22:07
thomielopio: not being able to launch an app with a command line parameter seems like a bad move22:08
elopiothomi: the devs. This is not a discussion on the ML, this is a bug report.22:08
elopiolet me look for it.22:08
elopiothomi: that's what I thought at first.22:08
elopiowhat I think now is that the passing of arguments or not is not the problem.22:08
elopiothe problem is that the devs were not thinking of the automation needs.22:08
balloonsright ^^ it's a symptom of a growing issue22:09
elopioI don't care if the solution is to pass an argument, or create a temporary desktop file.22:09
elopioas long as it's a simple call I can do from anywhere, and it22:09
elopioit22:09
elopioit's safe to use always because they keep it up-to-date, I'm happy.22:09
balloonswe've had this time and again.. reminders went through it with the account console stuff, clock and calendar suffer via EDS, and now we have PAM, which again has no testability in mind22:09
elopiothomi, veebers: https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/136787122:10
ubot5Ubuntu bug 1367871 in Ubuntu UI Toolkit "ubuntu-app-launch doesn't pass arguments to the executable" [Undecided,New]22:10
balloonsthe reason we are passing the arg is because we can't actually test PAM properly22:10
balloonsso we are just disabling it via a switch and running the tests the old way.22:10
balloonsbut I digress22:10
thomihmmm22:14
thomiok, I've read the bug22:14
thomiballoons: elopio: so, if the write_sandbox_desktop_file were a reusable fixture that lived in autopilot, would you be happy?22:15
thomi(to fix this specific issue)22:15
balloonsso to be clear, nothing I'm spouting on about is a bug whose source is in autopilot. It's merely things that affect test authors and by extension autopilot22:15
elopiothomi: no. The devs convinced me that for that particular case, we need a second app that's called evernote-sandbox.22:16
thomiballoons: I understand, I'm talking with my 'QA tech lead' hat on22:16
elopiofor other cases, yes. A helper that rewrites the desktop file of the app to add extra parameters to the exec line would make me happy.22:16
balloonsthomi, on that specific issue, if write_sandbox_desktop_file is the 'official' way to do it, then yes. But my expectation as a test author is that you would hide that complexity from me unless needed22:16
balloonsso if later the platform decided to pass arguments directly again, my code doesn't change and my tests don't break22:17
balloonsdo you feel architecturally that this abstraction should be in autopilot?22:18
elopiothomi: but then you are linking that to all the rest of the problems22:18
thomiballoons: well, we already have that code in AP, just not in the public API22:18
elopiowhere will that desktop file live? In /tmp?22:18
elopiothen you hit problems with unity, ual and app armor.22:18
thomiI don't recall the specifics, sorry22:18
balloonsahh yes, lovely app armor..22:18
elopiothus, the subject of the thread.22:19
balloonsthat was a ton of fun in malta22:19
balloonsuntil they broke it :-)22:19
thomiso, I think we're going in circles here22:19
elopiothomi: we are. That's why I listed the main problems balloons and I have had, and I am going to report bugs for them22:19
elopioand then schedule a meeting. And then plan who and how to fix them.22:20
thomielopio: right. please make sure I'm included22:20
balloonselopio, I need to get the security issues in there too. I don't believe those are well represented atm22:20
thomielopio: and please do it before the sprint22:20
elopioI expect the answer to "who?" would be: "not the QA team".22:20
elopioballoons: yes, please reply to the mail. I think I didn't take into account the terminal and filemanager cases explicitly.22:20
elopiothomi: and of course you will be invited to the party. As I said, I haven't scheduled the meeting yet because I need to collect and report bugs.22:21

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