OLD | NEW |
1 Hacking on Sky | 1 Hacking on Sky |
2 ============== | 2 ============== |
3 | 3 |
4 Building | 4 Building |
5 -------- | 5 -------- |
6 | 6 |
7 * Follow the setup & build instructions for [Mojo](https://github.com/domokit/mo
jo) | 7 * Follow the setup & build instructions for [Mojo](https://github.com/domokit/mo
jo) |
8 | 8 |
9 If building for Android, be aware a patch to V8's GN build is required: | 9 If building for Android, be aware a patch to V8's GN build is required: |
10 https://code.google.com/p/v8/issues/detail?id=3841 | 10 https://code.google.com/p/v8/issues/detail?id=3841 |
11 | 11 |
12 Running applications | 12 Running applications |
13 -------------------- | 13 -------------------- |
14 | 14 |
15 * ``./sky/tools/skydb start out/Debug [url]`` | 15 * ``./sky/tools/skydb start out/Debug [url]`` |
16 | 16 |
17 `skydb` has numerous commands, visible via skydb help. Common ones include: | 17 `skydb` has numerous commands, visible via `skydb help`. Common ones includ
e: |
18 * skybd start BUILD_DIR [url] | 18 * `skybd start` BUILD_DIR [url] |
19 * skydb load [url] | 19 * `skydb load` [url] |
20 * skydb stop | 20 * `skydb stop` |
21 * skydb print_crash # Symbolicate the most recent crash from android. | 21 * `skydb print_crash` # Symbolicate the most recent crash from android. |
22 | 22 |
23 Once skydb start is issued, all subsequent commands will be sent to the running
mojo_shell instance (even on an attached android device). skydb start reads gn
args from the passed build directory to determine whether its using android, etc
. | 23 Once `skydb start` is issued, all subsequent commands will be sent to |
| 24 the running mojo_shell instance (even on an attached android device). |
| 25 `skydb start` reads gn args from the passed build directory to |
| 26 determine whether its using android, etc. |
24 | 27 |
25 * ``./sky/tools/test_sky --debug`` | 28 * ``./sky/tools/test_sky --debug`` |
26 * This runs the tests against ``//out/Debug``. If you want to run against | 29 * This runs the tests against ``//out/Debug``. If you want to run against |
27 ``//out/Release``, omit the ``--debug`` flag. | 30 ``//out/Release``, omit the ``--debug`` flag. |
28 | 31 |
29 Running tests manually | 32 Running tests manually |
30 ---------------------- | 33 ---------------------- |
31 | 34 |
32 * ``sky/tools/run_sky_httpd`` | 35 * ``sky/tools/run_sky_httpd`` |
33 * ``out/Debug/mojo_shell --args-for="mojo:native_viewport_service --use-headless
-config" --content-handlers=text/html,mojo:sky_viewer --url-mappings=mojo:window
_manager=mojo:sky_tester mojo:window_manager`` | 36 * ``out/Debug/mojo_shell --args-for="mojo:native_viewport_service --use-headless
-config" --content-handlers=text/html,mojo:sky_viewer --url-mappings=mojo:window
_manager=mojo:sky_tester mojo:window_manager`` |
(...skipping 21 matching lines...) Expand all Loading... |
55 | 58 |
56 Sky does not have proper pixel tests. Instead we have only reftests. | 59 Sky does not have proper pixel tests. Instead we have only reftests. |
57 If you want a pixel test, you need to dump the png from a reftest, | 60 If you want a pixel test, you need to dump the png from a reftest, |
58 upload it to googlestorage and then put and <img> pointing to the | 61 upload it to googlestorage and then put and <img> pointing to the |
59 uploaded file in the reference. | 62 uploaded file in the reference. |
60 | 63 |
61 1. Create your test (e.g. foo.sky). | 64 1. Create your test (e.g. foo.sky). |
62 2. Create an dummy reference file (foo-expected.sky). | 65 2. Create an dummy reference file (foo-expected.sky). |
63 3. Run the test (it will fail). | 66 3. Run the test (it will fail). |
64 4. Copy the -actual.png file to googlestorage (see below). | 67 4. Copy the -actual.png file to googlestorage (see below). |
65 5. Put an <img> pointing to your newly uploaded png in the reference file at | 68 5. Put an ``<img>`` pointing to your newly uploaded png in the reference file at |
66 http://storage.googleapis.com/mojo/sky-pngs/SHA1_HASH_HERE | 69 http://storage.googleapis.com/mojo/sky-pngs/SHA1_HASH_HERE |
67 | 70 |
68 Copying the file to googlestorage: | 71 Copying the file to googlestorage: |
| 72 ```bash |
69 $ sha1sum ../out/Debug/layout-test-results/framework/flights-app-pixels-actual.p
ng | 73 $ sha1sum ../out/Debug/layout-test-results/framework/flights-app-pixels-actual.p
ng |
70 db0508cdfe69e996a93464050dc383f6480f1283 ../out/Debug/layout-test-results/frame
work/flights-app-pixels-actual.png | 74 db0508cdfe69e996a93464050dc383f6480f1283 ../out/Debug/layout-test-results/frame
work/flights-app-pixels-actual.png |
71 $ gsutil.py cp ../out/Debug/layout-test-results/framework/flights-app-pixels-act
ual.png gs://mojo/sky-pngs/db0508cdfe69e996a93464050dc383f6480f1283 | 75 $ gsutil.py cp ../out/Debug/layout-test-results/framework/flights-app-pixels-act
ual.png gs://mojo/sky-pngs/db0508cdfe69e996a93464050dc383f6480f1283 |
| 76 ``` |
72 | 77 |
73 Long-term, we should not have these tests at all and should just | 78 Long-term, we should not have these tests at all and should just |
74 dump paint commands. In the short-term, if we find we're doing this | 79 dump paint commands. In the short-term, if we find we're doing this |
75 a lot we should obviously automate this process, e.g. test_sky could | 80 a lot we should obviously automate this process, e.g. test_sky could |
76 do all of this work, including spitting out the correct reference file. | 81 do all of this work, including spitting out the correct reference file. |
OLD | NEW |