Make TimeCheck Host Available
- Make TimeCheck and TimerThread host available
- Ensure all unit tests are host available, so utils are tested
automatically in presubmit
Test: Compiles, atest --host
Change-Id: I133d960a37fa32718c8bc64b7c72a650edd32ee0
diff --git a/media/utils/tests/Android.bp b/media/utils/tests/Android.bp
index 48d18b0..6ea1c91 100644
--- a/media/utils/tests/Android.bp
+++ b/media/utils/tests/Android.bp
@@ -20,10 +20,34 @@
],
sanitize: {
- address: true,
- cfi: true,
+ undefined: true,
+ misc_undefined: [
+ "float-divide-by-zero",
+ "local-bounds",
+ ],
integer_overflow: true,
+ cfi: true,
memtag_heap: true,
+ diag: {
+ undefined: true,
+ misc_undefined: [
+ "float-divide-by-zero",
+ "local-bounds",
+ ],
+ integer_overflow: true,
+ cfi: true,
+ memtag_heap: true,
+ },
+ },
+ target: {
+ host: {
+ sanitize: {
+ cfi: false,
+ diag: {
+ cfi: false,
+ },
+ },
+ },
},
}
@@ -36,23 +60,6 @@
shared_libs: [
"liblog",
- "libutils",
- ],
-
- static_libs: [
- "libmediautils_core",
- ],
-}
-
-cc_defaults {
- name: "libmediautils_tests_host_unavail",
-
- defaults: ["libmediautils_tests_config"],
-
- host_supported: false,
-
- shared_libs: [
- "liblog",
"libmediautils",
"libutils",
],
@@ -89,22 +96,17 @@
cc_test {
name: "libmediautils_test",
- defaults: ["libmediautils_tests_host_unavail"],
-
- shared_libs: [
- "libmediautils",
- ],
+ defaults: ["libmediautils_tests_defaults"],
srcs: [
"memory-test.cpp",
- "TimerThread-test.cpp",
],
}
cc_test {
name: "media_process_tests",
- defaults: ["libmediautils_tests_host_unavail"],
+ defaults: ["libmediautils_tests_defaults"],
srcs: [
"media_process_tests.cpp",
@@ -114,7 +116,7 @@
cc_test {
name: "media_synchronization_tests",
- defaults: ["libmediautils_tests_host_unavail"],
+ defaults: ["libmediautils_tests_defaults"],
srcs: [
"media_synchronization_tests.cpp",
@@ -124,7 +126,7 @@
cc_test {
name: "media_threadsnapshot_tests",
- defaults: ["libmediautils_tests_host_unavail"],
+ defaults: ["libmediautils_tests_defaults"],
srcs: [
"media_threadsnapshot_tests.cpp",
@@ -186,7 +188,7 @@
cc_test {
name: "timecheck_tests",
- defaults: ["libmediautils_tests_host_unavail"],
+ defaults: ["libmediautils_tests_defaults"],
srcs: [
"timecheck_tests.cpp",
@@ -194,6 +196,16 @@
}
cc_test {
+ name: "timerthread_tests",
+
+ defaults: ["libmediautils_tests_defaults"],
+
+ srcs: [
+ "TimerThread-test.cpp",
+ ],
+}
+
+cc_test {
name: "extended_accumulator_tests",
defaults: ["libmediautils_tests_defaults"],
@@ -209,6 +221,6 @@
defaults: ["libmediautils_tests_defaults"],
srcs: [
- "inplace_function_tests.cpp"
+ "inplace_function_tests.cpp",
],
}
diff --git a/media/utils/tests/TimerThread-test.cpp b/media/utils/tests/TimerThread-test.cpp
index 8a92a26..468deed 100644
--- a/media/utils/tests/TimerThread-test.cpp
+++ b/media/utils/tests/TimerThread-test.cpp
@@ -52,7 +52,7 @@
std::atomic<bool> taskRan = false;
TimerThread thread;
TimerThread::Handle handle =
- thread.scheduleTask("Basic", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("Basic", [&taskRan](TimerThread::Handle) {
taskRan = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(100, frac));
ASSERT_TRUE(TimerThread::isTimeoutHandle(handle));
std::this_thread::sleep_for(100ms - kJitter);
@@ -70,7 +70,7 @@
std::atomic<bool> taskRan = false;
TimerThread thread;
TimerThread::Handle handle =
- thread.scheduleTask("Cancel", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("Cancel", [&taskRan](TimerThread::Handle) {
taskRan = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(100, frac));
ASSERT_TRUE(TimerThread::isTimeoutHandle(handle));
std::this_thread::sleep_for(100ms - kJitter);
@@ -90,7 +90,7 @@
TimerThread thread;
TimerThread::Handle handle =
thread.scheduleTask("CancelAfterRun",
- [&taskRan](TimerThread::Handle handle __unused) {
+ [&taskRan](TimerThread::Handle) {
taskRan = true; },
DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(100, frac));
ASSERT_TRUE(TimerThread::isTimeoutHandle(handle));
@@ -110,17 +110,17 @@
auto startTime = std::chrono::steady_clock::now();
- thread.scheduleTask("0", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("0", [&taskRan](TimerThread::Handle) {
taskRan[0] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(300, frac));
- thread.scheduleTask("1", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("1", [&taskRan](TimerThread::Handle) {
taskRan[1] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(100, frac));
- thread.scheduleTask("2", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("2", [&taskRan](TimerThread::Handle) {
taskRan[2] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(200, frac));
- thread.scheduleTask("3", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("3", [&taskRan](TimerThread::Handle) {
taskRan[3] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(400, frac));
- auto handle4 = thread.scheduleTask("4", [&taskRan](TimerThread::Handle handle __unused) {
+ auto handle4 = thread.scheduleTask("4", [&taskRan](TimerThread::Handle) {
taskRan[4] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(200, frac));
- thread.scheduleTask("5", [&taskRan](TimerThread::Handle handle __unused) {
+ thread.scheduleTask("5", [&taskRan](TimerThread::Handle) {
taskRan[5] = true; }, DISTRIBUTE_TIMEOUT_SECONDCHANCE_MS_FRAC(200, frac));
// 6 tasks pending
diff --git a/media/utils/tests/library_tests.cpp b/media/utils/tests/library_tests.cpp
index c5c500c..f15f7f9 100644
--- a/media/utils/tests/library_tests.cpp
+++ b/media/utils/tests/library_tests.cpp
@@ -26,8 +26,9 @@
namespace {
-static int32_t here = 0; // accessed on same thread.
+[[maybe_unused]] static int32_t here = 0; // accessed on same thread.
+#if __android__
TEST(library_tests, basic) {
std::string path = android::base::GetExecutableDirectory() + "/libsharedtest.so";
// The flags to loadLibrary should not include RTLD_GLOBAL or RTLD_NODELETE
@@ -64,6 +65,7 @@
// will prevent unloading libraries.
ASSERT_EQ(1, here);
}
+#endif
TEST(library_tests, sad_library) {
std::string path = android::base::GetExecutableDirectory()
diff --git a/media/utils/tests/media_process_tests.cpp b/media/utils/tests/media_process_tests.cpp
index 6e738b1..391c6a7 100644
--- a/media/utils/tests/media_process_tests.cpp
+++ b/media/utils/tests/media_process_tests.cpp
@@ -15,6 +15,7 @@
*/
#include <mediautils/Process.h>
+#include <mediautils/TidWrapper.h>
#define LOG_TAG "media_process_tests"
@@ -33,7 +34,7 @@
}
TEST(media_process_tests, basic) {
- const std::string schedString = getThreadSchedAsString(gettid());
+ const std::string schedString = getThreadSchedAsString(getThreadIdWrapper());
(void)schedString;
// We don't test schedString, only that we haven't crashed.
diff --git a/media/utils/tests/media_threadsnapshot_tests.cpp b/media/utils/tests/media_threadsnapshot_tests.cpp
index fc9aeab..57cf698 100644
--- a/media/utils/tests/media_threadsnapshot_tests.cpp
+++ b/media/utils/tests/media_threadsnapshot_tests.cpp
@@ -15,6 +15,7 @@
*/
#include <mediautils/ThreadSnapshot.h>
+#include <mediautils/TidWrapper.h>
#define LOG_TAG "media_threadsnapshot_tests"
@@ -38,7 +39,7 @@
TEST(media_threadsnapshot_tests, basic) {
using namespace std::chrono_literals;
- ThreadSnapshot threadSnapshot(gettid());
+ ThreadSnapshot threadSnapshot(getThreadIdWrapper());
threadSnapshot.onBegin();