Fix UniquePtr Calls

This change corrects some problems with the unit tests and make files
for the libcleardrmengine.

Change-Id: Iafd8aae2ecae3885ad4bbfdf9257bce6f62f98dc
This commit is contained in:
Fred Gylys-Colwell
2012-12-21 10:47:41 -08:00
committed by Jeff Tinker
parent fede3bffdd
commit 8ab3b10971
5 changed files with 25 additions and 15 deletions

View File

@@ -39,12 +39,12 @@ TEST(WVCryptoPluginTest, ManagesASession) {
oemCryptoSessionClosed = false;
closedCryptoSession = 0;
UniquePtr<WVCryptoPlugin> plugin = new WVCryptoPlugin();
UniquePtr<WVCryptoPlugin> plugin(new WVCryptoPlugin());
EXPECT_TRUE(oemCryptoSessionOpened) <<
"WVCryptoPlugin did not call OEMCrypto_OpenSession()";
plugin.clear();
plugin.reset();
EXPECT_TRUE(oemCryptoSessionClosed) <<
"WVCryptoPlugin did not call OEMCrypto_CloseSession()";
@@ -53,7 +53,7 @@ TEST(WVCryptoPluginTest, ManagesASession) {
}
TEST(WVCryptoPluginTest, CorrectlyReportsSecureBuffers) {
UniquePtr<WVCryptoPlugin> plugin = new WVCryptoPlugin();
UniquePtr<WVCryptoPlugin> plugin(new WVCryptoPlugin());
EXPECT_FALSE(plugin->requiresSecureDecoderComponent("video/mp4")) <<
"WVCryptoPlugin incorrectly expects a secure video decoder";
@@ -120,7 +120,7 @@ TEST(WVCryptoPluginTest, AttemptsToDecrypt) {
memset(decryptOffsets, 0, sizeof(decryptOffsets));
memset(decryptOutBuffers, 0, sizeof(decryptOutBuffers));
UniquePtr<WVCryptoPlugin> plugin = new WVCryptoPlugin();
UniquePtr<WVCryptoPlugin> plugin(new WVCryptoPlugin());
android::CryptoPlugin::SubSample subSamples[3];
subSamples[0].mNumBytesOfEncryptedData = 16;

View File

@@ -5,6 +5,7 @@
#ifndef WV_CREATE_DRM_PLUGIN_FACTORY_H_
#define WV_CREATE_DRM_PLUGIN_FACTORY_H_
#include "media/stagefright/foundation/ABase.h"
#include "media/drm/DrmEngineAPI.h"
#include "media/hardware/CryptoAPI.h"

View File

@@ -23,6 +23,7 @@ LOCAL_STATIC_LIBRARIES := \
LOCAL_SHARED_LIBRARIES := \
libstlport \
liblog \
libdl \
libutils \
LOCAL_MODULE := libclearkeydrmengine_test

View File

@@ -7,8 +7,8 @@
#include "gtest/gtest.h"
TEST(CreateDrmPluginFactoryTest, CreatesObject) {
UniquePtr<android::DrmPluginFactory> factory = createDrmPluginFactory();
UniquePtr<android::DrmPluginFactory> factory(createDrmPluginFactory());
EXPECT_NE((android::DrmPluginFactory*)NULL, factory) <<
EXPECT_NE((android::DrmPluginFactory*)NULL, factory.get() ) <<
"createDrmPluginFactory() returned null";
}

View File

@@ -4,6 +4,7 @@
#include "utils/UniquePtr.h"
#include "WVDrmPluginFactory.h"
#include "media/drm/DrmClientAPI.h"
#include "OEMCryptoDASH.h"
#include "gtest/gtest.h"
@@ -25,7 +26,7 @@ const uint8_t kUnknownUUID[16] = {
};
TEST(WVDrmPluginFactoryTest, SupportsSupportedCryptoSchemes) {
UniquePtr<WVDrmPluginFactory> factory = new WVDrmPluginFactory();
UniquePtr<WVDrmPluginFactory> factory(new WVDrmPluginFactory());
EXPECT_TRUE(factory->isCryptoSchemeSupported(kWidevineUUID)) <<
"WVDrmPluginFactory does not support Widevine's UUID";
@@ -35,15 +36,15 @@ TEST(WVDrmPluginFactoryTest, SupportsSupportedCryptoSchemes) {
}
TEST(WVDrmPluginFactoryTest, DoesNotSupportUnsupportedCryptoSchemes) {
UniquePtr<WVDrmPluginFactory> factory = new WVDrmPluginFactory();
UniquePtr<WVDrmPluginFactory> factory(new WVDrmPluginFactory());
EXPECT_FALSE(factory->isCryptoSchemeSupported(kUnknownUUID)) <<
"WVDrmPluginFactory incorrectly claims to support an unknown UUID";
}
TEST(WVDrmPluginFactoryTest, CreatesCryptoPlugins) {
UniquePtr<WVDrmPluginFactory> factory = new WVDrmPluginFactory();
UniquePtr<android::CryptoPlugin> plugin;
UniquePtr<WVDrmPluginFactory> factory(new WVDrmPluginFactory());
android::CryptoPlugin *plugin;
status_t result = factory->createCryptoPlugin(kWidevineUUID, NULL, 0, &plugin);
@@ -51,11 +52,13 @@ TEST(WVDrmPluginFactoryTest, CreatesCryptoPlugins) {
"WVDrmPluginFactory returned error from createCryptoPlugin()";
EXPECT_NE((android::CryptoPlugin *)NULL, plugin) <<
"WVDrmPluginFactory's createCryptoPlugin() did not create a plugin";
delete plugin;
}
TEST(WVDrmPluginFactoryTest, DoesNotCreateDrmClientPlugins) {
UniquePtr<WVDrmPluginFactory> factory = new WVDrmPluginFactory();
UniquePtr<android::DrmClientPlugin> plugin;
UniquePtr<WVDrmPluginFactory> factory(new WVDrmPluginFactory());
android::DrmClientPlugin *plugin;
status_t result = factory->createDrmClientPlugin(kWidevineUUID, NULL, 0, &plugin);
@@ -63,12 +66,14 @@ TEST(WVDrmPluginFactoryTest, DoesNotCreateDrmClientPlugins) {
"WVDrmPluginFactory did not indicate that createDrmClientPlugin() is not implemented";
EXPECT_EQ((android::DrmClientPlugin *)NULL, plugin) <<
"WVDrmPluginFactory's createDrmClientPlugin() created a plugin (?!?)";
delete plugin;
}
TEST(WVDrmPluginFactoryTest, RefusesToCreateWithUnsupportedCryptoScheme) {
UniquePtr<WVDrmPluginFactory> factory = new WVDrmPluginFactory();
UniquePtr<android::CryptoPlugin> cryptoPlugin;
UniquePtr<android::DrmClientPlugin> drmClientPlugin;
UniquePtr<WVDrmPluginFactory> factory(new WVDrmPluginFactory());
android::CryptoPlugin *cryptoPlugin;
android::DrmClientPlugin *drmClientPlugin;
status_t result;
result = factory->createCryptoPlugin(kUnknownUUID, NULL, 0, &cryptoPlugin);
@@ -82,6 +87,9 @@ TEST(WVDrmPluginFactoryTest, RefusesToCreateWithUnsupportedCryptoScheme) {
"WVDrmPluginFactory did not reject unknown UUID when creating a DrmClientPlugin";
EXPECT_EQ((android::DrmClientPlugin *)NULL, drmClientPlugin) <<
"WVDrmPluginFactory created a DrmClientPlugin despite having an unknown UUID";
delete cryptoPlugin;
delete drmClientPlugin;
}
bool oemCryptoInitialized;