Android tests call exit() when complete.

[ Merge of http://go/wvgerrit/119804 ]

The coverage framework used by Android requires the process to call
exit() for coverage information to be dumped after the tests.

Android unit tests have been adapted to use the a new main module.
The core test_main.cpp used by integration tests has been updated to
call exit().

Bug: 138941105
Test: Linux and Android unittests
Change-Id: Ifffc7b8290c50dffe527738a36547c1d2fb90bd3
This commit is contained in:
Alex Dale
2021-03-11 19:32:34 -08:00
parent 9f918bc16b
commit 16c704fa09
3 changed files with 23 additions and 3 deletions

View File

@@ -0,0 +1,17 @@
// Copyright 2021 Google LLC. All Rights Reserved. This file and proprietary
// source code may only be used and distributed under the Widevine License
// Agreement.
#include <stdlib.h>
#include "gtest/gtest.h"
#include "log.h"
int main(int argc, char** argv) {
LOGI("Running Android CDM tests");
testing::InitGoogleTest(&argc, argv);
const int status = RUN_ALL_TESTS();
LOGD("CDM test complete with status %d", status);
exit(status); // Explicit call to exit() is required for code coverage.
return status;
}

View File

@@ -20,6 +20,7 @@ LOCAL_SRC_FILES := \
../core/test/url_request.cpp \
../../oemcrypto/test/oec_device_features.cpp \
../util/test/test_sleep.cpp \
./cdm_test_main.cpp \
LOCAL_C_INCLUDES := \
vendor/widevine/libwvdrmengine/android/cdm/test \
@@ -44,7 +45,6 @@ LOCAL_STATIC_LIBRARIES := \
libjsmn \
libgmock \
libgtest \
libgtest_main \
libwvlevel3 \
LOCAL_SHARED_LIBRARIES := \