web-platform-tests runner glitch

Shane-

As mentioned on Friday's call, I'm having some difficulty getting runner to work for me locally. (Meant to send Friday right after WG call, but this got stuck in my outbox over the weekend.)

I cloned the w3c/web-platform-tests repository locally and followed the instructions in the readme, including the windows notes. The wptserve HTTP server starts up and works as expected and all seems well. But runner fails.

Openning http://web-platform.test:8000/tools/runner/index.html invokes runner.js (as expected) which immediately writes "DEBUG:manifest:Creating new manifest at C:\web-platform-tests\MANIFEST.json" to the console and then invokes http://web-platform.test:8000/tools/runner/update_manifest.py in order (I assume) to actually update / create MANIFEST.json. This is where it breaks, returning a 500 Internal Server Error and the following json response body:

{"error": {"message": "Traceback (most recent call last):\n  File \"C:\\web-platform-tests\\tools\\wptserve\\wptserve\\handlers.py\", line 249, in __call__\n    rv = self.func(request, response)\n  File \"C:\\web-platform-tests\\tools/runner/update_manifest.py\", line 16, in main\n    manifest.update.update(root, \"/\", manifest_file)\n  File \"C:\\web-platform-tests\\tools\\manifest\\update.py\", line 24, in update\n    local_changes = tests_tree.local_changes()\n  File \"C:\\web-platform-tests\\tools\\manifest\\tree.py\", line 49, in local_changes\n    data = self.git(*cmd)\n  File \"C:\\web-platform-tests\\tools\\manifest\\vcs.py\", line 7, in git\n    return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT)\n  File \"C:\\Python27\\lib\\subprocess.py\", line 566, in check_output\n    process = Popen(stdout=PIPE, *popenargs, **kwargs)\n  File \"C:\\Python27\\lib\\subprocess.py\", line 710, in __init__\n    errread, errwrite)\n  File \"C:\\Python27\\lib\\subprocess.py\", line 958, in _execute_child\n    startupinfo)\nWindowsError: [Error 2] The system cannot find the file specified\n", "code": 500}}

As you can see from the end of the trace, the error is happening in the _execute_child function of the standard python subprocess.py library. Looks like it's trying to spawn a shell process to create the manifest.json file. So presumably there is a permission or configuration setting that's not correct. Or maybe the shell command is malformed because of a problem higher up the stack. Got same result on both Windows 8.1 and Windows 10.  Tried a couple of different python installs but mostly using ActivePython 2.7.10.

Any suggestions welcome. Probably something obvious.

In the meantime if you have an alternate way for me to see the results of running test scripts, might help facilitate schema creation.

Thanks,

Tim Cole

Received on Monday, 18 July 2016 17:13:19 UTC