Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright (C) 2010 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  *
     16  */
     17 
     18 #ifndef _TESTUTIL_H_
     19 #define _TESTUTIL_H_
     20 
     21 #include <stdint.h>
     22 #include <stdio.h>
     23 #include <sys/time.h>
     24 
     25 __BEGIN_DECLS
     26 
     27 // Time Utilities
     28 struct timespec double2ts(double amt);
     29 struct timeval  double2tv(double amt);
     30 double ts2double(const struct timespec *val);
     31 double tv2double(const struct timeval  *val);
     32 struct timespec tsDelta(const struct timespec *first,
     33     const struct timespec *second);
     34 struct timeval tvDelta(const struct timeval *first,
     35     const struct timeval *second);
     36 
     37 void testDelay(float amt);
     38 void testDelaySpin(float amt);
     39 
     40 // Pseudo Random Utilities
     41 int testRandBool(void);
     42 uint32_t testRand(void);
     43 uint32_t testRandMod(uint32_t mod);
     44 double testRandFract(void);
     45 
     46 // Testcase Output
     47 void testSetLogCatTag(const char *tag);
     48 const char *testGetLogCatTag(void);
     49 void testPrint(FILE *stream, const char *fmt, ...);
     50 #define testPrintI(...) do { \
     51         testPrint(stdout, __VA_ARGS__); \
     52     } while (0)
     53 #define testPrintE(...) do { \
     54         testPrint(stderr, __VA_ARGS__); \
     55     } while (0)
     56 
     57 // Hex Dump
     58 void testXDump(const void *buf, size_t size);
     59 void testXDumpSetIndent(uint8_t indent);
     60 uint8_t testXDumpGetIndent(void);
     61 void testXDumpSetOffset(uint64_t offset);
     62 uint64_t testXDumpGetOffset(void);
     63 
     64 // Command Execution
     65 void testExecCmd(const char *cmd);
     66 
     67 __END_DECLS
     68 
     69 #endif
     70