flutter_flutter/shell/testing/test_runner.h
Chinmay Garde 9eb446e0d5 Move shell to //flutter and split shell/BUILD.gn into smaller pieces for each subcomponent. (#3053)
* Namespaces have been updated to reflect the move from //flutter/sky/shell to //flutter/shell.
* shell/BUILD.gn file has been split into smaller GN files for each subcomponent of the shell (common, GPU, diagnostic, testing).
* GN dependencies have been rewritten to stop exposing common shell dependencies as public. Duplicates have also been removed.
* GPU subcomponent has been updated make it more suitable for Vulkan integration.
* The GLFW backend has been resurrected.
2016-09-23 15:33:25 -07:00

45 lines
959 B
C++

// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHELL_TESTING_TEST_RUNNER_H_
#define SHELL_TESTING_TEST_RUNNER_H_
#include <memory>
#include <string>
#include "flutter/services/engine/sky_engine.mojom.h"
#include "lib/ftl/macros.h"
#include "lib/ftl/memory/weak_ptr.h"
#include "mojo/public/cpp/bindings/binding_set.h"
namespace shell {
class PlatformView;
class TestRunner {
public:
static TestRunner& Shared();
struct TestDescriptor {
std::string path;
std::string packages;
};
void Run(const TestDescriptor& test);
private:
TestRunner();
~TestRunner();
std::unique_ptr<PlatformView> platform_view_;
sky::SkyEnginePtr sky_engine_;
ftl::WeakPtrFactory<TestRunner> weak_ptr_factory_;
FTL_DISALLOW_COPY_AND_ASSIGN(TestRunner);
};
} // namespace shell
#endif // SHELL_TESTING_TEST_RUNNER_H_