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