| 186 | } |
| 187 | |
| 188 | int main(int argc, char **argv) |
| 189 | { |
| 190 | int queue_flags; |
| 191 | int is_rx; |
| 192 | |
| 193 | if (geteuid()) { |
| 194 | fprintf(stdout, "NAPI test requires root\n"); |
| 195 | return T_EXIT_SKIP; |
| 196 | } |
| 197 | |
| 198 | if (argc == 1) { |
| 199 | struct stat sb; |
| 200 | |
| 201 | if (!stat("napi-test.sh", &sb)) { |
| 202 | return system("bash napi-test.sh"); |
| 203 | } else if (!stat("test/napi-test.sh", &sb)) { |
| 204 | return system("bash test/napi-test.sh"); |
| 205 | } else { |
| 206 | fprintf(stderr, "Can't find napi-test.sh\n"); |
| 207 | return T_EXIT_SKIP; |
| 208 | } |
| 209 | } else if (argc == 2) { |
| 210 | return T_EXIT_SKIP; |
| 211 | } else if (argc != 3) { |
| 212 | return T_EXIT_SKIP; |
| 213 | } |
| 214 | |
| 215 | if (!strcmp(argv[1], "receive")) |
| 216 | is_rx = 1; |
| 217 | else if (!strcmp(argv[1], "send")) |
| 218 | is_rx = 0; |
| 219 | else |
| 220 | return T_EXIT_FAIL; |
| 221 | |
| 222 | queue_flags = strtoul(argv[2], NULL, 16); |
| 223 | |
| 224 | if (is_rx) |
| 225 | return receiver(queue_flags); |
| 226 | |
| 227 | return sender(queue_flags); |
| 228 | } |