diff options
Diffstat (limited to 'testing/web-platform/tests/webgl/tools')
3 files changed, 0 insertions, 242 deletions
diff --git a/testing/web-platform/tests/webgl/tools/import-conformance-tests.py b/testing/web-platform/tests/webgl/tools/import-conformance-tests.py deleted file mode 100755 index e4fb16f6a..000000000 --- a/testing/web-platform/tests/webgl/tools/import-conformance-tests.py +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env python - -import os -import subprocess -import sys -import tempfile -import shutil -import bisect -import argparse - -KHRONOS_REPO_URL = "https://github.com/KhronosGroup/WebGL.git" -PATCHES = [ - ("js-test-pre.patch", "resources/js-test-pre.js"), - ("unit.patch", "conformance/more/unit.js") -] - -def usage(): - print("Usage: {} version destination [existing_webgl_repo]".format(sys.argv[0])) - sys.exit(1) - -def get_tests(base_dir, file_name, tests_list): - list_file = os.path.join(base_dir, file_name) - if not os.path.isfile(list_file): - print("Test list ({}) not found".format(list_file)) - sys.exit(1) - - print("Processing: {}".format(list_file)) - - with open(list_file, "r") as f: - for line in f: - line = line.strip() - if not line or line.startswith("#") or line.startswith("//"): - continue # It's an empty line or a comment - - # Lines often are in the form: - # --min-version x.x.x abc.html - # - # We only care about the last part - line = line.split(" ")[-1] - - if line.endswith(".html"): - tests_list.append(os.path.join(base_dir, line)) - if line.endswith(".txt"): - (next_dir, file_name) = os.path.split(os.path.join(base_dir, line)) - get_tests(next_dir, file_name, tests_list) - - -# Insert the test harness scripts before any other script -def process_test(test): - (new, new_path) = tempfile.mkstemp() - script_tag_found = False - with open(test, "r") as test_file: - for line in test_file: - if not script_tag_found and "<script" in line: - indent = ' ' * line.index('<') - script_tag_found = True - os.write(new, "{}<script src=/resources/testharness.js></script>\n".format(indent)) - os.write(new, "{}<script src=/resources/testharnessreport.js></script>\n".format(indent)) - os.write(new, line) - - os.close(new) - shutil.move(new_path, test) - - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument("version", help="WebGL test suite version (e.g.: 1.0.3)") - parser.add_argument("destination", help="Test suite destination") - parser.add_argument("-e", "--existing-repo", help="Path to an existing clone of the khronos WebGL repository") - args = parser.parse_args() - - version = args.version - destination = args.destination - - print("Trying to import WebGL conformance test suite {} into {}".format(version, destination)) - - if args.existing_repo: - directory = args.existing_repo - print("Using existing WebGL repository: {}".format(directory)) - else: - directory = tempfile.mkdtemp() - print("Cloning WebGL repository into temporary directory {}".format(directory)) - subprocess.check_call(["git", "clone", KHRONOS_REPO_URL, directory, "--depth", "1"]) - - suite_dir = os.path.join(directory, "conformance-suites", version) - print("Test suite directory: {}".format(suite_dir)) - - if not os.path.isdir(suite_dir): - print("Test suite directory ({}) not found, aborting...".format(suite_dir)) - sys.exit(1) - - # We recursively copy all the test suite to `destination` - shutil.copytree(suite_dir, destination) - - # Get all the tests, remove any html file which is not in the list, and - # later process them. - tests = [] - get_tests(destination, "00_test_list.txt", tests) - - test_count = len(tests) - - print("Found {} tests.".format(test_count)) - print("Removing non-test html files") - - # To use binary search, which speeds things up a little - # instead of f in tests - tests.sort() - - # Remove html files that are not tests - for dirpath, dirnames, filenames in os.walk(destination): - if '/resources' in dirpath: - continue # Most of the files under resources directories are used - - for f in filenames: - if not f.endswith('.html'): - continue - - f = os.path.join(dirpath, f) - pos = bisect.bisect_left(tests, f) - if pos == test_count or tests[pos] != f: - print("Removing: {}".format(f)) - os.remove(f) - - # Insert our harness into the tests - for test in tests: - process_test(test) - - # Try to apply the patches to the required files - - this_dir = os.path.abspath(os.path.dirname(sys.argv[0])) - for patch, file_name in PATCHES: - try: - patch = os.path.join(this_dir, patch) - subprocess.check_call(["patch", "-d", destination, file_name, patch]) - except subprocess.CalledProcessError: - print("Automatic patch failed for {}".format(file_name)) - print("Please review the WPT integration and update {} accordingly".format(os.path.basename(patch))) - -if __name__ == '__main__': - main() diff --git a/testing/web-platform/tests/webgl/tools/js-test-pre.patch b/testing/web-platform/tests/webgl/tools/js-test-pre.patch deleted file mode 100644 index 1e8a4c958..000000000 --- a/testing/web-platform/tests/webgl/tools/js-test-pre.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- js-test-pre.orig.js 2016-04-08 22:35:15.629226767 +0200 -+++ js-test-pre.js 2016-04-08 22:43:11.906092062 +0200 -@@ -71,11 +71,25 @@ - } - } - --function reportTestResultsToHarness(success, msg) { -- if (window.parent.webglTestHarness) { -- window.parent.webglTestHarness.reportResults(window.location.pathname, success, msg); -+(function() { -+ var WPT_TEST_ID = 0; -+ -+ // Store the current WPT test harness `test` function -+ // if found, since it's overriden by some tests. -+ var wpt_test = window.test; -+ var wpt_assert_true = window.assert_true; -+ -+ -+ window.reportTestResultsToHarness = function reportTestResultsToHarness(success, msg) { -+ if (window.parent.webglTestHarness) { -+ window.parent.webglTestHarness.reportResults(window.location.pathname, success, msg); -+ } else if (wpt_test) { // WPT test harness -+ wpt_test(function () { -+ wpt_assert_true(success, msg); -+ }, "WebGL test #" + (WPT_TEST_ID++) + ": " + msg); -+ } - } --} -+}()) - - function notifyFinishedToHarness() { - if (window.parent.webglTestHarness) { -@@ -92,7 +106,7 @@ - window.console.log(msg); - } - --var _jsTestPreVerboseLogging = false; -+var _jsTestPreVerboseLogging = true; - - function enableJSTestPreVerboseLogging() - { -@@ -105,31 +119,18 @@ - if (msg === undefined) { - msg = document.title; - } -- // For MSIE 6 compatibility -- var span = document.createElement("span"); -- span.innerHTML = '<p>' + msg + '</p><p>On success, you will see a series of "<span class="pass">PASS</span>" messages, followed by "<span class="pass">TEST COMPLETE</span>".</p>'; -- var description = document.getElementById("description"); -- if (description.firstChild) -- description.replaceChild(span, description.firstChild); -- else -- description.appendChild(span); -- if (_jsTestPreVerboseLogging) { -- _logToConsole(msg); -- } -+ _logToConsole("DESCRIPTION: " + msg); - } - - function _addSpan(contents) - { -- var span = document.createElement("span"); -- document.getElementById("console").appendChild(span); // insert it first so XHTML knows the namespace -- span.innerHTML = contents + '<br />'; - } - - function debug(msg) - { - _addSpan(msg); - if (_jsTestPreVerboseLogging) { -- _logToConsole(msg); -+ _logToConsole(msg); - } - } - -@@ -143,7 +144,7 @@ - reportTestResultsToHarness(true, msg); - _addSpan('<span><span class="pass">PASS</span> ' + escapeHTML(msg) + '</span>'); - if (_jsTestPreVerboseLogging) { -- _logToConsole('PASS ' + msg); -+ _logToConsole('PASS ' + msg); - } - } - diff --git a/testing/web-platform/tests/webgl/tools/unit.patch b/testing/web-platform/tests/webgl/tools/unit.patch deleted file mode 100644 index 58a242c51..000000000 --- a/testing/web-platform/tests/webgl/tools/unit.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- conformance/more/unit.js 2015-06-18 23:26:41.085626000 +0200 -+++ ../conformance-1.0.3/conformance/more/unit.js 2015-12-30 19:46:34.570636491 +0100 -@@ -892,9 +892,14 @@ - 0x809D - ]; - -+var WPT_TEST_ID = 0; - function reportTestResultsToHarness(success, msg) { - if (window.parent.webglTestHarness) { - window.parent.webglTestHarness.reportResults(window.location.pathname, success, msg); -+ } else if (window.test) { // WPT test harness -+ test(function () { -+ assert_true(success, msg); -+ }, "WebGL test #" + (WPT_TEST_ID++) + ": " + msg); - } - } - |