Index: media/audio/audio_unittest_util.h |
diff --git a/media/audio/audio_unittest_util.h b/media/audio/audio_unittest_util.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3bd0dfad676c93109e845e076abd8b5191e47bb1 |
--- /dev/null |
+++ b/media/audio/audio_unittest_util.h |
@@ -0,0 +1,34 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MEDIA_AUDIO_AUDIO_UNITTEST_UTIL_H_ |
+#define MEDIA_AUDIO_AUDIO_UNITTEST_UTIL_H_ |
+ |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace media { |
+ |
+// Use in tests to either skip or fail a test when the system is missing a |
+// required audio device or library. If the --require-audio-hardware-for-testing |
+// flag is set, missing requirements will cause the test to fail. Otherwise it |
+// will be skipped. |
+#define ABORT_AUDIO_TEST_IF_NOT(requirements_satisfied) \ |
+ do { \ |
+ bool fail = false; \ |
+ if (ShouldAbortAudioTest(requirements_satisfied, #requirements_satisfied, \ |
+ &fail)) { \ |
+ if (fail) \ |
+ FAIL(); \ |
+ else \ |
+ return; \ |
+ } \ |
+ } while (false) |
+ |
+bool ShouldAbortAudioTest(bool requirements_satisfied, |
+ const char* requirements_expression, |
+ bool* should_fail); |
+ |
+} // namespace media |
+ |
+#endif // MEDIA_AUDIO_AUDIO_UNITTEST_UTIL_H_ |