Closed Bug 1670169 Opened 7 months ago Closed 7 months ago

./mach web-platform-tests busted

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(firefox83 fixed)

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: jya, Assigned: glandium)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Just rebased on top of today's central.

./mach web-platform-tests no longer works.

$ ./mach web-platform-tests --include=webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
 0:00.07 INFO Skipping manifest download because existing file is recent
 0:04.79 mozversion INFO application_buildid: 20201009165210
 0:04.79 mozversion INFO application_display_name: Nightly
 0:04.80 mozversion INFO application_id: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
 0:04.80 mozversion INFO application_name: Firefox
 0:04.80 mozversion INFO application_remotingname: firefox
 0:04.80 mozversion INFO application_vendor: Mozilla
 0:04.80 mozversion INFO application_version: 83.0a1
 0:04.80 mozversion INFO platform_buildid: 20201009165210
 0:04.80 mozversion INFO platform_version: 83.0a1
 0:05.66 INFO Using 1 client processes
c:\Users\jyavenard\.mozbuild\_virtualenvs\mach_py2\Scripts\python.exe: can't open file 'main_file_name = 'mach'
main_module_name = 'mach'
import imp
import os
import sys
orig_find_module = imp.find_module
def my_find_module(name, dirs):
    if name == main_module_name:
        path = os.path.join(dirs[0], main_file_name)
        f = open(path)
        return (f, path, ('', 'r', imp.PY_SOURCE))
    return orig_find_module(name, dirs)
# Don't allow writing bytecode file for the main module.
orig_load_module = imp.load_module
def my_load_module(name, file, path, description):
    # multiprocess.forking invokes imp.load_module manually and
    # hard-codes the name __parents_main__ as the module name.
    if name == '__parents_main__':
        old_bytecode = sys.dont_write_bytecode
        sys.dont_write_bytecode = True
        try:
            return orig_load_module(name, file, path, description)
        finally:
            sys.dont_write_bytecode = old_bytecode
    return orig_load_module(name, file, path, description)
imp.find_module = my_find_module
imp.load_module = my_load_module
from multiprocessing.forking import main
main()
': [Errno 2] No such file or directory
 0:05.71 INFO Closing logging queue
 0:05.72 INFO queue closed
Error running mach:

    ['web-platform-tests', '--include=webrtc/RTCRtpReceiver-getSynchronizationSources.https.html']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file web-platform-tests| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

IOError: [Errno 22] Invalid argument

  File "c:\Users\jyavenard\Work\Mozilla\gecko\testing/web-platform/mach_commands.py", line 383, in run_web_platform_tests
    return wpt_runner.run(logger, **params)
  File "c:\Users\jyavenard\Work\Mozilla\gecko\testing/web-platform\mach_commands_base.py", line 50, in run
    result = wptrunner.start(**kwargs)
  File "c:\Users\jyavenard\Work\Mozilla\gecko\testing/web-platform/tests/tools/wptrunner\wptrunner\wptrunner.py", line 402, in start
    rv = not run_tests(**kwargs) or logged_critical.has_log
  File "c:\Users\jyavenard\Work\Mozilla\gecko\testing/web-platform/tests/tools/wptrunner\wptrunner\wptrunner.py", line 227, in run_tests
    mojojs_path) as test_environment:
  File "c:\Users\jyavenard\Work\Mozilla\gecko\testing/web-platform/tests/tools/wptrunner\wptrunner\environment.py", line 69, in __init__
    self.cache_manager = multiprocessing.Manager()
  File "c:\mozilla-build\python\lib\multiprocessing\__init__.py", line 99, in Manager
    m.start()
  File "c:\mozilla-build\python\lib\multiprocessing\managers.py", line 524, in start
    self._process.start()
  File "c:\mozilla-build\python\lib\multiprocessing\process.py", line 130, in start
    self._popen = Popen(self)
  File "c:\mozilla-build\python\lib\multiprocessing\forking.py", line 280, in __init__
    to_child.close()
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-Break to quit

./mach bootstrap has been run
Tried deleting ~/.mozbuild/_virtualenv and re-running ./mach bootstrap to no available.

Blocks: mach-busted
Assignee: nobody → mh+mozilla
Component: web-platform-tests → General
Product: Testing → Firefox Build System
Version: Default → unspecified

Some recent change apparently made the multiprocessing code reenter
python with the arguments -s -c "..." instead of -c "...", which
broke the assumption of the hack.

Not relevant to the actual bug, but fyi you can write mach web-platform-tests --include=webrtc/RTCRtpReceiver-getSynchronizationSources.https.html as mach wpt webrtc/RTCRtpReceiver-getSynchronizationSources.https.html which is quite a bit shorter ;)

(In reply to James Graham [:jgraham] from comment #2)

Not relevant to the actual bug, but fyi you can write mach web-platform-tests --include=webrtc/RTCRtpReceiver-getSynchronizationSources.https.html as mach wpt webrtc/RTCRtpReceiver-getSynchronizationSources.https.html which is quite a bit shorter ;)

Awesome thanks

Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/73762587d70f
Fix hack from bug 914563 when python gets more arguments somehow. r=firefox-build-system-reviewers,rstewart DONTBUILD
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.