Commit Graph

57 Commits

Author SHA1 Message Date
Dan Shi
4c6e4c7ec4 Merge "Rename vts-core to vts" into rvc-dev 2020-04-08 03:58:41 +00:00
Dan Shi
aad51fa000 Rename vts-core to vts
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.

Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
2020-04-07 16:37:40 -07:00
Dan Shi
f956a7ea0a Push prebuilt libvtswidevine to device for drm HAL tests
Bug: 143220441
Test: atest VtsHalDrmV1_0TargetTest \
  VtsHalDrmV1_1TargetTest\
  VtsHalDrmV1_2TargetTest
Change-Id: I4ad91c99956525120549321d227aaf6864877c76
Merged-In: I4ad91c99956525120549321d227aaf6864877c76
2020-04-07 12:55:00 -07:00
Robert Shih
ae3a851727 Merge "drm vts 1.0 refactor" 2020-01-29 05:31:10 +00:00
Robert Shih
e44ad509d6 Add drm hal/vts owners
Change-Id: Ie6f0116a0fc9f4590b3a272d877c0d5be719d624
2020-01-28 13:14:09 -08:00
Robert Shih
ec5d8ab919 drm vts 1.0 refactor
* accept drm scheme as part of test parameter
* extract test cases into separate library

Bug: 142397658
Change-Id: I2f56d4e892b2fe45eabf37b351b5017a67828ee4
2020-01-28 05:17:28 +00:00
Robert Shih
f2fd4adece drm vts: introduce helper library
The helper library includes
* gtest parameter structure (hal instance name, drm scheme uuid)
* existing vendor module APIs

Bug: 142397658
Test: VtsHalDrmV1_0TargetTest
Change-Id: Ifbb443fcb1414e45de2a2073ec545ddd422b9a4d
2020-01-27 20:16:43 +00:00
Dan Shi
d5f85888fe Convert VtsHalDrmV1_*TargetTest to be parameterized test
Removing dependency from VTS infrastructure so that test can run
standalone, for instance with atest/TEST_MAPPING. Once this is
done for every test, VTS can use the core testing infra.

Bug: 142397658
Test: atest VtsHalDrmV1_0TargetTest VtsHalDrmV1_1TargetTest \
  VtsHalDrmV1_2TargetTest
Change-Id: Ic436d949f5b26087e32c48fac220cd5abad8a443
2020-01-15 20:24:08 +00:00
Colin Cross
263d2df2c7 Use libcrypto_static instead of libcrypto
Replace libcrypto with libcrypto_static, which can be protected through
visibility to ensure only modules that don't affect FIPS certification
can use it.

Bug: 141248879
Test: m checkbuild
Change-Id: I8685cb06d15f3425eeb96d998ffda54c82dcd387
2019-09-18 11:07:09 -07:00
Chih-Hung Hsieh
65ab67312b Fix performance-for-range-copy warnings
Bug: 30413223
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,performance*
Change-Id: I1b76a22eab100a31e77048626e48169fe7eeaf92
2018-12-17 19:57:21 +00:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00
Zhuoyao Zhang
cf50a32e57 Convert drm hal test to use VtsHalHidlTargetTestEnvBase
* The testEnvBase template is only used to register the testing hal.
* The service name is specifically determined by the test logic, so
  disable the feature for vts to run the test against all service
  instance (by setting HalServiceCombMode::NO_COMBINATION)

Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalDrmV1_0Target
      vts-tradefed run vts -m VtsHalDrmV1_1Target

Change-Id: Ib2e005e8ccbc815067f0e9455fcd3e6c5ec151fb
2018-02-13 15:25:59 -08:00
Edwin Wong
31a86d2847 Cleanup drm_hal_clearkey_test.
To stay close to the original test, the only time the test will abort is
when it encounters errors in Setup.

The following changes are applied in this CL:

- #include <openssl/aes.h> should be sorted alphabetically
- gtest macro should follow convention of ASSERT_EQ(expected, actual)
- removed unused variables: num, ecount_buf and kNotSecure
- TestQueryKeyStatus needs to call closeSession()
- moved and renamed test dependent global constants:
   e.g. k256SubSampleByteCount, k512SubSampleClearBytes and k512SubSampleEncryptedBytes
- use isOK() for checking Status::OK, e.g.
   ASSERT_TRUE(cryptoPlugin->setMediaDrmSession(sessionId).isOk());

Test: VTS test
  adb shell /data/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest

