Home | History | Annotate | Download | only in test
      1 /*
      2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  tree. An additional intellectual property rights grant can be found
      7  *  in the file PATENTS.  All contributing project authors may
      8  *  be found in the AUTHORS file in the root of the source tree.
      9  */
     10 
     11 #ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H
     12 #define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H
     13 
     14 #include "webrtc/common_types.h"
     15 #include "webrtc/modules/audio_device/include/audio_device.h"
     16 #include "webrtc/modules/utility/interface/process_thread.h"
     17 #include "webrtc/system_wrappers/interface/trace.h"
     18 
     19 #ifdef _WIN32
     20 #define MACRO_DEFAULT_DEVICE AudioDeviceModule::kDefaultDevice
     21 #define MACRO_DEFAULT_COMMUNICATION_DEVICE AudioDeviceModule::kDefaultCommunicationDevice
     22 #else
     23 #define MACRO_DEFAULT_DEVICE 0
     24 #define MACRO_DEFAULT_COMMUNICATION_DEVICE 0
     25 #endif
     26 
     27 #ifdef ANDROID
     28 #include <android/log.h>
     29 #define LOG_TAG "WebRtc ADM TEST"
     30 #define TEST_LOG(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
     31 #define TEST_LOG_ERROR(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
     32 #else
     33 #define TEST_LOG printf
     34 #define TEST_LOG_ERROR(...) fprintf(stderr, __VA_ARGS__)
     35 #endif
     36 
     37 static int warningCount = 0;
     38 
     39 #define RESET_TEST                                              \
     40     do {                                                        \
     41         warningCount = 0;                                       \
     42     } while(0)                                                  \
     43 
     44 #define PRINT_ERR_MSG(msg)                                      \
     45     do {                                                        \
     46         TEST_LOG_ERROR("Error at line %i of %s\n%s",            \
     47             __LINE__, __FILE__, msg);                           \
     48     } while(0)
     49 
     50 #define WARNING(expr)                                           \
     51     do {                                                        \
     52         if (!(expr)) {                                          \
     53             TEST_LOG_ERROR("WARNING #%d: at line %i\n\n",       \
     54                            warningCount+1, __LINE__);           \
     55             warningCount++;                                     \
     56         }                                                       \
     57     } while(0)
     58 
     59 #define PRINT_TEST_RESULTS                                      \
     60     do {                                                        \
     61         if (warningCount > 0)                                   \
     62         {                                                       \
     63             TEST_LOG(">> %d warnings <<\n\n",                   \
     64                      warningCount);                             \
     65         }                                                       \
     66     } while(0)
     67 
     68 // Helper functions
     69 // For iPhone, they are defined in iPhone specific test code.
     70 // For Android, they are defined in API test only (since both
     71 //   API and Func tests are built into the same lib).
     72 // For other, they are defined in both API test and Func test.
     73 const char* GetFilename(const char* filename);
     74 const char* GetResource(const char* resource);
     75 
     76 #endif  // WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_TEST_DEFINES_H
     77