Skip to content
  • Tom Finegan's avatar
    Add a test target with sharding support to the CMake build. · e9d70c9b
    Tom Finegan authored
    Two major things going on here:
    - One target is created for each file in test-data.sha1 (testdata_N),
      and the testdata target now depends on all testdata_N targets. The
      testdata build rule can now run with as many jobs as there are
      input files to speed up test data download.
    - GTest sharding support has been added to the tests via a runtests
      custom build target. First, the number of processors is detected,
      and then a custom target is created for each processor (test_N).
      Once each test_N target is created, the runtests custom target
      is created, and then made to depend on each test_N target. When
      CMake is unable to detect the number of processors 10 test targets
      are created. Each custom target then sets the GTEST_SHARD_INDEX and
      GTEST_TOTAL_SHARDS environment variables, allowing GTest to handle
      sharding internally.
    
    BUG=aomedia:76,aomedia:469
    
    Change-Id: Ib6b7974932396fbf44b735d37155fa57561027ab
    e9d70c9b