Closed Bug 1319525 Opened 9 years ago Closed 4 years ago

decide whether or not to run some tc win tests as admin

Categories

(Release Engineering :: General, defect)

x86
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INACTIVE

People

(Reporter: grenade, Unassigned)

Details

this bug doesn't exist to say that tests must run as admin, but instead to track which windows tests are blocked from being greened by that requirement. proposals on how to work around the requirement are also welcome here as are arguments against running tests as admin. at least tests that make use of c:\mozilla-build\python\Lib\socket.py require administrator privileges (see https://bugzilla.mozilla.org/show_bug.cgi?id=1319453#c2). there may be other reasons a test requires admin rights. as we determine which tests require admin, we can add them to the block list on this bug. if we decide to allow these tests to run as admin, we need to add the scope `generic-worker:os-group:Administrators` to moz-tree:level:1, moz-tree:level:2 and moz-tree:level:3 and add the following lines to the test definition in taskcluster/ci/desktop-test/tests.yml: os-groups: by-test-platform: win.*: - Administrators
right now just about every test will require admin as we use Marionette to bootstrap reftest, mochitest, web-platform-tests and of course the marionette jobs. That leaves only a few jobs not in this bucket: xpcshell gtest cpp jit talos? (although at least xperf requires admin) possibly some of the xpcshell tests will require admin.
To say that all users of the Python socket library requires administrator/root access is incorrect. Unless you start a socket server in the non-ephemeral port range, you don’t need escalated privileges. We spawn a lot of sockets of various nature (ranging from HTTPDs from wptserve to TCP sockets for Marionette) and the large proportion of these don’t require extra privileges for binding. We do however define the ports manually in many cases, i.e. we always bind to port 2828 for the Marionette server in Gecko, and a better long-term solution would be to delegate the port allocation to the system by binding to port 0 and communicating the bound port via IPC, or to use Unix domain sockets. Can you elaborate what sort of tests/harness that require administrator privileges on Windows (but not Linux)?
i'm certainly not an expert on sockets programming. i will admit to being influenced by reading this: https://tangentsoft.net/wskfaq/advanced.html
(In reply to Andreas Tolfsen ‹:ato› from comment #2) > server in Gecko, and a better long-term solution would be to delegate the > port allocation to the system by binding to port 0 and communicating the > bound port via IPC, or to use Unix domain sockets. Yeah, this might be an idea and is covered by bug 1240830. Maybe we have to give this bug a higher priority?
i was wrong. the marionette tests problem turned out to not be related to requiring admin privileges, so i have removed the dependency link.
No longer blocks: 1319453
Component: General Automation → General

as we determine which tests require admin, we can add them to the block list on this bug.

0 blocking bugs 5 years later; has this bug outlived its usefulness?

Flags: needinfo?(rthijssen)

just talos-xperf as far as I know, this runs in Azure right now, not on hardware.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INACTIVE
Flags: needinfo?(rthijssen)
You need to log in before you can comment on or make changes to this bug.