xref: /haiku/src/tools/cppunit/TestUtils.cpp (revision aad997bd6c9035ac0185bda5c52bd1ba2dd8a47d)
1*aad997bdSTyler Dauwalder // TestUtils.cpp
2*aad997bdSTyler Dauwalder 
3*aad997bdSTyler Dauwalder #include <TestUtils.h>
4*aad997bdSTyler Dauwalder #include <TestShell.h>
5*aad997bdSTyler Dauwalder 
6*aad997bdSTyler Dauwalder status_t DecodeResult(status_t result) {
7*aad997bdSTyler Dauwalder 	if (!BTestShell::GlobalBeVerbose())
8*aad997bdSTyler Dauwalder 		return result;
9*aad997bdSTyler Dauwalder 
10*aad997bdSTyler Dauwalder 	std::string str;
11*aad997bdSTyler Dauwalder 	switch (result) {
12*aad997bdSTyler Dauwalder 
13*aad997bdSTyler Dauwalder 		case B_OK:
14*aad997bdSTyler Dauwalder 			str = "B_OK";
15*aad997bdSTyler Dauwalder 			break;
16*aad997bdSTyler Dauwalder 
17*aad997bdSTyler Dauwalder 		case B_ERROR:
18*aad997bdSTyler Dauwalder 			str = "B_ERROR";
19*aad997bdSTyler Dauwalder 			break;
20*aad997bdSTyler Dauwalder 
21*aad997bdSTyler Dauwalder 
22*aad997bdSTyler Dauwalder 		// Storage Kit Errors
23*aad997bdSTyler Dauwalder 		case B_FILE_ERROR:
24*aad997bdSTyler Dauwalder 			str = "B_FILE_ERROR";
25*aad997bdSTyler Dauwalder 			break;
26*aad997bdSTyler Dauwalder 
27*aad997bdSTyler Dauwalder 		case B_FILE_NOT_FOUND:
28*aad997bdSTyler Dauwalder 			str = "B_FILE_NOT_FOUND";
29*aad997bdSTyler Dauwalder 			break;
30*aad997bdSTyler Dauwalder 
31*aad997bdSTyler Dauwalder 		case B_FILE_EXISTS:
32*aad997bdSTyler Dauwalder 			str = "B_FILE_EXISTS";
33*aad997bdSTyler Dauwalder 			break;
34*aad997bdSTyler Dauwalder 
35*aad997bdSTyler Dauwalder 		case B_ENTRY_NOT_FOUND:
36*aad997bdSTyler Dauwalder 			str = "B_ENTRY_NOT_FOUND";
37*aad997bdSTyler Dauwalder 			break;
38*aad997bdSTyler Dauwalder 
39*aad997bdSTyler Dauwalder 		case B_NAME_TOO_LONG:
40*aad997bdSTyler Dauwalder 			str = "B_NAME_TOO_LONG";
41*aad997bdSTyler Dauwalder 			break;
42*aad997bdSTyler Dauwalder 
43*aad997bdSTyler Dauwalder 		case B_DIRECTORY_NOT_EMPTY:
44*aad997bdSTyler Dauwalder 			str = "B_DIRECTORY_NOT_EMPTY";
45*aad997bdSTyler Dauwalder 			break;
46*aad997bdSTyler Dauwalder 
47*aad997bdSTyler Dauwalder 		case B_DEVICE_FULL:
48*aad997bdSTyler Dauwalder 			str = "B_DEVICE_FULL";
49*aad997bdSTyler Dauwalder 			break;
50*aad997bdSTyler Dauwalder 
51*aad997bdSTyler Dauwalder 		case B_READ_ONLY_DEVICE:
52*aad997bdSTyler Dauwalder 			str = "B_READ_ONLY_DEVICE";
53*aad997bdSTyler Dauwalder 			break;
54*aad997bdSTyler Dauwalder 
55*aad997bdSTyler Dauwalder 		case B_IS_A_DIRECTORY:
56*aad997bdSTyler Dauwalder 			str = "B_IS_A_DIRECTORY";
57*aad997bdSTyler Dauwalder 			break;
58*aad997bdSTyler Dauwalder 
59*aad997bdSTyler Dauwalder 		case B_NO_MORE_FDS:
60*aad997bdSTyler Dauwalder 			str = "B_NO_MORE_FDS";
61*aad997bdSTyler Dauwalder 			break;
62*aad997bdSTyler Dauwalder 
63*aad997bdSTyler Dauwalder 		case B_CROSS_DEVICE_LINK:
64*aad997bdSTyler Dauwalder 			str = "B_CROSS_DEVICE_LINK";
65*aad997bdSTyler Dauwalder 			break;
66*aad997bdSTyler Dauwalder 
67*aad997bdSTyler Dauwalder 		case B_LINK_LIMIT:
68*aad997bdSTyler Dauwalder 			str = "B_LINK_LIMIT";
69*aad997bdSTyler Dauwalder 			break;
70*aad997bdSTyler Dauwalder 
71*aad997bdSTyler Dauwalder 		case B_BUSTED_PIPE:
72*aad997bdSTyler Dauwalder 			str = "B_BUSTED_PIPE";
73*aad997bdSTyler Dauwalder 			break;
74*aad997bdSTyler Dauwalder 
75*aad997bdSTyler Dauwalder 		case B_UNSUPPORTED:
76*aad997bdSTyler Dauwalder 			str = "B_UNSUPPORTED";
77*aad997bdSTyler Dauwalder 			break;
78*aad997bdSTyler Dauwalder 
79*aad997bdSTyler Dauwalder 		case B_PARTITION_TOO_SMALL:
80*aad997bdSTyler Dauwalder 			str = "B_PARTITION_TOO_SMALL";
81*aad997bdSTyler Dauwalder 			break;
82*aad997bdSTyler Dauwalder 
83*aad997bdSTyler Dauwalder 
84*aad997bdSTyler Dauwalder 		// General Errors
85*aad997bdSTyler Dauwalder 		case B_NO_MEMORY:
86*aad997bdSTyler Dauwalder 			str = "B_NO_MEMORY";
87*aad997bdSTyler Dauwalder 			break;
88*aad997bdSTyler Dauwalder 
89*aad997bdSTyler Dauwalder 		case B_IO_ERROR:
90*aad997bdSTyler Dauwalder 			str = "B_IO_ERROR";
91*aad997bdSTyler Dauwalder 			break;
92*aad997bdSTyler Dauwalder 
93*aad997bdSTyler Dauwalder 		case B_PERMISSION_DENIED:
94*aad997bdSTyler Dauwalder 			str = "B_PERMISSION_DENIED";
95*aad997bdSTyler Dauwalder 			break;
96*aad997bdSTyler Dauwalder 
97*aad997bdSTyler Dauwalder 		case B_BAD_INDEX:
98*aad997bdSTyler Dauwalder 			str = "B_BAD_INDEX";
99*aad997bdSTyler Dauwalder 			break;
100*aad997bdSTyler Dauwalder 
101*aad997bdSTyler Dauwalder 		case B_BAD_TYPE:
102*aad997bdSTyler Dauwalder 			str = "B_BAD_TYPE";
103*aad997bdSTyler Dauwalder 			break;
104*aad997bdSTyler Dauwalder 
105*aad997bdSTyler Dauwalder 		case B_BAD_VALUE:
106*aad997bdSTyler Dauwalder 			str = "B_BAD_VALUE";
107*aad997bdSTyler Dauwalder 			break;
108*aad997bdSTyler Dauwalder 
109*aad997bdSTyler Dauwalder 		case B_MISMATCHED_VALUES:
110*aad997bdSTyler Dauwalder 			str = "B_MISMATCHED_VALUES";
111*aad997bdSTyler Dauwalder 			break;
112*aad997bdSTyler Dauwalder 
113*aad997bdSTyler Dauwalder 		case B_NAME_NOT_FOUND:
114*aad997bdSTyler Dauwalder 			str = "B_NAME_NOT_FOUND";
115*aad997bdSTyler Dauwalder 			break;
116*aad997bdSTyler Dauwalder 
117*aad997bdSTyler Dauwalder 		case B_NAME_IN_USE:
118*aad997bdSTyler Dauwalder 			str = "B_NAME_IN_USE";
119*aad997bdSTyler Dauwalder 			break;
120*aad997bdSTyler Dauwalder 
121*aad997bdSTyler Dauwalder 		case B_TIMED_OUT:
122*aad997bdSTyler Dauwalder 			str = "B_TIMED_OUT";
123*aad997bdSTyler Dauwalder 			break;
124*aad997bdSTyler Dauwalder 
125*aad997bdSTyler Dauwalder 		case B_INTERRUPTED:
126*aad997bdSTyler Dauwalder 			str = "B_INTERRUPTED";
127*aad997bdSTyler Dauwalder 			break;
128*aad997bdSTyler Dauwalder 
129*aad997bdSTyler Dauwalder 		case B_WOULD_BLOCK:
130*aad997bdSTyler Dauwalder 			str = "B_WOULD_BLOCK";
131*aad997bdSTyler Dauwalder 			break;
132*aad997bdSTyler Dauwalder 
133*aad997bdSTyler Dauwalder 		case B_CANCELED:
134*aad997bdSTyler Dauwalder 			str = "B_CANCELED";
135*aad997bdSTyler Dauwalder 			break;
136*aad997bdSTyler Dauwalder 
137*aad997bdSTyler Dauwalder 		case B_NO_INIT:
138*aad997bdSTyler Dauwalder 			str = "B_NO_INIT";
139*aad997bdSTyler Dauwalder 			break;
140*aad997bdSTyler Dauwalder 
141*aad997bdSTyler Dauwalder 		case B_BUSY:
142*aad997bdSTyler Dauwalder 			str = "B_BUSY";
143*aad997bdSTyler Dauwalder 			break;
144*aad997bdSTyler Dauwalder 
145*aad997bdSTyler Dauwalder 		case B_NOT_ALLOWED:
146*aad997bdSTyler Dauwalder 			str = "B_NOT_ALLOWED";
147*aad997bdSTyler Dauwalder 			break;
148*aad997bdSTyler Dauwalder 
149*aad997bdSTyler Dauwalder 
150*aad997bdSTyler Dauwalder 		// Kernel Errors
151*aad997bdSTyler Dauwalder 		case B_BAD_ADDRESS:
152*aad997bdSTyler Dauwalder 			str = "B_BAD_ADDRESS";
153*aad997bdSTyler Dauwalder 			break;
154*aad997bdSTyler Dauwalder 
155*aad997bdSTyler Dauwalder 		// OS Errors
156*aad997bdSTyler Dauwalder 		case B_BAD_PORT_ID:
157*aad997bdSTyler Dauwalder 			str = "B_BAD_PORT_ID";
158*aad997bdSTyler Dauwalder 			break;
159*aad997bdSTyler Dauwalder 
160*aad997bdSTyler Dauwalder 		// Anything Else
161*aad997bdSTyler Dauwalder 		default:
162*aad997bdSTyler Dauwalder 			str = "??????????";
163*aad997bdSTyler Dauwalder 			break;
164*aad997bdSTyler Dauwalder 
165*aad997bdSTyler Dauwalder 	}
166*aad997bdSTyler Dauwalder 
167*aad997bdSTyler Dauwalder 	cout << endl << "DecodeResult() -- " "0x" << hex << result << " (" << dec << result << ") == " << str << endl;
168*aad997bdSTyler Dauwalder 
169*aad997bdSTyler Dauwalder 	return result;
170*aad997bdSTyler Dauwalder }
171*aad997bdSTyler Dauwalder 
172*aad997bdSTyler Dauwalder void ExecCommand(const char *command) {
173*aad997bdSTyler Dauwalder 	if (command)
174*aad997bdSTyler Dauwalder 		system(command);
175*aad997bdSTyler Dauwalder }
176*aad997bdSTyler Dauwalder 
177*aad997bdSTyler Dauwalder void ExecCommand(const char *command, const char *parameter) {
178*aad997bdSTyler Dauwalder 	if (command && parameter) {
179*aad997bdSTyler Dauwalder 		char *cmdLine = new char[strlen(command) + strlen(parameter) + 1];
180*aad997bdSTyler Dauwalder 		strcpy(cmdLine, command);
181*aad997bdSTyler Dauwalder 		strcat(cmdLine, parameter);
182*aad997bdSTyler Dauwalder 		system(cmdLine);
183*aad997bdSTyler Dauwalder 		delete[] cmdLine;
184*aad997bdSTyler Dauwalder 	}
185*aad997bdSTyler Dauwalder }
186*aad997bdSTyler Dauwalder 
187*aad997bdSTyler Dauwalder void ExecCommand(const char *command, const char *parameter1,
188*aad997bdSTyler Dauwalder 							const char *parameter2) {
189*aad997bdSTyler Dauwalder 	if (command && parameter1 && parameter2) {
190*aad997bdSTyler Dauwalder 		char *cmdLine = new char[strlen(command) + strlen(parameter1)
191*aad997bdSTyler Dauwalder 								 + 1 + strlen(parameter2) + 1];
192*aad997bdSTyler Dauwalder 		strcpy(cmdLine, command);
193*aad997bdSTyler Dauwalder 		strcat(cmdLine, parameter1);
194*aad997bdSTyler Dauwalder 		strcat(cmdLine, " ");
195*aad997bdSTyler Dauwalder 		strcat(cmdLine, parameter2);
196*aad997bdSTyler Dauwalder 		system(cmdLine);
197*aad997bdSTyler Dauwalder 		delete[] cmdLine;
198*aad997bdSTyler Dauwalder 	}
199*aad997bdSTyler Dauwalder }
200