| 32 | extern std::vector<Rule>* g_rules; |
| 33 | |
| 34 | void* MultiThreadWorkload(void* unused) { |
| 35 | unsigned int rand_seed = RandSeed(); |
| 36 | int buffer_size = 10000 + rand_r(&rand_seed) % 1000; |
| 37 | char buffer[buffer_size]; |
| 38 | string message; |
| 39 | for (int i = 0; i < 100; ++i) { |
| 40 | RandomlyFillString(buffer, buffer_size); |
| 41 | message = buffer; |
| 42 | Redact(&message); |
| 43 | if ((buffer_size - 1) != message.length()) { |
| 44 | ADD_FAILURE() << "Message length changed; new size is " << message.length(); |
| 45 | return NULL; |
| 46 | } |
| 47 | for (int c = 0; c < buffer_size - 1; ++c) { |
| 48 | if ('0' <= message[c] && message[c] <= '9') { |
| 49 | ADD_FAILURE() << "Number " << message[c] << " should be replaced with #"; |
| 50 | return NULL; |
| 51 | } |
| 52 | if (message[c] < ' ' || '~' < message[c]) { |
| 53 | ADD_FAILURE() << "Unexpected char " << message[c]; |
| 54 | return NULL; |
| 55 | } |
| 56 | } |
| 57 | if (message[buffer_size - 1] != '\0') { |
| 58 | ADD_FAILURE() << "Missing string terminator"; |
| 59 | return NULL; |
| 60 | } |
| 61 | } |
| 62 | return NULL; |
| 63 | } |
| 64 | |
| 65 | TEST(RedactorTest, NoTrigger) { |
| 66 | TempRulesFile rules_file( |
nothing calls this directly
no test coverage detected