| 
					
				 | 
			
			
				@@ -370,6 +370,34 @@ test_util_format_base32_decode(void *arg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tor_free(dst); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+test_util_format_encoded_size(void *arg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (void)arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  uint8_t inbuf[256]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  char outbuf[1024]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  unsigned i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  crypto_rand((char *)inbuf, sizeof(inbuf)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i = 0; i <= sizeof(inbuf); ++i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* XXXX (Once the return values are consistent, check them too.) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    base32_encode(outbuf, sizeof(outbuf), (char *)inbuf, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* The "+ 1" below is an API inconsistency. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tt_int_op(strlen(outbuf) + 1, OP_EQ, base32_encoded_size(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tt_int_op(strlen(outbuf), OP_EQ, base64_encode_size(i, 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  BASE64_ENCODE_MULTILINE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tt_int_op(strlen(outbuf), OP_EQ, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              base64_encode_size(i, BASE64_ENCODE_MULTILINE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ done: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 struct testcase_t util_format_tests[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { "unaligned_accessors", test_util_format_unaligned_accessors, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     NULL, NULL }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,6 +410,7 @@ struct testcase_t util_format_tests[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     NULL, NULL }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { "base32_decode", test_util_format_base32_decode, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     NULL, NULL }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  { "encoded_size", test_util_format_encoded_size, 0, NULL, NULL }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   END_OF_TESTCASES 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |