-
-#undef srand
-#undef rand
-
- {
- int test_count;
- srand(123141); // time(NULL));
- for (test_count = 0; test_count < 100; test_count++) {
- int size = rand() % 1024;
- int ii;
- uint8_t *data;
- char *encoded_result;
-
- av_log(NULL, AV_LOG_ERROR, "Test %d: Size %d bytes...",
- test_count, size);
- data = (uint8_t *) av_malloc(size);
- for (ii = 0; ii < size; ii++) {
- data[ii] = rand() % 255;
- }
-
- encoded_result = av_base64_encode(data, size);
- if (encoded_result) {
- int decode_buffer_size = size + 10; // try without 10 as well
- uint8_t *decode_buffer = av_malloc(decode_buffer_size);
- if (decode_buffer) {
- int decoded_size =
- av_base64_decode(decode_buffer, encoded_result,
- decode_buffer_size);
-
- if (decoded_size != size) {
- av_log(NULL, AV_LOG_ERROR,
- "Decoded/Encoded size mismatch (%d != %d)\n",
- decoded_size, size);
- } else {
- if (memcmp(decode_buffer, data, decoded_size) == 0) {
- av_log(NULL, AV_LOG_ERROR, "Passed!\n");
- } else {
- av_log(NULL, AV_LOG_ERROR,
- "Failed (Data differs)!\n");
- }
- }
- av_free(decode_buffer);
- }
-
- av_free(encoded_result);
- }
- }
+ if (encoded_ref && strcmp(encoded, encoded_ref)) {
+ printf("Failed: encoded string differs from reference\n"
+ "Encoded:\n%s\nReference:\n%s\n", encoded, encoded_ref);
+ return 1;