diff options
author | Andrew Tridgell <tridge@samba.org> | 2002-04-12 03:54:13 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2002-04-12 03:54:13 +0000 |
commit | 71c2943d34e6a30819d7c36d7c1d5d5eab2eb968 (patch) | |
tree | 3267ae1e3ec0c091514444d9e516f958c50c140f | |
parent | a2d5f9a8098343d2f2209a56c8858479ba33e9c9 (diff) | |
download | samba-71c2943d34e6a30819d7c36d7c1d5d5eab2eb968.tar.gz samba-71c2943d34e6a30819d7c36d7c1d5d5eab2eb968.tar.bz2 samba-71c2943d34e6a30819d7c36d7c1d5d5eab2eb968.zip |
nicer measurement of failures and collisions
(This used to be commit 61c61f6b4f22c1ef6f837145f5e05730706cc8d4)
-rw-r--r-- | source3/torture/mangle_test.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/source3/torture/mangle_test.c b/source3/torture/mangle_test.c index 7f05b953c5..2d5b3610d5 100644 --- a/source3/torture/mangle_test.c +++ b/source3/torture/mangle_test.c @@ -24,7 +24,7 @@ static TDB_CONTEXT *tdb; #define NAME_LENGTH 20 -static unsigned total, collisions; +static unsigned total, collisions, failures; static BOOL test_one(struct cli_state *cli, const char *name) { @@ -76,7 +76,9 @@ static BOOL test_one(struct cli_state *cli, const char *name) if (!cli_unlink(cli, name)) { printf("unlink2 of %s (%s) failed (%s)\n", name, name2, cli_errstr(cli)); - return False; + failures++; + cli_unlink(cli, name2); + return True; } /* see if the short name is already in the tdb */ @@ -127,6 +129,11 @@ static void gen_name(char *name) p[0] = 'A'; } + /* and a medium probability of a common lead string */ + if (random() % 10 == 0) { + strncpy(p, "ABCDE", 5); + } + /* and a high probability of a good extension length */ if (random() % 2 == 0) { char *s = strrchr(p, '.'); @@ -173,21 +180,22 @@ BOOL torture_mangle(int dummy) break; } if (total && total % 100 == 0) { - printf("collisions %u/%u - %.2f%%\r", - collisions, total, (100.0*collisions) / total); + printf("collisions %u/%u - %.2f%% (%u failures)\r", + collisions, total, (100.0*collisions) / total, failures); } } + cli_unlink(&cli, "\\mangle_test\\*"); if (!cli_rmdir(&cli, "\\mangle_test")) { printf("ERROR: Failed to remove directory\n"); return False; } - printf("\nTotal collisions %u/%u - %.2f%%\n", - collisions, total, (100.0*collisions) / total); + printf("\nTotal collisions %u/%u - %.2f%% (%u failures)\n", + collisions, total, (100.0*collisions) / total, failures); torture_close_connection(&cli); printf("mangle test finished\n"); - return True; + return (failures == 0); } |