mozilla :: #ateam

8 Aug 2017
09:37jgrahamwhimboo: The parameter U needs to be defined as WebDriverExtensionRoute + Debug
09:37whimboothen I always get Debug not in scope
09:38whimbooi'm on rust nightly
09:40whimboosame with stable
09:40whimboojgraham: so is there something to include to be able to use `+ Debug`?
09:53jgrahamwhimboo: You have to use std::fmt::Debug, but it ends up requiring the bounds in a lot of places. Probably not worthwhile.
09:59whimboojgraham: hm k, so you would suggest leaving it out for now?
10:00jgrahamYEs
10:10whimboojgraham: k, so the latest code is uploaded if you want to have another look
10:16whimboojgraham: thanks
10:47whimbooAutomatedTester: so I'm trying to use self.driver.install_addon("test.xpi") from a selenium test
10:47whimboobut I get 'WebDriver' object has no attribute 'install_addon'
10:47whimboohow that when it is available here: https://github.com/SeleniumHQ/selenium/blob/master/py/selenium/webdriver/firefox/webdriver.py#L233
10:48whimbooI have selenium==3.4.3 installed
10:53whimbooAutomatedTester: wow. we haven't released since May
10:54whimbooso the code isn't in a release
10:54whimboomind doing us a favor and releasing a new version of the Python bindings?
11:57jgrahamwhimboo: BTW if you are looking for webdriver-rust bugs to work on, there's a lot of trivial cleanup to make us pass clippy
11:57whimboojgraham: i'm more working towards proxy compat right now
12:00jgrahamOk
12:38davehuntjgraham: do you think it's okay for mach python-tests to rely on the version of six vendored via web platform tests? it appears that's how it's currently working for me locally
12:39jgrahamdavehunt: I mean that's not going anywhere, but it seems unusually confusing
12:42whimboojgraham: heh... what scheme is that? :)
12:42whimboohttps://github.com/mozilla/webdriver-rust/blob/master/src/capabilities.rs#L206
12:42whimbooI have never seen a ::/ but always a ://
12:42whimboolooks like a typo our tests in the same file do not catch
12:43jgrahamwhimboo: Yeah, looks like a typo
12:43davehuntjgraham: that was my feeling, I'll get it officially vendored in
12:47atowhimboo: Let me know when youve made all the changes to the webdriver crate that you need, and I can release a new version and do the upgrade in m-c.
12:50whimbooato: just upgrade and don't wait for me
12:50whimbooi would better have a compatible version
12:51atoOK, Im going to push a new version.
12:51whimboothanks
12:58davehuntjgraham: if I vendor in six, does that mean the web platform tests will use the vendored in version instead?
13:00jgrahamdavehunt: I hope not, but maybe?
13:03davehuntI'll be adding it to the virtualenv_packages.txt, so there will be two versions of six in there
13:03davehuntI'll raise a bug to get it vendored, and ask there
13:09AutomatedTesterwhimboo: a release of Selenium bindings is waiting for all the project to release
13:09AutomatedTesterwhich should hopefully happen today
13:09whimbooah, great. thanks
13:09whimbooAutomatedTester: so we release everything at once then?
13:10whimbooto ensure all bindings have the same version and release date
13:10AutomatedTesteryes
13:10AutomatedTesteronly bug fixes for a binding can be done out of band
13:12whimbooi see
15:26Callekahal: ping, re: yamllint
15:27Callekahal: https://bugzilla.mozilla.org/show_bug.cgi?id=1387862#c17 -- basically I want to support the yamllint config files in tree, at various parent dir's for the use-case. https://yamllint.readthedocs.io/en/latest/configuration.html is what I have to work with
15:27bugbotBug 1387862: Lint, normal, bugspam.Callek, NEW , We should have CI Lint YAML files in the tree
15:29Callekadded pain because the -d specification to pass configuration via command line is the only way to specify any excludes, and config file can be passed in via 'extends' in the config file, but afaict must be abs path
15:30* Callek is open to whatever you want to do here -- not sure what the right solution is
15:34ahalCallek: ah ok.. so what flake8 does is pretty bad.. it&#39;ll only pick up the config if you run |mach lint| without paths, or |mach lint <path/to/dir/containing/.flake8>
15:35ahalbut if you run |mach lint <path/to/dir/containing/.flake8/subdir>| it won&#39;t work
15:35Callekahhh.... hrm
15:35ahalI&#39;ve thought about just not supporting subdir .flake8 files until we can figure something out (which likely requires an upstream fix)
15:35ahalbut people have added some in already
15:36Callekmaybe &quot;find_config_recursive(path)&quot; that aborts when it reaches topsrcdir?
15:36ahalI don&#39;t know how yamllint works though, it might be better
15:37ahalCallek: yeah, that would work (though ideally we&#39;d add upstream support for our use case)
15:37ahalit&#39;ll be slow though if we need to do that for every .py file in-tree
15:37Callekahal: yea, I think upstream fixing would be best, but I&#39;m not certain the authors responsiveness or release cadence, so I figured it would be useful.
15:38Callekahal: in my case, I&#39;m thinking for yamllint, and maybe we cache the found config files
15:38ahalCallek: yeah, I&#39;ve been having discussions with him, he&#39;s been a bit reluctant to land something like this
15:38ahalCallek: if you want to land what you have for yamllint and file a follow-up, I&#39;d be fine with that
15:38ahalCallek: though, take out the hack around the &#39;exclude&#39; config
15:38ahalthat&#39;s to work around a bug in flake8
15:39Callekahal: o, ok. I&#39;ll update for your comments and resubmit, then file a followup bug, about optimizing how we find the config vars
15:39ahal(though also, if we aren&#39;t using sub-configs for yamllint, it might be fine to just not support it for now)
15:39Callekwell I added a config in taskcluster/
15:39ahalah, ok
15:40ahalCallek: you could land it at topsrcdir/ though if it should apply everywhere
15:40Callek(it doesn&#39;t pass with default yamllint config right now, but I didn&#39;t want to bulk-edit the directory right now)
15:40ahalok, makes sense
15:40ahaljust be aware that running ./mach lint taskcluster/taskgraph won&#39;t pick it up
15:40ahal(or taskcluster/ci rather)
15:42Callekahal: something else I thought of, `./mach lint -l yamllint ..` or `./mach lint -l yaml` I have it as yamllint right now
15:42atowhimboo: I think I need to revisit fullscreen, maximize window, and set window rect commands again.
15:42atowhimboo: I keep finding problems with them on Linux.
15:42whimbooato: as long its only in Marionette...
15:42atowhimboo: Because we dont run these tests on Windows, I dont exactly know if they are more stable there, but I would assume they are.
15:42ahalCallek: personally I prefer &#39;yaml&#39;, though I didn&#39;t say anything since the tool is actually called &#39;yamllint&#39;
15:43ahalthough a file called yaml.yml also looks weird :p
15:43Callekahal: I&#39;m happy to go with what you prefer here (since I don&#39;t have a strong preference)
15:43atoI examined m-c for window resize tests and sizemodechange tests, and theyre all disabled on Linux
15:43ato.
15:43ahalI&#39;ve also been meaning to add support for aliases (so the linter name doesn&#39;t get taken from the file name)
15:44Callek(this was me scratching an itch, rather than having a pressing need to do it)
15:45ahalCallek: I appreciate it! Nice to see new linters being added, the more the merrier
15:45Callekahal: so final chance, &quot;yaml&quot; is what you prefer? (and yaml.yml)
15:45ahalyeah, I think so
15:46ahalto me the dev facing UX is the most important factor (i.e --linter yaml vs --linter yamllint)
15:46ahalwe can always rename the file once aliases are supported if we want
15:47whimbooato: wonderful
15:50Callekwfm
15:56whimbooato: would https://bugzilla.mozilla.org/show_bug.cgi?id=1387380 need updates to teh client bindings?
15:56bugbotBug 1387380: Marionette, normal, ato, RESOLVED FIXED, Remove capabilities negotiation from Marionette
15:56whimboopeople see issues
15:57whimboohttps://gist.github.com/barancev/bf99c3d49045025dbb02763a055dfe59#file-gistfile1-txt-L87-L89
15:58whimboohttps://gist.github.com/barancev/bf99c3d49045025dbb02763a055dfe59#file-gistfile1-txt-L216-L218
15:58whimbooato: specifically page load stategy
15:58whimboorequested was none but returned is normal
16:05atowhimboo|dinner: If you dont specify pageLoadStrategy, i.e. its missing, its supposed to default to &quot;normal&quot;.
16:06atowhimboo|dinner: Oh I see in your second paste that somethings wrong.
16:07atoThe input from the client looks OK.
16:09whimboo|dinnerato: yeah was athe wrong pastebin
16:09whimboo|dinnerato: i wont be really around today. could you have a look at this?
16:09atoSo its supposed to hit https://searchfox.org/mozilla-central/source/testing/marionette/session.js#405-417.
16:09whimboo|dinnerinterstingly our unit tests are passing
16:10atoSure, I can have a peek.
16:10atoDid someone report a bug?
16:10whimboo|dinnerno, mentioned it in #selenium
16:10atoOK, thanks. Ill have a look.
16:10whimboo|dinnerit was barancev
16:11atoIts good our users are testing with Nightly (-:
16:13whimboo|dinnerato: so looks like a fallout from bug 1387380
16:13bugbotBug https://bugzilla.mozilla.org/show_bug.cgi?id=1387380 Marionette, normal, ato, RESOLVED FIXED, Remove capabilities negotiation from Marionette
16:13whimboo|dinnerwe need wdspec tets for capabilities
16:13atojgraham wrote some, but I dont think they ever landed )-:
16:14atoI will look into this.
16:16jgrahamThey didn&#39;t
16:22atowhimboo|dinner: I see the problem. The Marionette Python client sends {sessionId: , capabilities: <dict passed to new_session>} and Marionette reads off capabilities, but geckodriver just sends the capabilities object.
16:22atoWell shit.
16:22atoI thought I had a clever backwards compatible fix.
16:23atoI guess I can fix the Marionette Python client and Firefox because we dont really need the sessionId thing.
16:23atoThen that will let us be compatible existing geckodrivers.
16:50atowhimboo|dinner: https://bugzilla.mozilla.org/show_bug.cgi?id=1388424
16:50bugbotBug 1388424: Marionette, normal, ato, ASSIGNED , Capabilities from geckodriver are not recognised since bug 1387380
17:03whimboo|dinnerato: at worst we have to backout the other patch
17:03atowhimboo|dinner: We dont have to back out the other patch, Ive patched it so that Marionette picks up the right capabilities object.
17:04whimbooMarioentte server you mean
17:04whimboogreat
17:04atoThats right.
17:04atoThe other patch is only in Nightly, so it should be okay.
17:05atoIt does mean we have to get rid of the sessionId field we use to maintain the session ID for in-app restarts, but I never quite understood why we did that in the first place.
17:06whimbooyeah, lets kill that
17:06whimboonew process -> new session id
17:07whimbooato: btw i didn&#39;t add this feature to reuse it
17:07whimbooi just used it because it was available :)
17:08atoI think maybe we added it for some B2G reason TBH.
17:08atoI cant quite remember why though.
17:09whimboor+
17:10atoIm going to go with that r+ and we can back everything out if AutomatedTester disagrees.
17:11whimbooato: i doubt he will. it all sounds sane
17:11atoWill wait for tests though.
17:11whimboosure
17:13atoel.get_property(&quot;value&quot;) on <input type=file> returns an empty string, but if I check the value in devtools it is correct.
17:13atoI wonder if this is because the content frame script acts on a different privilege.
18:15atowhimboo: Are you sure we should handle popstate for navigation in WebDriver?
19:27erahmwhimboo: so marionette.close() throws an exception after closing the first tab
20:38KWiersoarmenzg_afk: thanks for filing those action tasks bugs :)
22:46RyanVMahal|afk: so, how would I use |mach try fuzzy| to run all reftests but *not* jsreftests?
23:30jryansahal|afk: used try fuzzy today, it was neat :)
9 Aug 2017
No messages
   
Last message: 13 days and 13 hours ago