bug: 68735305
Change-Id: Ic8f43b4c35644bf7223f24a531eae818e59e0f4a
2017-11-13 14:13:26 -08:00
Edwin Wong
36c9c34bdb Add tests to validate key length for clearkey plugin. am: cc77a50e96
am: 01802815eb

Change-Id: I298891316951cc6ba5f000b796fb60c0b4f76290
2017-11-03 05:42:54 +00:00
Edwin Wong
01802815eb Add tests to validate key length for clearkey plugin.
am: cc77a50e96

Change-Id: Id61b8d76ef30a6c66edd10cd48b4ecdad795165d
2017-11-03 05:40:23 +00:00
Edwin Wong
cc77a50e96 Add tests to validate key length for clearkey plugin.
AesCtrDecryptor::decrypt() doesn't check whether the size of "key"  is
equal to 16 bytes,  which may lead to an OOB read problem in the context
of mediadrmserver. The fix is in clearkey plugin. Add tests to validate
the fix.

Test: VTS test
  adb shell /data/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest

bug: 63982768

Merged-In: Ife2da17e7f39d8031bc36b83c3b27ba5e9d83eb7
Change-Id: Ife2da17e7f39d8031bc36b83c3b27ba5e9d83eb7
2017-11-02 14:46:43 -07:00
Edwin Wong
48311a8c27 Fix VtsHalDrmV1_0Target clearkey tests.
1. Fix the following issues:
  - queryKeyStatus is now implemented, do not return
    ERROR_DRM_CANNOT_HANDLE anymore
  - expectedKeyRequest and knownKeyResponse should use
    '-' and '_' instead of '+' and '/' for base64Url encode;
    one uint8_t change from 0x2b to 0x2d for each vector

2. Add tests to create clearkey drm and crypto plugin using
both common pssh box format system ID and clearkey scheme
UUID.

Test: Vts test on Marlin and Taimen
  adb shell /data/nativetest/VtsHalDrmV1_0TargetTest/
  VtsHalDrmV1_0TargetTest

Test: Cts ClearKeyTest on Marlin and Taimen
  ANDROIOP= ./android-cts/tools/cts-tradefed run cts
  -m CtsMediaTestCases
  --test android.media.cts.ClearKeySystemTest

Test: ClearKey plugin unit tests
  adb shell LD_LIBRARY_PATH="/vendor/lib/mediadrm"
  /data/nativetest/ClearKeyDrmUnitTest/ClearKeyDrmUnitTest

Test: netflix and Play Movies & TV for sanity check

bug: 66327050
Change-Id: Icfbe715cf246a7c5253d5f104d0fd446618b18bd
2017-10-04 03:31:27 +00:00
TreeHugger Robot
ed827b8210 Merge "Drm test static links to HAL def libs." into oc-mr1-dev 2017-08-24 21:54:47 +00:00
Tri Vo
78e8902160 Drm test static links to HAL def libs.
Bug: 64040096
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check 
--skip-preconditions --module VtsHalDrmV1_0Target
Change-Id: If23f1fda06e9188b84fc94ada0e22ca7e5b45aa9
2017-08-22 16:10:27 +00:00
Jeff Tinker
8813c2b43f Allow clearkey tests to run if no vendor modules am: 5db2e67293
am: 66812dc364

Change-Id: I6369dd486c35c842c1d0f1f151b3b468ef94ab4c
2017-08-18 04:13:04 +00:00
Jeff Tinker
66812dc364 Allow clearkey tests to run if no vendor modules
am: 5db2e67293

Change-Id: I594b8b5e9857d4a6c19d0847acf7c13949e13614
2017-08-18 04:07:04 +00:00
Jeff Tinker
5db2e67293 Allow clearkey tests to run if no vendor modules
DRM cannot skip all tests when vendor modules are
not present. Currently even the clearkey tests are
skipping when there is no vendor lib. This can be
replicated by just pushing the DRM VTS test binary
build from master (or DR or MR) and executing the
binary without VTS. All test cases skip (including
clearkey).

This change prevents exiting when no vendor
modules are found.

Test: Push the test binary and confirm that the
clearkey tests run.

bug:64459011
Change-Id: Ic5f554d9b223d6ca4bf26f92f072254cc18f4620
2017-08-17 17:39:19 +00:00
Edwin Wong
111848cbd0 Add test for additional ClearKey UUID.
Test for both ClearKey plugin UUIDs in DrmHalClearkeyFactoryTest.

