tests: Replace TestOutputFileMD5 with TestResult and C test.

This commit is contained in:
Richard W.M. Jones
2013-04-12 18:11:43 +01:00
parent 0a49838135
commit 424fe36d32
4 changed files with 18 additions and 17 deletions

View File

@@ -7823,9 +7823,9 @@ types (see C<guestfs_part_get_parttype>)." };
style = RString "checksum", [String "csumtype"; Device "device"], [];
proc_nr = Some 237;
tests = [
InitISOFS, Always, TestOutputFileMD5 (
InitISOFS, Always, TestResult (
[["checksum_device"; "md5"; "/dev/sdd"]],
"../data/test.iso")
"check_file_md5 (ret, \"../data/test.iso\") == 0")
];
shortdesc = "compute MD5, SHAx or CRC checksum of the contents of a device";
longdesc = "\

View File

@@ -173,6 +173,22 @@ md5sum (const char *filename, char *result)
result[32] = '\\0';
}
/* Compare MD5 has to expected hash of a file. */
static int
check_file_md5 (const char *ret, const char *filename)
{
char expected[33];
md5sum (filename, expected);
if (STRNEQ (ret, expected)) {
fprintf (stderr, \"test failed: MD5 returned (%%s) does not match MD5 of file %%s (%%s)\\n\",
ret, filename, expected);
return -1;
}
return 0;
}
/* Return the value for a key in a hashtable.
* Note: the return value is part of the hash and should not be freed.
*/
@@ -649,19 +665,6 @@ and generate_one_test_body name i test_name init test =
in
List.iter (generate_test_command_call test_name) seq;
generate_test_command_call ~test test_name last
| TestOutputFileMD5 (seq, filename) ->
pr " /* TestOutputFileMD5 for %s (%d) */\n" name i;
pr " char expected[33];\n";
pr " md5sum (\"%s\", expected);\n" filename;
let seq, last = get_seq_last seq in
let test ret =
pr " if (STRNEQ (%s, expected)) {\n" ret;
pr " fprintf (stderr, \"%%s: expected \\\"%%s\\\" but got \\\"%%s\\\"\\n\", \"%s\", expected, %s);\n" test_name ret;
pr " return -1;\n";
pr " }\n"
in
List.iter (generate_test_command_call test_name) seq;
generate_test_command_call ~test test_name last
| TestOutputHashtable (seq, fields) ->
pr " /* TestOutputHashtable for %s (%d) */\n" name i;
pr " const char *key, *expected, *value;\n";

View File

@@ -238,7 +238,6 @@ and test =
* be replaced with 'TestResult'.
*)
| TestOutputBuffer of seq * string
| TestOutputFileMD5 of seq * string
| TestOutputHashtable of seq * (string * string) list
(* Test prerequisites. *)

View File

@@ -267,7 +267,6 @@ let seq_of_test = function
| TestResultFalse s
| TestLastFail s
| TestOutputBuffer (s, _)
| TestOutputFileMD5 (s, _)
| TestOutputHashtable (s, _) -> s
let c_quote str =