Fixes the -G option and adds test for it.

This commit is contained in:
Andrea Mazzoleni 2013-09-16 18:52:10 +02:00
parent 4f8f4cf534
commit 3b6dfd9ffe
3 changed files with 18 additions and 16 deletions

View file

@ -116,7 +116,9 @@ endif
echo --- Create some files, sync raid6 and check
$(TESTENV) ./mktest$(EXEEXT) generate 1 3 $(CHECKCOUNT) $(CHECKSIZE)
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -v -c $(srcdir)/test-raid6.conf diff > test.log
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -v -c $(srcdir)/test-raid6.conf diff -G > test.log
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -v -c $(srcdir)/test-raid6.conf dup
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -v -c $(srcdir)/test-raid6.conf dup -G
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -c $(srcdir)/test-raid6.conf --test-force-order-physical sync
$(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) --test-skip-self -c $(srcdir)/test-raid6.conf status
if HAVE_SYMLINK

2
dup.c
View file

@ -95,7 +95,7 @@ void state_dup(struct snapraid_state* state)
count = 0;
size = 0;
/* for each disk */
for(i=state->disklist;i!=0;i=i->next) {
tommy_node* j;

View file

@ -508,6 +508,21 @@ int main(int argc, char* argv[])
raid_init();
crc32c_init();
/* open the log file */
if (log == 0)
log = "2";
if (strcmp(log, "1") == 0) {
stdlog = stdout;
} else if (strcmp(log, "2") == 0) {
stdlog = stderr;
} else {
stdlog = fopen(log, "wt");
if (!stdlog) {
fprintf(stderr, "Error opening the log file '%s'. %s.\n", log, strerror(errno));
exit(EXIT_FAILURE);
}
}
if (!opt.skip_self)
selftest(opt.gui);
@ -534,21 +549,6 @@ int main(int argc, char* argv[])
(void)lock;
#endif
/* open the log file */
if (log == 0)
log = "2";
if (strcmp(log, "1") == 0) {
stdlog = stdout;
} else if (strcmp(log, "2") == 0) {
stdlog = stderr;
} else {
stdlog = fopen(log, "wt");
if (!stdlog) {
fprintf(stderr, "Error opening the log file '%s'. %s.\n", log, strerror(errno));
exit(EXIT_FAILURE);
}
}
if (operation == OPERATION_DIFF) {
state_read(&state);