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