• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..16-Feb-2021-

android/H16-Feb-2021-533291

README.mdH A D16-Feb-20212.9 KiB9267

config.jsonH A D16-Feb-20216.5 KiB210180

package.jsonH A D16-Feb-2021646 2928

README.md

1WebGL Conformance Test Harness
2==============================
3
4Simple test harness to automate execution of WebGL conformance tests across
5several browsers.
6
7Installation
8------------
9
10Make sure you have a reasonably new [Node.JS installed](http://nodejs.org/),
11then run:
12
13    cd <WebGL>/other/test-runner
14    npm install
15
16Once installed you may need to adjust the paths in
17`test-runner/config.json` to ensure they are correct for your system. The
18Linux paths in particular are especially likely to need adjustment. On
19Windows the paths will need to be adjusted if you have done a per-user
20installation of Chrome, rather than a machine-wide installation. The test
21runner tries the paths in the list one by one until it finds one that exists.
22
23Running
24-------
25
26    cd <WebGL>/other
27    node ./test-runner
28
29Run with `--help` to see command line options.
30
31Currently supported browser configurations:
32
33    Chrome
34    ChromeCanary
35    Chromium
36    Firefox
37    Safari
38
39NOTE: The Safari configuration is able to execute the tests, but has
40several known issues, including potentially interfering with an
41already-running instance of the browser. Make sure you quit Safari before
42running this test harness against Safari.
43
44The configurations above use the browser's default mechanism for rendering
45WebGL. Both Firefox and Chrome by default use the ANGLE library on Windows, and
46OpenGL on Mac and Linux platforms. You can force the use of OpenGL on Windows
47using the following browser configurations:
48
49    ChromeWinOpenGL
50    ChromeCanaryWinOpenGL
51    ChromiumWinOpenGL
52    FirefoxWinOpenGL
53
54The test runner supports following browser configurations on Android:
55
56    Chrome
57
58NOTE: The platform argument needs to be explicitly passed as 'remote-android'
59to run tests remotely on android. To do this, you need the following:
60
61  - Rooted android device connected to linux host machine
62  - Chrome application installed on connected device
63  - Android SDK installed on your host linux machine
64  - 'adb' in your system path
65  - The 'ant' build system installed in case you want to modify the prebuilt
66    port forwarder apk, see ./android/PortForwarderService/README for more
67    details.
68
69The Android test runner has some limitations: it does not detect browser
70crashes, and the Chrome configuration overwrites command line parameters set for
71Chrome in /data/local/chrome-command-line.
72
73Example invocations:
74
75    node ./test-runner
76    node ./test-runner --version 1.0.1 --browser Chrome
77    node ./test-runner --browser Chrome --platform remote-android
78
79Results
80-------
81
82Returns exit code 0 if all tests passed in all browser configurations.
83Returns non-zero exit code otherwise.
84
85The exit code can be tested via the $? variable in most Unix shells, and
86via the %errorlevel% pseudo environment variable in the Windows Command
87Prompt. See:
88http://stackoverflow.com/questions/334879/how-do-i-get-the-application-exit-code-from-a-windows-command-line
89
90Test results are output as plain text files into
91`<WebGL>/other/test-runner/output`
92