VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)
生活随笔
收集整理的這篇文章主要介紹了
VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈
相關推薦:
VTS工具測試HIDL接口
編寫一個測試HIDL接口的vts(gtest)
Android11有哪些vts
文章目錄
- 1、查看Help
- 2、查看該測試項下有多少testcase
- 3、運行一個testcase(指定函數調用)
1、查看Help
./VtsHalKeymasterV4_0TargetTest --help
130|Project:/data # ./VtsHalKeymasterV4_0TargetTest --help This program contains tests written using Google Test. You can use the following command line flags to control its behavior:Test Selection:--gtest_list_testsList the names of all tests instead of running them. The name ofTEST(Foo, Bar) is "Foo.Bar".--gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]Run only the tests whose name matches one of the positive patterns butnone of the negative patterns. '?' matches any single character; '*'matches any substring; ':' separates two patterns.--gtest_also_run_disabled_testsRun all disabled tests too.Test Execution:--gtest_repeat=[COUNT]Run the tests repeatedly; use a negative count to repeat forever.--gtest_shuffleRandomize tests' orders on every iteration.--gtest_random_seed=[NUMBER]Random number seed to use for shuffling test orders (between 1 and99999, or 0 to use a seed based on the current time).Test Output:--gtest_color=(yes|no|auto)Enable/disable colored output. The default is auto.--gtest_print_time=0Don't print the elapsed time of each test.--gtest_output=(json|xml)[:DIRECTORY_PATH/|:FILE_PATH]Generate a JSON or XML report in the given directory or with the givenfile name. FILE_PATH defaults to test_detail.xml.--gtest_stream_result_to=HOST:PORTStream test results to the given server.Assertion Behavior:--gtest_death_test_style=(fast|threadsafe)Set the default death test style.--gtest_break_on_failureTurn assertion failures into debugger break-points.--gtest_throw_on_failureTurn assertion failures into C++ exceptions for use by an externaltest framework.--gtest_catch_exceptions=0Do not report exceptions as test failures. Instead, allow themto crash the program or throw a pop-up (on Windows).Except for --gtest_list_tests, you can alternatively set the corresponding environment variable of a flag (all letters in upper-case). For example, to disable colored text output, you can either specify --gtest_color=no or set the GTEST_COLOR environment variable to no.For more information, please read the Google Test documentation at https://github.com/google/googletest/. If you find a bug in Google Test (not one in your own code or tests), please report it to <googletestframework@googlegroups.com>.2、查看該測試項下有多少testcase
./VtsHalKeymasterV4_0TargetTest --gtest_list_tests
Project:/data # ./VtsHalKeymasterV4_0TargetTest --gtest_list_tests PerInstance/HmacKeySharingTest.GetParameters/0_default # GetParam() = "default"ComputeSharedHmac/0_default # GetParam() = "default"ComputeSharedHmacCorruptNonce/0_default # GetParam() = "default"ComputeSharedHmacCorruptSeed/0_default # GetParam() = "default" PerInstance/VerificationTokenTest.TestCreation/0_default # GetParam() = "default"MacChangesOnChangingTimestamp/0_default # GetParam() = "default" PerInstance/NewKeyGenerationTest.Rsa/0_default # GetParam() = "default"NoInvalidRsaSizes/0_default # GetParam() = "default"RsaNoDefaultSize/0_default # GetParam() = "default"Ecdsa/0_default # GetParam() = "default"EcdsaDefaultSize/0_default # GetParam() = "default"EcdsaInvalidSize/0_default # GetParam() = "default"EcdsaMismatchKeySize/0_default # GetParam() = "default"EcdsaAllValidSizes/0_default # GetParam() = "default"EcdsaAllValidCurves/0_default # GetParam() = "default"Hmac/0_default # GetParam() = "default"HmacCheckKeySizes/0_default # GetParam() = "default"HmacCheckMinMacLengths/0_default # GetParam() = "default"HmacMultipleDigests/0_default # GetParam() = "default"HmacDigestNone/0_default # GetParam() = "default" PerInstance/SigningOperationsTest.RsaSuccess/0_default # GetParam() = "default"RsaGetKeyCharacteristicsRequiresCorrectAppIdAppData/0_default # GetParam() = "default"RsaUseRequiresCorrectAppIdAppData/0_default # GetParam() = "default"RsaPssSha256Success/0_default # GetParam() = "default"RsaPaddingNoneDoesNotAllowOther/0_default # GetParam() = "default"NoUserConfirmation/0_default # GetParam() = "default"RsaPkcs1Sha256Success/0_default # GetParam() = "default"RsaPkcs1NoDigestSuccess/0_default # GetParam() = "default"RsaPkcs1NoDigestTooLong/0_default # GetParam() = "default"RsaPssSha512TooSmallKey/0_default # GetParam() = "default"RsaNoPaddingTooLong/0_default # GetParam() = "default"RsaAbort/0_default # GetParam() = "default"RsaUnsupportedPadding/0_default # GetParam() = "default"RsaNoDigest/0_default # GetParam() = "default"RsaNoPadding/0_default # GetParam() = "default"RsaTooShortMessage/0_default # GetParam() = "default"RsaSignWithEncryptionKey/0_default # GetParam() = "default"RsaSignTooLargeMessage/0_default # GetParam() = "default"EcdsaAllSizesAndHashes/0_default # GetParam() = "default"EcdsaAllCurves/0_default # GetParam() = "default"EcdsaNoDigestHugeData/0_default # GetParam() = "default"EcGetKeyCharacteristicsRequiresCorrectAppIdAppData/0_default # GetParam() = "default"EcUseRequiresCorrectAppIdAppData/0_default # GetParam() = "default"AesEcbSign/0_default # GetParam() = "default"HmacAllDigests/0_default # GetParam() = "default"HmacSha256TooLargeMacLength/0_default # GetParam() = "default"HmacSha256TooSmallMacLength/0_default # GetParam() = "default"HmacRfc4231TestCase3/0_default # GetParam() = "default"HmacRfc4231TestCase5/0_default # GetParam() = "default" PerInstance/VerificationOperationsTest.RsaSuccess/0_default # GetParam() = "default"RsaAllPaddingsAndDigests/0_default # GetParam() = "default"EcdsaAllDigestsAndCurves/0_default # GetParam() = "default"HmacSigningKeyCannotVerify/0_default # GetParam() = "default" PerInstance/ExportKeyTest.RsaUnsupportedKeyFormat/0_default # GetParam() = "default"RsaCorruptedKeyBlob/0_default # GetParam() = "default"EcCorruptedKeyBlob/0_default # GetParam() = "default"AesKeyUnexportable/0_default # GetParam() = "default" PerInstance/ImportKeyTest.RsaSuccess/0_default # GetParam() = "default"RsaKeySizeMismatch/0_default # GetParam() = "default"RsaPublicExponentMismatch/0_default # GetParam() = "default"EcdsaSuccess/0_default # GetParam() = "default"EcdsaP256RFC5915Success/0_default # GetParam() = "default"EcdsaP256SEC1Success/0_default # GetParam() = "default"Ecdsa521Success/0_default # GetParam() = "default"EcdsaSizeMismatch/0_default # GetParam() = "default"EcdsaCurveMismatch/0_default # GetParam() = "default"AesSuccess/0_default # GetParam() = "default"HmacKeySuccess/0_default # GetParam() = "default" PerInstance/ImportWrappedKeyTest.Success/0_default # GetParam() = "default"SuccessMasked/0_default # GetParam() = "default"WrongMask/0_default # GetParam() = "default"WrongPurpose/0_default # GetParam() = "default" PerInstance/EncryptionOperationsTest.RsaNoPaddingSuccess/0_default # GetParam() = "default"RsaNoPaddingShortMessage/0_default # GetParam() = "default"RsaNoPaddingTooLong/0_default # GetParam() = "default"RsaNoPaddingTooLarge/0_default # GetParam() = "default"RsaOaepSuccess/0_default # GetParam() = "default"RsaOaepInvalidDigest/0_default # GetParam() = "default"RsaOaepDecryptWithWrongDigest/0_default # GetParam() = "default"RsaOaepTooLarge/0_default # GetParam() = "default"RsaPkcs1Success/0_default # GetParam() = "default"RsaPkcs1TooLarge/0_default # GetParam() = "default"EcdsaEncrypt/0_default # GetParam() = "default"HmacEncrypt/0_default # GetParam() = "default"AesEcbRoundTripSuccess/0_default # GetParam() = "default"AesWrongMode/0_default # GetParam() = "default"AesWrongPurpose/0_default # GetParam() = "default"AesEcbNoPaddingWrongInputSize/0_default # GetParam() = "default"AesEcbPkcs7Padding/0_default # GetParam() = "default"AesEcbWrongPadding/0_default # GetParam() = "default"AesEcbPkcs7PaddingCorrupted/0_default # GetParam() = "default"AesCtrRoundTripSuccess/0_default # GetParam() = "default"AesIncremental/0_default # GetParam() = "default"AesCtrSp80038aTestVector/0_default # GetParam() = "default"AesCtrIncompatiblePaddingMode/0_default # GetParam() = "default"AesCtrInvalidCallerNonce/0_default # GetParam() = "default"AesCbcRoundTripSuccess/0_default # GetParam() = "default"AesCallerNonce/0_default # GetParam() = "default"AesCallerNonceProhibited/0_default # GetParam() = "default"AesGcmRoundTripSuccess/0_default # GetParam() = "default"AesGcmRoundTripWithDelaySuccess/0_default # GetParam() = "default"AesGcmDifferentNonces/0_default # GetParam() = "default"AesGcmTooShortTag/0_default # GetParam() = "default"AesGcmTooShortTagOnDecrypt/0_default # GetParam() = "default"AesGcmCorruptKey/0_default # GetParam() = "default"AesGcmAadNoData/0_default # GetParam() = "default"AesGcmMultiPartAad/0_default # GetParam() = "default"AesGcmAadOutOfOrder/0_default # GetParam() = "default"AesGcmBadAad/0_default # GetParam() = "default"AesGcmWrongNonce/0_default # GetParam() = "default"AesGcmCorruptTag/0_default # GetParam() = "default"TripleDesEcbRoundTripSuccess/0_default # GetParam() = "default"TripleDesEcbNotAuthorized/0_default # GetParam() = "default"TripleDesEcbPkcs7Padding/0_default # GetParam() = "default"TripleDesEcbNoPaddingKeyWithPkcs7Padding/0_default # GetParam() = "default"TripleDesEcbPkcs7PaddingCorrupted/0_default # GetParam() = "default"TripleDesTestVector/0_default # GetParam() = "default"TripleDesCbcRoundTripSuccess/0_default # GetParam() = "default"TripleDesCallerIv/0_default # GetParam() = "default"TripleDesCallerNonceProhibited/0_default # GetParam() = "default"TripleDesCbcNotAuthorized/0_default # GetParam() = "default"TripleDesCbcNoPaddingWrongInputSize/0_default # GetParam() = "default"TripleDesCbcPkcs7Padding/0_default # GetParam() = "default"TripleDesCbcNoPaddingKeyWithPkcs7Padding/0_default # GetParam() = "default"TripleDesCbcPkcs7PaddingCorrupted/0_default # GetParam() = "default"TripleDesCbcIncrementalNoPadding/0_default # GetParam() = "default" PerInstance/MaxOperationsTest.TestLimitAes/0_default # GetParam() = "default"TestLimitRsa/0_default # GetParam() = "default" PerInstance/AddEntropyTest.AddEntropy/0_default # GetParam() = "default"AddEmptyEntropy/0_default # GetParam() = "default"AddLargeEntropy/0_default # GetParam() = "default" PerInstance/AttestationTest.RsaAttestation/0_default # GetParam() = "default"RsaAttestationRequiresAppId/0_default # GetParam() = "default"EcAttestation/0_default # GetParam() = "default"EcAttestationRequiresAttestationAppId/0_default # GetParam() = "default"AttestationApplicationIDLengthProperlyEncoded/0_default # GetParam() = "default"AesAttestation/0_default # GetParam() = "default"HmacAttestation/0_default # GetParam() = "default" PerInstance/KeyDeletionTest.DeleteKey/0_default # GetParam() = "default"DeleteInvalidKey/0_default # GetParam() = "default"DeleteAllKeys/0_default # GetParam() = "default" PerInstance/UpgradeKeyTest.UpgradeKey/0_default # GetParam() = "default" PerInstance/ClearOperationsTest.TooManyOperations/0_default # GetParam() = "default" PerInstance/TransportLimitTest.LargeFinishInput/0_default # GetParam() = "default" TECNO-LC7:/data #3、運行一個testcase(指定函數調用)
例如,我們在vts源碼中看到如下代碼所示的內容,那么怎么讓其跑起來呢?
/** NewKeyGenerationTest.Rsa** Verifies that keymaster can generate all required RSA key sizes, and that the resulting keys have* correct characteristics.*/ TEST_P(NewKeyGenerationTest, Rsa) {for (auto key_size : ValidKeySizes(Algorithm::RSA)) {HidlBuf key_blob;KeyCharacteristics key_characteristics;ASSERT_EQ(ErrorCode::OK, GenerateKey(AuthorizationSetBuilder().RsaSigningKey(key_size, 65537).Digest(Digest::NONE).Padding(PaddingMode::NONE),&key_blob, &key_characteristics));ASSERT_GT(key_blob.size(), 0U);CheckBaseParams(key_characteristics);CheckCharacteristics(key_blob, key_characteristics);AuthorizationSet crypto_params;if (IsSecure()) {crypto_params = key_characteristics.hardwareEnforced;} else {crypto_params = key_characteristics.softwareEnforced;}EXPECT_TRUE(crypto_params.Contains(TAG_ALGORITHM, Algorithm::RSA));EXPECT_TRUE(crypto_params.Contains(TAG_KEY_SIZE, key_size))<< "Key size " << key_size << "missing";EXPECT_TRUE(crypto_params.Contains(TAG_RSA_PUBLIC_EXPONENT, 65537U));CheckedDeleteKey(&key_blob);} }可以使用如下命令,運行vts調用這個函數,注意testcase的名字是:PerInstance/NewKeyGenerationTest.Rsa/0_default
adb shell ./data/VtsHalKeymasterV4_0TargetTest \--gtest_filter=PerInstance/NewKeyGenerationTest.Rsa/0_default \--gtest_repeat=1000 \--gtest_color=yes \--gtest_break_on_failure總結
以上是生活随笔為你收集整理的VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [专栏目录]-Crypto学习笔记目录
- 下一篇: 如何编写一个测试HIDL接口的vts(g