mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
Make the mangleing code actually use a common prefix, not just the same
name for many files. Also report complete failure to create a filename as a failure of the test. Andrew Bartlett
This commit is contained in:
parent
616b6dd60f
commit
ce572df77f
@ -107,7 +107,7 @@ static BOOL test_one(struct cli_state *cli, const char *name)
|
||||
|
||||
static void gen_name(char *name)
|
||||
{
|
||||
const char *chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz._-$~...";
|
||||
const char *chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz._-$~... ";
|
||||
unsigned max_idx = strlen(chars);
|
||||
unsigned len;
|
||||
int i;
|
||||
@ -135,7 +135,12 @@ static void gen_name(char *name)
|
||||
|
||||
/* and a medium probability of a common lead string */
|
||||
if (random() % 10 == 0) {
|
||||
strncpy(p, "ABCDE", 6);
|
||||
if (strlen(p) <= 5) {
|
||||
fstrcpy(p, "ABCDE");
|
||||
} else {
|
||||
/* try not to kill off the null termination */
|
||||
memcpy(p, "ABCDE", 5);
|
||||
}
|
||||
}
|
||||
|
||||
/* and a high probability of a good extension length */
|
||||
@ -153,6 +158,7 @@ BOOL torture_mangle(int dummy)
|
||||
extern int torture_numops;
|
||||
static struct cli_state *cli;
|
||||
int i;
|
||||
BOOL ret = True;
|
||||
|
||||
printf("starting mangle test\n");
|
||||
|
||||
@ -177,10 +183,12 @@ BOOL torture_mangle(int dummy)
|
||||
|
||||
for (i=0;i<torture_numops;i++) {
|
||||
fstring name;
|
||||
ZERO_STRUCT(name);
|
||||
|
||||
gen_name(name);
|
||||
|
||||
|
||||
if (!test_one(cli, name)) {
|
||||
ret = False;
|
||||
break;
|
||||
}
|
||||
if (total && total % 100 == 0) {
|
||||
@ -201,5 +209,5 @@ BOOL torture_mangle(int dummy)
|
||||
torture_close_connection(cli);
|
||||
|
||||
printf("mangle test finished\n");
|
||||
return (failures == 0);
|
||||
return (ret && (failures == 0));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user