Files
android/libwvdrmengine/build_all_unit_tests.sh
Alex Dale 1603ba127f Renaming of Usage Table related variables and types.
[ Merge of http://go/wvgerrit/164077 ]

This CL makes major changes to the names of variables and types that
are related to the usage table, header, entries, entry indexes, and
other related data.

The renaming followed these rules:
1)  "Usage table header" will exclusively refer to the header blob
    that is OEMCrypto specific.  The CDM class "UsageTableHeader"
    is the CDM-layer's abstraction around the "usage table" concept.
    The name has been updated to reflect that.
2)  The "Cdm" prefix is only used for the CDM-specific data types for
    the usage table and entry info.  It has been removed from
    OEMCrypto-specific types.
    - UsageTableHeader -> CdmUsageTable
    - CdmUsageTableHeader -> UsageTableHeader
    - CdmUsageEntry -> UsageEntry
3)  The "usage_" prefix has been removed from variables when the usage
    table or usage entries are the subject of the function or class.
4)  UsageEntryIndex is the type for entry indexes, instead of directly
    using uint32_t.  This matches how we wrap other types in
    "wv_cdm_types.h"
5)  Changed entry "number" to entry "index".
6)  Vectors of elements have been renamed to be either pluralized or
    have a suffix "_list".
7)  "Usage info" was occasionally being used to refer to the usage
    table or entries generally, rather than specifically secure-stop.
    - CryptoSession::HasUsageInfoSupport() -> HasUsageTableSupport()

The most major change is that the files "usage_table_header*" have
been renamed to be "cdm_usage_table*".

Bug: 242914226
Test: run_x86_64_tests and request_license_test
Change-Id: Iee98446b71f4f2934d3c9e0fb949eb05b84d1f8c
2022-12-21 15:50:49 -08:00

116 lines
3.2 KiB
Bash
Executable File

#!/bin/sh
set -e
if [ -z "$ANDROID_BUILD_TOP" ]; then
echo "Android build environment not set"
exit -1
fi
# Read arguments in case the user wants to do a multicore build or
# copy files to a specific android device by providing a serial number.
NUM_CORES=1
SERIAL_NUM=""
while getopts "j:s:" opt; do
case $opt in
j)
NUM_CORES=$OPTARG
;;
s)
SERIAL_NUM="-s $OPTARG"
;;
esac
done
# Define the relevant aliases
. $ANDROID_BUILD_TOP/build/envsetup.sh
# Build all the targets
# This list is slightly longer than the one in run_all_unit_tests.sh because
# it does not run very long tests or tests needing special setup.
WV_UNITTESTS="base64_test \
buffer_reader_test \
cdm_coverage_test \
cdm_engine_test \
cdm_engine_metrics_decorator_unittest \
cdm_feature_test \
cdm_extended_duration_test \
cdm_session_unittest \
cdm_usage_table_unittest \
certificate_provisioning_unittest \
counter_metric_unittest \
crypto_session_unittest \
device_files_unittest \
distribution_unittest \
duration_use_case_test \
event_metric_unittest \
file_store_unittest \
file_utils_unittest \
generic_crypto_unittest \
hal_metrics_adapter_unittest \
http_socket_test \
initialization_data_unittest \
keybox_ota_test \
libwvdrmdrmplugin_hal_test \
libwvdrmengine_hal_test \
libwvdrmmediacrypto_hal_test \
license_keys_unittest \
license_unittest \
metrics_collections_unittest \
oemcrypto_test \
odk_test \
okp_fallback_policy_test \
ota_keybox_provisioner_test \
policy_engine_constraints_unittest \
policy_engine_unittest \
policy_integration_test \
reboot_test \
request_license_test \
rw_lock_test \
service_certificate_unittest \
system_id_extractor_unittest \
timer_unittest \
value_metric_unittest \
wv_cdm_metrics_test"
cd $ANDROID_BUILD_TOP
pwd
m -j $NUM_CORES $WV_UNITTESTS
# Detect the device and check if Verity is going to stop the script from working
echo "waiting for device"
ADB_OUTPUT=`adb $SERIAL_NUM root && echo ". " && adb $SERIAL_NUM wait-for-device remount`
echo $ADB_OUTPUT
if echo $ADB_OUTPUT | grep -qi "verity"; then
echo
echo "ERROR: This device has Verity enabled. build_and_run_all_unit_tests.sh "
echo "does not work if Verity is enabled. Please disable Verity with"
echo "\"adb $SERIAL_NUM disable-verity\" and try again."
exit -1
fi
# Push the files to the device
# Given a local path to a file, this will try to push it to /data/nativetest.
# If that fails, an error message will be printed.
try_adb_push() {
# android-tests.zip requires /data/nativetest, we should use the same
if [ -f $OUT/data/nativetest/$1 ]; then
test_file=$OUT/data/nativetest/$1
elif [ -f $OUT/data/nativetest/vendor/$1/$1 ]; then
test_file=$OUT/data/nativetest/vendor/$1/$1
else
echo "I cannot find $1"
echo "I think it should be in $OUT/data/nativetest"
exit 1
fi
adb $SERIAL_NUM shell mkdir -p /data/nativetest
adb $SERIAL_NUM push $test_file /data/nativetest/$1
}
# Push the tests to the device
for f in $WV_UNITTESTS; do
try_adb_push $f
done