|  | @@ -2464,6 +2464,44 @@ test_util_spawn_background_partial_read(void *ptr)
 | 
	
		
			
				|  |  |    tor_process_handle_destroy(process_handle, 1);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Test for format_hex_number_for_helper_exit_status()
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static void
 | 
	
		
			
				|  |  | +test_util_format_hex_number(void *ptr)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +  int i, len;
 | 
	
		
			
				|  |  | +  char buf[HEX_ERRNO_SIZE + 1];
 | 
	
		
			
				|  |  | +  const struct {
 | 
	
		
			
				|  |  | +    const char *str;
 | 
	
		
			
				|  |  | +    unsigned int x;
 | 
	
		
			
				|  |  | +  } test_data[] = {
 | 
	
		
			
				|  |  | +    {"0", 0},
 | 
	
		
			
				|  |  | +    {"1", 1},
 | 
	
		
			
				|  |  | +    {"273A", 0x273a},
 | 
	
		
			
				|  |  | +    {"FFFF", 0xffff},
 | 
	
		
			
				|  |  | +#if UINT_MAX >= 0xffffffff
 | 
	
		
			
				|  |  | +    {"31BC421D", 0x31bc421d},
 | 
	
		
			
				|  |  | +    {"FFFFFFFF", 0xffffffff},
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +    {NULL, 0}
 | 
	
		
			
				|  |  | +  };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  (void)ptr;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  for (i = 0; test_data[i].str != NULL; ++i) {
 | 
	
		
			
				|  |  | +    len = format_hex_number_for_helper_exit_status(test_data[i].x,
 | 
	
		
			
				|  |  | +        buf, HEX_ERRNO_SIZE);
 | 
	
		
			
				|  |  | +    test_neq(len, 0);
 | 
	
		
			
				|  |  | +    buf[len] = '\0';
 | 
	
		
			
				|  |  | +    test_streq(buf, test_data[i].str);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | + done:
 | 
	
		
			
				|  |  | +  return;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * Test that we can properly format q Windows command line
 | 
	
		
			
				|  |  |   */
 | 
	
	
		
			
				|  | @@ -3031,6 +3069,7 @@ struct testcase_t util_tests[] = {
 | 
	
		
			
				|  |  |    UTIL_TEST(spawn_background_ok, 0),
 | 
	
		
			
				|  |  |    UTIL_TEST(spawn_background_fail, 0),
 | 
	
		
			
				|  |  |    UTIL_TEST(spawn_background_partial_read, 0),
 | 
	
		
			
				|  |  | +  UTIL_TEST(format_hex_number, 0),
 | 
	
		
			
				|  |  |    UTIL_TEST(join_win_cmdline, 0),
 | 
	
		
			
				|  |  |    UTIL_TEST(split_lines, 0),
 | 
	
		
			
				|  |  |    UTIL_TEST(n_bits_set, 0),
 |