have pg_regress fall back on testing with the canonical results file if an


			
			
				REL8_2_STABLE
			
			
		
Andrew Dunstan 19 years ago
parent 8d5f3c8d89
commit a3bae60813
  1. 32
      src/test/regress/pg_regress.c

@ -11,7 +11,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.17 2006/07/30 01:45:21 momjian Exp $
* $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.18 2006/08/01 14:56:29 adunstan Exp $
*
*-------------------------------------------------------------------------
*/
@ -913,6 +913,36 @@ results_differ(const char *testname)
}
}
/*
* fall back on the canonical results file if we haven't tried it yet
* and haven't found a complete match yet.
*/
if (strcmp(expectname, testname) != 0)
{
snprintf(expectfile, sizeof(expectfile), "%s/expected/%s.out",
inputdir, testname, i);
snprintf(cmd, sizeof(cmd),
SYSTEMQUOTE "diff %s \"%s\" \"%s\" > \"%s\"" SYSTEMQUOTE,
basic_diff_opts, expectfile, resultsfile, diff);
if (run_diff(cmd, diff) == 0)
{
/* No diff = no changes = good */
unlink(diff);
return false;
}
l = file_line_count(diff);
if (l < best_line_count)
{
/* This diff was a better match than the last one */
best_line_count = l;
strcpy(best_expect_file, expectfile);
}
}
/*
* Use the best comparison file to generate the "pretty" diff, which
* we append to the diffs summary file.

Loading…
Cancel
Save