| Index: sky/shell/testing/test_runner.cc
|
| diff --git a/sky/shell/testing/test_runner.cc b/sky/shell/testing/test_runner.cc
|
| index ff75c70676268da054fd859ef98a91b7179f5b73..c4bf2dca7e9744ca438811b96e5181a1332765e8 100644
|
| --- a/sky/shell/testing/test_runner.cc
|
| +++ b/sky/shell/testing/test_runner.cc
|
| @@ -21,6 +21,7 @@ struct UrlData {
|
| std::string url;
|
| std::string expected_pixel_hash;
|
| bool enable_pixel_dumping = false;
|
| + bool is_snapshot = false;
|
| };
|
|
|
| void WaitForURL(UrlData& data) {
|
| @@ -76,8 +77,8 @@ TestRunner& TestRunner::Shared() {
|
| return *g_test_runner;
|
| }
|
|
|
| -void TestRunner::Start(const std::string& single_test_url) {
|
| - single_test_url_ = single_test_url;
|
| +void TestRunner::Start(scoped_ptr<SingleTest> single_test) {
|
| + single_test_ = single_test.Pass();
|
| PrintAndFlush("#READY\n");
|
| ScheduleRun();
|
| }
|
| @@ -92,7 +93,7 @@ void TestRunner::OnTestComplete(const mojo::String& test_result,
|
| std::cerr.flush();
|
| bindings_.CloseAllBindings();
|
|
|
| - if (single_test_url_.length())
|
| + if (single_test_)
|
| exit(0);
|
| ScheduleRun();
|
| }
|
| @@ -113,8 +114,9 @@ void TestRunner::ScheduleRun() {
|
|
|
| void TestRunner::Run() {
|
| UrlData data;
|
| - if (single_test_url_.length()) {
|
| - data.url = single_test_url_;
|
| + if (single_test_) {
|
| + data.url = single_test_->path;
|
| + data.is_snapshot = single_test_->is_snapshot;
|
| } else {
|
| WaitForURL(data);
|
| }
|
| @@ -124,7 +126,11 @@ void TestRunner::Run() {
|
|
|
| if (StartsWithASCII(data.url, kFileUrlPrefix, true))
|
| ReplaceFirstSubstringAfterOffset(&data.url, 0, kFileUrlPrefix, "");
|
| - sky_engine_->RunFromFile(data.url, package_root_);
|
| +
|
| + if (data.is_snapshot)
|
| + sky_engine_->RunFromSnapshot(data.url);
|
| + else
|
| + sky_engine_->RunFromFile(data.url, package_root_);
|
| }
|
|
|
| } // namespace shell
|
|
|