OLD | NEW |
1 // js-test now supports lazily printing test results which dumps all test | 1 // js-test now supports lazily printing test results which dumps all test |
2 // results once at the end of the test instead of building them up. To enable | 2 // results once at the end of the test instead of building them up. To enable |
3 // this option, call setPrintTestResultsLazily() before running any tests. | 3 // this option, call setPrintTestResultsLazily() before running any tests. |
4 var _lazyTestResults; // Set by setPrintTestResultsLazily(). | 4 var _lazyTestResults; // Set by setPrintTestResultsLazily(). |
5 | 5 |
6 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex
t + pixel results | 6 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex
t + pixel results |
7 if (self.testRunner) { | 7 if (self.testRunner) { |
8 if (self.enablePixelTesting) | 8 if (self.enablePixelTesting) |
9 testRunner.dumpAsTextWithPixelResults(); | 9 testRunner.dumpAsTextWithPixelResults(); |
10 else | 10 else |
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 var span = document.createElement("span"); | 804 var span = document.createElement("span"); |
805 span.innerHTML = msg + '<br />'; | 805 span.innerHTML = msg + '<br />'; |
806 consoleElement.appendChild(span); | 806 consoleElement.appendChild(span); |
807 }); | 807 }); |
808 } | 808 } |
809 | 809 |
810 if (self.jsTestIsAsync && self.testRunner) | 810 if (self.jsTestIsAsync && self.testRunner) |
811 testRunner.notifyDone(); | 811 testRunner.notifyDone(); |
812 } | 812 } |
813 | 813 |
814 function startWorker(testScriptURL, shared) | 814 function startWorker(testScriptURL, workerType) |
815 { | 815 { |
816 self.jsTestIsAsync = true; | 816 self.jsTestIsAsync = true; |
817 debug('Starting worker: ' + testScriptURL); | 817 debug('Starting worker: ' + testScriptURL); |
818 var worker = shared ? new SharedWorker(testScriptURL, "Shared Worker") : new
Worker(testScriptURL); | 818 var worker; |
| 819 if (workerType == 'shared') |
| 820 worker = new SharedWorker(testScriptURL, "Shared Worker"); |
| 821 else if (workerType == 'compositor') |
| 822 worker = new CompositorWorker(testScriptURL); |
| 823 else |
| 824 worker = new Worker(testScriptURL); |
819 worker.onmessage = function(event) | 825 worker.onmessage = function(event) |
820 { | 826 { |
821 var workerPrefix = "[Worker] "; | 827 var workerPrefix = "[Worker] "; |
822 if (event.data.length < 5 || event.data.charAt(4) != ':') { | 828 if (event.data.length < 5 || event.data.charAt(4) != ':') { |
823 debug(workerPrefix + event.data); | 829 debug(workerPrefix + event.data); |
824 return; | 830 return; |
825 } | 831 } |
826 var code = event.data.substring(0, 4); | 832 var code = event.data.substring(0, 4); |
827 var payload = workerPrefix + event.data.substring(5); | 833 var payload = workerPrefix + event.data.substring(5); |
828 if (code == "PASS") | 834 if (code == "PASS") |
829 testPassed(payload); | 835 testPassed(payload); |
830 else if (code == "FAIL") | 836 else if (code == "FAIL") |
831 testFailed(payload); | 837 testFailed(payload); |
832 else if (code == "DESC") | 838 else if (code == "DESC") |
833 description(payload); | 839 description(payload); |
834 else if (code == "DONE") | 840 else if (code == "DONE") |
835 finishJSTest(); | 841 finishJSTest(); |
836 else | 842 else |
837 debug(workerPrefix + event.data); | 843 debug(workerPrefix + event.data); |
838 }; | 844 }; |
839 | 845 |
840 worker.onerror = function(event) | 846 worker.onerror = function(event) |
841 { | 847 { |
842 debug('Got error from worker: ' + event.message); | 848 debug('Got error from worker: ' + event.message); |
843 finishJSTest(); | 849 finishJSTest(); |
844 }; | 850 }; |
845 | 851 |
846 if (shared) { | 852 if (workerType == 'shared') { |
847 worker.port.onmessage = function(event) { worker.onmessage(event); }; | 853 worker.port.onmessage = function(event) { worker.onmessage(event); }; |
848 worker.port.start(); | 854 worker.port.start(); |
849 } | 855 } |
850 return worker; | 856 return worker; |
851 } | 857 } |
852 | 858 |
853 if (isWorker()) { | 859 if (isWorker()) { |
854 var workerPort = self; | 860 var workerPort = self; |
855 if (self.name == "Shared Worker") { | 861 if (self.name == "Shared Worker") { |
856 self.onconnect = function(e) { | 862 self.onconnect = function(e) { |
(...skipping 27 matching lines...) Expand all Loading... |
884 testPassed = function(msg) { | 890 testPassed = function(msg) { |
885 workerPort.postMessage('PASS:' + msg); | 891 workerPort.postMessage('PASS:' + msg); |
886 }; | 892 }; |
887 finishJSTest = function() { | 893 finishJSTest = function() { |
888 workerPort.postMessage('DONE:'); | 894 workerPort.postMessage('DONE:'); |
889 }; | 895 }; |
890 debug = function(msg) { | 896 debug = function(msg) { |
891 workerPort.postMessage(msg); | 897 workerPort.postMessage(msg); |
892 }; | 898 }; |
893 } | 899 } |
OLD | NEW |