|  | /* | 
|  | *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
|  | * | 
|  | *  Use of this source code is governed by a BSD-style license | 
|  | *  that can be found in the LICENSE file in the root of the source | 
|  | *  tree. An additional intellectual property rights grant can be found | 
|  | *  in the file PATENTS.  All contributing project authors may | 
|  | *  be found in the AUTHORS file in the root of the source tree. | 
|  | */ | 
|  |  | 
|  | #ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H | 
|  | #define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H | 
|  |  | 
|  | #include "audio_device.h" | 
|  | #include "common_types.h" | 
|  | #include "process_thread.h" | 
|  | #include "trace.h" | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #define MACRO_DEFAULT_DEVICE AudioDeviceModule::kDefaultDevice | 
|  | #define MACRO_DEFAULT_COMMUNICATION_DEVICE AudioDeviceModule::kDefaultCommunicationDevice | 
|  | #else | 
|  | #define MACRO_DEFAULT_DEVICE 0 | 
|  | #define MACRO_DEFAULT_COMMUNICATION_DEVICE 0 | 
|  | #endif | 
|  |  | 
|  | #ifdef ANDROID | 
|  | #include <android/log.h> | 
|  | #define LOG_TAG "WebRtc ADM TEST" | 
|  | #define TEST_LOG(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) | 
|  | #define TEST_LOG_ERROR(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) | 
|  | #else | 
|  | #define TEST_LOG printf | 
|  | #define TEST_LOG_ERROR(...) fprintf(stderr, __VA_ARGS__) | 
|  | #endif | 
|  |  | 
|  | static int warningCount = 0; | 
|  |  | 
|  | #define RESET_TEST                                              \ | 
|  | do {                                                        \ | 
|  | warningCount = 0;                                       \ | 
|  | } while(0)                                                  \ | 
|  |  | 
|  | #define PRINT_ERR_MSG(msg)                                      \ | 
|  | do {                                                        \ | 
|  | TEST_LOG_ERROR("Error at line %i of %s\n%s",            \ | 
|  | __LINE__, __FILE__, msg);                           \ | 
|  | } while(0) | 
|  |  | 
|  | #define WARNING(expr)                                           \ | 
|  | do {                                                        \ | 
|  | if (!(expr)) {                                          \ | 
|  | TEST_LOG_ERROR("WARNING #%d: at line %i\n\n",       \ | 
|  | warningCount+1, __LINE__);           \ | 
|  | warningCount++;                                     \ | 
|  | }                                                       \ | 
|  | } while(0) | 
|  |  | 
|  | #define PRINT_TEST_RESULTS                                      \ | 
|  | do {                                                        \ | 
|  | if (warningCount > 0)                                   \ | 
|  | {                                                       \ | 
|  | TEST_LOG(">> %d warnings <<\n\n",                   \ | 
|  | warningCount);                             \ | 
|  | }                                                       \ | 
|  | } while(0) | 
|  |  | 
|  | // Helper functions | 
|  | // For iPhone, they are defined in iPhone specific test code. | 
|  | // For Android, they are defined in API test only (since both | 
|  | //   API and Func tests are built into the same lib). | 
|  | // For other, they are defined in both API test and Func test. | 
|  | const char* GetFilename(const char* filename); | 
|  | const char* GetResource(const char* resource); | 
|  |  | 
|  | #endif  // WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H | 
|  |  |