Test: VTS - VtsHalDrmV1_0TargetTest

bug: 64386897
Change-Id: Id7f140518910a87efdf9eaa19ce16113e206264f
2017-08-08 15:46:15 -07:00
Tri Vo
8da14867cf Remove unused variables.
Test: compiles
Change-Id: Idf7631f98ad4e04f4a43e66161ba27e93d180241
2017-08-03 17:32:26 -07:00
Edwin Wong
3b8a9ed510 Check for nullptr IMemory.
mapMemory can return a nullptr, must check for nullptr
IMemory.

Test: Play Movies (stream and pin movies)
Test: VtsHalDrmV1_0TargetTest

bug: 38386082
Change-Id: I0766380a5843415ef0260c26bd21d4b4051b20ea
2017-07-18 10:45:16 -07:00
Yahan Zhou
b95c8638c1 Merge "Fix ICryptoFactory service" into oc-dev am: 2c57b00b17
am: ef38715ba3

Change-Id: Iebc7405f6603c2838ecaa917357eb81a977f140c
2017-06-28 17:33:39 +00:00
Yahan Zhou
bd0c79c262 Merge "Fix ICryptoFactory service" into oc-dev
am: 2c57b00b17

Change-Id: If739ab2d5a5c93ddd2bb8720305311ee49a5503d
2017-06-28 17:30:40 +00:00
Yahan Zhou
ccc11be665 Fix ICryptoFactory service
BUG: 62642564
BUG: 62138343

Test: vts -m VtsHalDrmV1_0Target

Change-Id: Ic697a32b111804fc3dc78f1b6e6b77538d7eeea9
(cherry picked from commit 85a5d8855b07aec3727532983de38c324960d6d1)
2017-06-22 17:29:08 +00:00
Jiyong Park
07770c78e1 Remove dependency to libmediadrm from drm HAL
drm HAL has been using libmediadrm for android::SharedLibrary class and
android::PluginLoader class. This is a Treble violation since
libmediadrm is a framework-only library that is not available to
vendors.

To solve the problem, the two classes are copied into this directory
to form a small static library android.hardware.drm@1.0-helper.a.

Bug: 38302533
Test: mm under /hardware/interfaces/drm/1.0/default and
/hardware/interfaces/drm/1.0/vts/functional

Change-Id: I7b4e5cdb3bc815e971e0c3b7ec99ea86042e13eb
2017-06-20 12:32:28 +09:00
Jeff Tinker
3b65eae2fc Merge "Fix VtsHalDrmV1_0Target test failure" into oc-dev am: 1fd47b29b3
am: e126cf8cc1

Change-Id: I47ee7ecc392a88e0f4ac3ea570e5a55947be9f09
2017-04-25 22:18:06 +00:00
Jeff Tinker
a33256b811 Fix VtsHalDrmV1_0Target test failure
DrmHalVendorFactoryTest.EmptyPluginUUIDNotSupported
was failing on 64 bit builds. The test was using
an uninitialized hidl_array as the empty UUID which
was incorrect. This change initializes the array
contents to null values.

Test: drm hal tests pass

bug: 37172151
Change-Id: I0acb86921f0daceba30fa7879980ce819db64a74
2017-04-24 17:02:17 -07:00
Jeff Tinker
725771fdc4 Merge "VtsHalDrmV1_0Target test failure" into oc-dev am: c68698337c
am: bb68f35c9b

Change-Id: I05fd10acd902c70140a3acaec6096419f17159dc
2017-04-15 08:02:32 +00:00
TreeHugger Robot
c68698337c Merge "VtsHalDrmV1_0Target test failure" into oc-dev 2017-04-15 07:53:27 +00:00
Jeff Tinker
bb2223efe8 Merge "Skip tests when the drm scheme is not installed" into oc-dev am: fdde895c34
am: 09e8fb099d

Change-Id: I2f1ff0469264c3611ab6e19d3b69a3b9d9c0f659
2017-04-15 00:12:26 +00:00
Jeff Tinker
779678f559 VtsHalDrmV1_0Target test failure
The DrmHalVendorPluginTest.RestoreKeysClosedSession test wasn't
taking into account the policy of the asset, so both streaming
and offline assets were included in the test which is incorrect.

Test: drm vts test passes

