mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Sky can't really build on its own. We were previously using the 'sky' build target for this but it didn't fully anticipate all of our dependencies. The most recent break was when James removed /mojo/shell from mojo. Instead of sky listing out each and every service which it depends on, we should just get used to building root like other mojo developers. Thankfully there is already a helpful tool for this called mojob.py. I've updated our readme to reflect this, and removed the mojo dependency on the sky build group. The purpose of the sky build group is to expose all of the sky build targets up to the root level BUILD.gn (which only depends on /sky), not to be an independently buildable target. R=jamesr@chromium.org, jamesr BUG= Review URL: https://codereview.chromium.org/764023007
1.5 KiB
1.5 KiB
Hacking on Sky
Building
- Follow the setup & build instructions for Mojo
Running applications
-
./sky/tools/skydb --debug [url]- You should see a
(skydb)prompt - Type
helpto see the list of available commands - Note: skydb is currently hard-coded to use
//out/Debug
- You should see a
-
./sky/tools/test_sky --debug- This runs the tests against
//out/Debug. If you want to run against//out/Release, omit the--debugflag.
- This runs the tests against
Running tests manually
sky/tools/run_sky_httpdout/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- The
sky_testershould print#READYwhen ready - Type the URL you wish to run, for example
http://127.0.0.1:8000/lowlevel/text.html, and press the enter key - The harness should print the results of the test. You can then type another URL.
Writing tests
- Import
resources/mocha.htmlandresources/chai.html - Write tests in mocha format and use chai asserts:
describe('My pretty test of my subject', function() {
var subject = new MySubject();
it('should be pretty', function() {
assert.ok(subject.isPretty);
});
});