| 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 |