webrtc/test/ios/test_support.h
Byoungchan Lee b66cfb7414 test: Make iOS Test Delegate Class conforms the proper protocol
Currently, the WebRtcUnitTestDelegate does not conform to the
GoogleTestRunnerDelegate protocol. So the GoogleTestRunner, designed to
run googletest based tests using XCTest, fails like this:

Test Case '-[GoogleTestRunner testRunGoogleTests]' started.
/../../base/test/ios/google_test_runner.mm:24: error: -[GoogleTestRunner testRunGoogleTests] : (([appDelegate conformsToProtocol:@protocol(GoogleTestRunnerDelegate)]) is true) failed
Test Case '-[GoogleTestRunner testRunGoogleTests]' failed (0.004 seconds).

This CL fixes this issue by implementing the GoogleTestRunnerDelegate
protocol, so googletest based tests run without error.

No-Presubmit: True
No-Try: True
Bug: webrtc:12813
Change-Id: I6564b41c3aec88a9ddf078104753ceca5e6f0ba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220260
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34593}
2021-07-29 11:54:47 +00:00

37 lines
1.2 KiB
C++

/*
* Copyright 2017 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef TEST_IOS_TEST_SUPPORT_H_
#define TEST_IOS_TEST_SUPPORT_H_
#include <string>
#include <vector>
#include "absl/types/optional.h"
namespace rtc {
namespace test {
// Launches an iOS app that serves as a host for a test suite.
// This is necessary as iOS doesn't like processes without a gui
// running for longer than a few seconds.
void RunTestsFromIOSApp();
void InitTestSuite(int (*test_suite)(void),
int argc,
char* argv[],
bool save_chartjson_result,
absl::optional<std::vector<std::string>> metrics_to_plot);
// Returns true if unittests should be run by the XCTest runnner.
bool ShouldRunIOSUnittestsWithXCTest();
} // namespace test
} // namespace rtc
#endif // TEST_IOS_TEST_SUPPORT_H_