bug:37358379
Change-Id: I41116e77a1ae306bb1a484e3714360c8553590f0
2017-04-14 16:13:19 -07:00
Ryan Campbell
d17815c4e3 Merge "Add testcases for restoreKeys API." into oc-dev am: 007d23e7cb
am: 3b1bb60add

Change-Id: I25d4d2a54ec29c1f44b5a5d020b33510939ca49b
2017-04-14 21:47:21 +00:00
Jeff Tinker
be310b2b77 Skip tests when the drm scheme is not installed
Not all drm hal implmentations will be present on every device,
but the vendor modules will be. This change allows tests to be skipped
when a drm hal implementation isn't present.

Test: drm vts tests pass with widevine on a gms
device (tests executed) and tests pass on an aosp
device (tests skipped).

Change-Id: I0b87f501a45103960193279eb5b4b2cd1c113acd
2017-04-14 13:28:32 -07:00
Ryan Campbell
6799c3a5c5 Add testcases for restoreKeys API.
Add a positive and two negative test cases for the restoreKeys
function in DRM vendor plugin.

Test: vts-tradefed run commandAndExit vts -m VtsHalDrmV1_0Target
--primary-abi-only --skip-all-system-status-check
Bug: 34178477
Change-Id: Ia7f323dbd92e7281efa96b9b7d07b85123e819f4
2017-04-14 00:18:16 -07:00
Jeff Tinker
f783c20b0e Merge "DRM vts test bug fixes" into oc-dev am: ca7205fa61
am: 52ea2d0772

Change-Id: Ibe290e5ef25832b3c132c9406cc8ab238666a816
2017-04-13 18:17:56 +00:00
TreeHugger Robot
ca7205fa61 Merge "DRM vts test bug fixes" into oc-dev 2017-04-13 17:53:05 +00:00
Jeff Tinker
9dee7287e8 DRM vts test bug fixes
A session wasn't being closed in the ListenerKeysChange
test, that was causing erratic behavior on subsequent tests.
The expected return code was incorrect in the test
AttemptDecryptWithKeysRemoved.

bug:37272108
Change-Id: I11590b85c81548622359d91ebc9af75276a7b58c
2017-04-13 00:56:34 -07:00
Jeff Tinker
4c9339e2d1 Merge "Change drm/crypto service names to "default"" into oc-dev am: 8eb3a1ea59
am: 94c3beecfc

Change-Id: I004d1f2341ebac8b7876128602840772c6223197
2017-04-13 02:39:47 +00:00
Jeff Tinker
a0b44e644a Change drm/crypto service names to "default"
bug: 36371166

Test: vts drm hidl test

Change-Id: Iae98708c4f9b58dc697fb54c9f9b67d99e7ed0cf
2017-04-11 16:25:15 -07:00
Jeff Tinker
dc90103a3f Merge "Support binderized and passthrough vendor services" into oc-dev am: 25197f0f6f
am: 3d1a5c83ce

Change-Id: I3b5db2e5edef2b3359d529718d6feb8e94257e1d
2017-04-10 22:41:19 +00:00
TreeHugger Robot
25197f0f6f Merge "Support binderized and passthrough vendor services" into oc-dev 2017-04-10 22:14:20 +00:00
Jeff Tinker
bf064c8b31 Merge "Fix event listener timeout issues" into oc-dev am: 61fd056380
am: c7505938fa

Change-Id: I1b54ecc574169c0701d52840328eeffb266d6051
2017-04-10 18:34:22 +00:00
TreeHugger Robot
61fd056380 Merge "Fix event listener timeout issues" into oc-dev 2017-04-10 18:10:15 +00:00
Jeff Tinker
cf3916a1fd Support binderized and passthrough vendor services
Previously only the vendor service name was used
to get the drm and crypto services, which would work
either for binderized or passthrough devices, but not
both. With this change, the vendor service name is
tried first, and failing that the default passthrough
service is used.

Change-Id: I05e9552da992e8d9dbba0f8dde485406262410a9
related-to-bug:34178477
Test: drm vts test
2017-04-07 17:41:49 -07:00
TreeHugger Robot
04b10ccc41 Merge "Fix transitive includes." 2017-04-06 23:36:13 +00:00
Jeff Tinker
3da372af67 Fix event listener timeout issues
The drm vts event listener tests would hang if event
callouts failed to work as expected. Use the vts test
callback template instead.

Change-Id: I5234f5760d90c1e884badc25cd251da27c2c672d
related-to-bug:34178477
2017-04-06 16:09:02 -07:00