Document some interface differences. Test: mediametrics_tests Change-Id: Idf19827e79136dcca6522e6df53e28e3ea4a2231gugelfrei
parent
17dbaf2806
commit
c89c8dc5c0
@ -0,0 +1,25 @@
|
||||
cc_test {
|
||||
name: "mediametrics_tests",
|
||||
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-Wextra",
|
||||
],
|
||||
|
||||
include_dirs: [
|
||||
"frameworks/av/services/mediaanalytics",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"libbinder",
|
||||
"liblog",
|
||||
"libmediaanalyticsservice",
|
||||
"libmediametrics",
|
||||
"libutils",
|
||||
],
|
||||
|
||||
srcs: [
|
||||
"mediametrics_tests.cpp",
|
||||
],
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Run tests in this directory.
|
||||
#
|
||||
|
||||
if [ -z "$ANDROID_BUILD_TOP" ]; then
|
||||
echo "Android build environment not set"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# ensure we have mm
|
||||
. $ANDROID_BUILD_TOP/build/envsetup.sh
|
||||
|
||||
mm
|
||||
|
||||
echo "waiting for device"
|
||||
|
||||
adb root && adb wait-for-device remount
|
||||
|
||||
echo "========================================"
|
||||
|
||||
echo "testing mediametrics"
|
||||
adb push $OUT/data/nativetest/mediametrics_tests/mediametrics_tests /system/bin
|
||||
adb shell /system/bin/mediametrics_tests
|
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "mediametrics_tests"
|
||||
#include <utils/Log.h>
|
||||
|
||||
#include "MediaAnalyticsService.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <media/MediaAnalyticsItem.h>
|
||||
|
||||
using namespace android;
|
||||
|
||||
TEST(mediametrics_tests, instantiate) {
|
||||
sp mediaMetrics = new MediaAnalyticsService();
|
||||
status_t status;
|
||||
|
||||
// NOTE: submission of items to MediaMetrics releases ownership, even on error.
|
||||
|
||||
// random keys ignored when empty
|
||||
status = mediaMetrics->submit(MediaAnalyticsItem::create("random_key"), false);
|
||||
ASSERT_EQ(MediaAnalyticsItem::SessionIDInvalid, status);
|
||||
|
||||
// random keys ignored with data
|
||||
auto random_key = MediaAnalyticsItem::create("random_key");
|
||||
random_key->setInt32("foo", 10);
|
||||
status = mediaMetrics->submit(random_key, false);
|
||||
ASSERT_EQ(MediaAnalyticsItem::SessionIDInvalid, status);
|
||||
|
||||
// known keys ignored if empty
|
||||
status = mediaMetrics->submit(MediaAnalyticsItem::create("audiotrack"), false);
|
||||
ASSERT_EQ(MediaAnalyticsItem::SessionIDInvalid, status);
|
||||
|
||||
auto audiotrack = MediaAnalyticsItem::create("audiotrack");
|
||||
audiotrack->addInt32("foo", 10);
|
||||
status = mediaMetrics->submit(audiotrack, false);
|
||||
ASSERT_GT(status, MediaAnalyticsItem::SessionIDNone);
|
||||
|
||||
mediaMetrics->dump(fileno(stdout), {} /* args */);
|
||||
}
|
Loading…
Reference in new issue