Reduce compilation time by dynamic registration.
Prior to this CL, the test generator will generate CTS and VTS test
files with TEST_F definitions for each spec file. This CL removes
all the generated source codes for test definitions by employing
dynamic registration:
* In each example file, each generated test model is registered to the
TestModelManager from a dummy global variable initialization.
* Create value-parameterized test suites to instantiate generated tests
from the registered test models.
Four test suites are affected:
* GeneratedTests.<test_name>
-> TestGenerated/GeneratedTests.Test/<test_name>
* DynamicOutputShapeTest.<test_name>
-> TestGenerated/DynamicOutputShapeTest.Test/<test_name>
* GeneratedValidationTests.<test_name>
-> TestGenerated/GeneratedValidationTests.Test/<test_name>
* ComplianceTest.<test_name>
-> TestGenerated/GeneratedComplianceTest.Test/<test_name>
Or in CTS
* ComputeMode/GeneratedTests.<test_name>/[0-2]
-> TestGenerated/GeneratedTests.{Sync,Async,Burst}/<test_name>
This CL additionally fixes the issue that DynamicOutputShapeTest and
GeneratedValidationTests were missing from CTS.
This CL will reduce the NNAPI test compliation time.
Before:
$ rm -r generated/spec_* && specs/generate_all_tests.sh
$ m NeuralNetworksTest_static -j$(nproc)
#### build completed successfully (02:27 (mm:ss)) ####
After:
$ rm -r generated/spec_* && specs/generate_all_tests.sh
$ m NeuralNetworksTest_static -j$(nproc)
#### build completed successfully (58 seconds) ####
Bug: 120601396
Test: NNT_static
Change-Id: Ib1d934228ca24fbc9fb01557551d78eff96cb9db
10 files changed