cast_runner_integration_test_base.cc 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "fuchsia_web/runners/cast/cast_runner_integration_test_base.h"
  5. #include <fuchsia/io/cpp/fidl.h>
  6. #include <fuchsia/sys/cpp/fidl.h>
  7. #include <lib/fdio/fd.h>
  8. #include <lib/sys/cpp/component_context.h>
  9. #include <unistd.h>
  10. #include <zircon/processargs.h>
  11. #include <memory>
  12. #include <string>
  13. #include <utility>
  14. #include <vector>
  15. #include "base/command_line.h"
  16. #include "base/fuchsia/fuchsia_logging.h"
  17. #include "base/fuchsia/process_context.h"
  18. #include "fuchsia_web/runners/cast/cast_runner_switches.h"
  19. #include "net/test/embedded_test_server/default_handlers.h"
  20. #include "testing/gtest/include/gtest/gtest.h"
  21. CastRunnerIntegrationTest::CastRunnerIntegrationTest()
  22. : CastRunnerIntegrationTest(test::kCastRunnerFeaturesNone) {}
  23. CastRunnerIntegrationTest::CastRunnerIntegrationTest(
  24. test::CastRunnerFeatures runner_features)
  25. : cast_runner_launcher_(runner_features) {}
  26. CastRunnerIntegrationTest::~CastRunnerIntegrationTest() = default;
  27. void CastRunnerIntegrationTest::SetUp() {
  28. cast_runner_services_ = cast_runner_launcher_.StartCastRunner();
  29. // Connect to the CastRunner's fuchsia.sys.Runner interface.
  30. cast_runner_ = cast_runner_services().Connect<fuchsia::sys::Runner>();
  31. cast_runner_.set_error_handler([](zx_status_t status) {
  32. ZX_LOG(ERROR, status) << "CastRunner closed channel.";
  33. ADD_FAILURE();
  34. });
  35. static constexpr base::StringPiece kTestServerRoot(
  36. "fuchsia_web/runners/cast/testdata");
  37. test_server_.ServeFilesFromSourceDirectory(kTestServerRoot);
  38. net::test_server::RegisterDefaultHandlers(&test_server_);
  39. ASSERT_TRUE(test_server_.Start());
  40. }
  41. void CastRunnerIntegrationTest::TearDown() {
  42. // Unbind the Runner channel, to prevent it from triggering an error when
  43. // the CastRunner and WebEngine are torn down.
  44. cast_runner_.Unbind();
  45. }