Isolate GYP target and .isolate files for tests

Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_integrationtests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_integrationtests
* video_capture_integrationtests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_integrationtests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above.
BUG=1916
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1673004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
kjellander@webrtc.org
2013-08-15 10:02:06 +00:00
parent d690eab54f
commit d7a4d235d2
38 changed files with 894 additions and 5 deletions

View File

@@ -15,5 +15,43 @@
],
},
}],
['OS=="linux" or OS=="mac" or OS=="win"', {
'variables': {
'command': [
'../../testing/test_env.py',
'../../tools/swarm_client/googletest/run_test_cases.py',
'<(PRODUCT_DIR)/modules_unittests<(EXECUTABLE_SUFFIX)',
],
'isolate_dependency_tracked': [
'../../data/voice_engine/audio_tiny48.wav',
'../../DEPS',
'../../resources/audio_coding/neteq_network_stats.dat',
'../../resources/audio_coding/neteq_rtcp_stats.dat',
'../../resources/audio_coding/neteq_universal_new.rtp',
'../../resources/audio_coding/neteq_universal_ref.pcm',
'../../resources/audio_coding/testfile32kHz.pcm',
'../../resources/deflicker_before_cif_short.yuv',
'../../resources/far16_stereo.pcm',
'../../resources/far32_stereo.pcm',
'../../resources/far8_stereo.pcm',
'../../resources/foremanColorEnhanced_cif_short.yuv',
'../../resources/foreman_cif.yuv',
'../../resources/foreman_cif_short.yuv',
'../../resources/near16_stereo.pcm',
'../../resources/near32_stereo.pcm',
'../../resources/near8_stereo.pcm',
'../../resources/video_coding/frame-ethernet-ii.pcap',
'../../resources/video_coding/frame-loopback.pcap',
'../../resources/video_coding/pltype103.rtp',
'../../resources/video_coding/ssrcs-2.pcap',
'../../resources/video_coding/ssrcs-3.pcap',
'../../testing/test_env.py',
'../../tools/swarm_client/run_isolated.py',
'../../tools/swarm_client/googletest/run_test_cases.py',
'../../tools/swarm_client/third_party/upload.py',
'<(PRODUCT_DIR)/modules_unittests<(EXECUTABLE_SUFFIX)',
],
},
}],
],
}
}