Changeset: a082f4406a38 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a082f4406a38
Modified Files:
Branch: default
Log Message:
Merge with Oct2010 branch.
diffs (267 lines):
diff -r 0d4e5d27cb15 -r a082f4406a38 testing/src/Mdiff.c
--- a/testing/src/Mdiff.c Fri Oct 08 10:22:45 2010 +0200
+++ b/testing/src/Mdiff.c Fri Oct 08 11:30:21 2010 +0200
@@ -38,9 +38,10 @@
static void
showUsage(char *name)
{
- printf("Usage: %s [-I<exp>] [-C<num>] [-A<num>] [-t<text>] [-r<rev>]
<oldfile> <newfile> [<outfile>]\n", name);
+ printf("Usage: %s [-I<exp>] [-F<exp>] [-C<num>] [-A<num>] [-t<text>]
[-r<rev>] <oldfile> <newfile> [<outfile>]\n", name);
printf("\n");
printf(" -I<exp> : ignore lines matching <exp> during diff (optional,
default: -I'^#')\n");
+ printf(" -F<exp> : show the most recent line matching <exp>\n");
printf(" -C<num> : use <num> lines of context during diff (optional,
default: -C1)\n");
printf(" -A<num> : accuracy for diff: 0=lines, 1=words, 2=chars
(optional, default: -A1)\n");
printf(" -d : change the algorithm to perhaps find a smaller set
of changes;\n");
@@ -59,10 +60,10 @@
char EMPTY[] = "";
char DEFAULT[] = "-I'^#'";
char ignoreWHITE[] = " -b -B";
- char *old_fn, *new_fn, *html_fn, *caption = EMPTY, *revision = EMPTY,
*ignoreEXP = DEFAULT, *ignore;
+ char *old_fn, *new_fn, *html_fn, *caption = EMPTY, *revision = EMPTY,
*ignoreEXP = DEFAULT, *ignore, *function;
int LWC = 1, context = 1, option, mindiff = 0, quiet = 0;
- while ((option = getopt(argc, argv, "hdqA:C:I:t:r:")) != EOF)
+ while ((option = getopt(argc, argv, "hdqA:C:I:F:t:r:")) != EOF)
switch (option) {
case 'd':
mindiff = 1;
@@ -86,6 +87,18 @@
strcat(ignoreEXP, "'");
#endif
break;
+ case 'F':
+ function = malloc(strlen(optarg) + 6);
+#ifdef NATIVE_WIN32
+ strcpy(function, "-F");
+#else
+ strcpy(function, "'-F");
+#endif
+ strcat(function, optarg);
+#ifndef NATIVE_WIN32
+ strcat(function, "'");
+#endif
+ break;
case 't':
caption = optarg;
break;
@@ -110,9 +123,9 @@
new_fn = ((argc > (++optind)) ? argv[optind] : "-");
html_fn = ((argc > (++optind)) ? argv[optind] : "-");
- TRACE(fprintf(STDERR, "%s %s -A %i -C %i %s -t %s -r %s %s %s %s\n",
argv[0], mindiff ? "-d" : "", LWC, context, ignore, caption, revision, old_fn,
new_fn, html_fn));
+ TRACE(fprintf(STDERR, "%s %s -A %i -C %i %s %s -t %s -r %s %s %s
%s\n", argv[0], mindiff ? "-d" : "", LWC, context, ignore, function, caption,
revision, old_fn, new_fn, html_fn));
- switch (oldnew2html(mindiff, LWC, context, ignore, old_fn, new_fn,
html_fn, caption, revision)) {
+ switch (oldnew2html(mindiff, LWC, context, ignore, function, old_fn,
new_fn, html_fn, caption, revision)) {
case 0:
if (quiet == 0)
fprintf(STDERR, "%s and %s are equal.\n", old_fn,
new_fn);
diff -r 0d4e5d27cb15 -r a082f4406a38 testing/src/Mtest.py.in
--- a/testing/src/Mtest.py.in Fri Oct 08 10:22:45 2010 +0200
+++ b/testing/src/Mtest.py.in Fri Oct 08 11:30:21 2010 +0200
@@ -1972,7 +1972,7 @@
cmd.append('-d')
if quiet:
cmd.append('-q')
- proc = subprocess.Popen(cmd + ['-I%s' % par['IGNORE'], '-C%s'
% par['CONTEXT'], '-A%d' % ACCURACYout, '-r%s' % REVe, '%s%s.FILTERED' % (TST,
STABLEout), '%s.test.out.FILTERED' % TST, '%s.out.diff.html' % TST])
+ proc = subprocess.Popen(cmd + ['-F^#', '-I%s' % par['IGNORE'],
'-C%s' % par['CONTEXT'], '-A%d' % ACCURACYout, '-r%s' % REVe, '%s%s.FILTERED' %
(TST, STABLEout), '%s.test.out.FILTERED' % TST, '%s.out.diff.html' % TST])
proc.killed = False
t = Timer(float(par['TIMEOUT']), killProc, args = [proc])
try:
@@ -1989,7 +1989,7 @@
cmd = 'diff'
if ACCURACYout >= 0:
cmd += ' -d'
- os.system('%s -Bb -I"%s" -U%s "%s%s.FILTERED"
"%s.test.out.FILTERED"' % (cmd, par['IGNORE'], par['CONTEXT'], TST, STABLEout,
TST))
+ os.system('%s -Bb -F"^#" -I"%s" -U%s "%s%s.FILTERED"
"%s.test.out.FILTERED"' % (cmd, par['IGNORE'], par['CONTEXT'], TST, STABLEout,
TST))
#TODO:
#timedout = 1
@@ -2025,15 +2025,15 @@
MDIFF = MDIFF0
ACCURACYerr = 0
if not quiet:
- timedout = os.system('%s -I"%s" -C%s -A%d -r"%s"
"%s%s.FILTERED" "%s.test.err.FILTERED" "%s.err.diff.html"' % (MDIFF,
par['IGNORE'], par['CONTEXT'], ACCURACYerr, REVe, TST, STABLEerr, TST, TST))
+ timedout = os.system('%s -F"^#" -I"%s" -C%s -A%d -r"%s"
"%s%s.FILTERED" "%s.test.err.FILTERED" "%s.err.diff.html"' % (MDIFF,
par['IGNORE'], par['CONTEXT'], ACCURACYerr, REVe, TST, STABLEerr, TST, TST))
else:
- timedout = os.system('%s -q -I"%s" -C%s -A%d -r"%s"
"%s%s.FILTERED" "%s.test.err.FILTERED" "%s.err.diff.html"' % (MDIFF,
par['IGNORE'], par['CONTEXT'], ACCURACYerr, REVe, TST, STABLEerr, TST, TST))
+ timedout = os.system('%s -q -F"^#" -I"%s" -C%s -A%d -r"%s"
"%s%s.FILTERED" "%s.test.err.FILTERED" "%s.err.diff.html"' % (MDIFF,
par['IGNORE'], par['CONTEXT'], ACCURACYerr, REVe, TST, STABLEerr, TST, TST))
ACCURACYerr = ACCURACYerr - 1
if env.get('ECHO_DIFF'):
cmd = 'diff'
if ACCURACYerr >= 0:
cmd += ' -d'
- os.system('%s -Bb -I"%s" -U%s "%s%s.FILTERED"
"%s.test.err.FILTERED"' % (cmd, par['IGNORE'], par['CONTEXT'], TST, STABLEerr,
TST))
+ os.system('%s -Bb -F"^#" -I"%s" -U%s "%s%s.FILTERED"
"%s.test.err.FILTERED"' % (cmd, par['IGNORE'], par['CONTEXT'], TST, STABLEerr,
TST))
FailedOut, FailedErr, elem = AddTstToHtmlIndex(env, TST,
STABLEout, STABLEerr, EXT, max(sockerr, timeout, recursion, killed, segfaulted))
diff -r 0d4e5d27cb15 -r a082f4406a38 testing/src/difflib.c
--- a/testing/src/difflib.c Fri Oct 08 10:22:45 2010 +0200
+++ b/testing/src/difflib.c Fri Oct 08 11:30:21 2010 +0200
@@ -132,14 +132,14 @@
FILE *
-oldnew2u_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn)
+oldnew2u_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn)
{
char command[CMDLEN];
char *_d = mindiff ? "-d" : "";
- TRACE(fprintf(STDERR, "oldnew2u_diff(%i,%i,%s,%s,%s)\n", mindiff,
context, ignore, old_fn, new_fn));
+ TRACE(fprintf(STDERR, "oldnew2u_diff(%i,%i,%s,%s,%s,%s)\n", mindiff,
context, ignore, function, old_fn, new_fn));
- sprintf(command, "%s %s -a %s -U%d %s %s", DIFF, ignore, _d,
context, old_fn, new_fn);
+ sprintf(command, "%s %s %s -a %s -U%d %s %s", DIFF, ignore,
function, _d, context, old_fn, new_fn);
return popen(command, "r");
}
@@ -372,14 +372,14 @@
int
-oldnew2l_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *l_diff_fn)
+oldnew2l_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *l_diff_fn)
{
FILE *u_diff_fp;
int rtrn = 0;
- TRACE(fprintf(STDERR, "oldnew2l_diff(%i,%i,%s,%s,%s,%s)\n", mindiff,
context, ignore, old_fn, new_fn, l_diff_fn));
+ TRACE(fprintf(STDERR, "oldnew2l_diff(%i,%i,%s,%s,%s,%s,%s)\n", mindiff,
context, ignore, function, old_fn, new_fn, l_diff_fn));
- if ((u_diff_fp = oldnew2u_diff(mindiff, context, ignore, old_fn,
new_fn)) == NULL) {
+ if ((u_diff_fp = oldnew2u_diff(mindiff, context, ignore, function,
old_fn, new_fn)) == NULL) {
ERRHNDL(0, "oldnew2u_diff returns 0 in oldnew2l_diff", "", 1);
}
@@ -392,16 +392,16 @@
int
-oldnew2w_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *w_diff_fn)
+oldnew2w_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *w_diff_fn)
{
char l_diff_fn[CMDLEN];
int rtrn = 0;
- TRACE(fprintf(STDERR, "oldnew2w_diff(%i,%i,%s,%s,%s,%s)\n", mindiff,
context, ignore, old_fn, new_fn, w_diff_fn));
+ TRACE(fprintf(STDERR, "oldnew2w_diff(%i,%i,%s,%s,%s,%s,%s)\n", mindiff,
context, ignore, function, old_fn, new_fn, w_diff_fn));
sprintf(l_diff_fn, "%s%c.difflib-%ld-oldnew2w_diff-l_diff", tmpdir(),
DIR_SEP, (long) getpid());
- if (!oldnew2l_diff(mindiff, context, ignore, old_fn, new_fn,
l_diff_fn)) {
+ if (!oldnew2l_diff(mindiff, context, ignore, function, old_fn, new_fn,
l_diff_fn)) {
UNLINK(l_diff_fn);
ERRHNDL(0, "oldnew2l_diff returns 0 in oldnew2w_diff", "", 1);
}
@@ -416,16 +416,16 @@
int
-oldnew2c_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *c_diff_fn)
+oldnew2c_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *c_diff_fn)
{
char w_diff_fn[CMDLEN];
int rtrn = 0;
- TRACE(fprintf(STDERR, "oldnew2c_diff(%i,%i,%s,%s,%s,%s)\n", mindiff,
context, ignore, old_fn, new_fn, c_diff_fn));
+ TRACE(fprintf(STDERR, "oldnew2c_diff(%i,%i,%s,%s,%s,%s,%s)\n", mindiff,
context, ignore, function, old_fn, new_fn, c_diff_fn));
sprintf(w_diff_fn, "%s%c.difflib-%ld-oldnew2c_diff-w_diff", tmpdir(),
DIR_SEP, (long) getpid());
- if (!oldnew2w_diff(mindiff, context, ignore, old_fn, new_fn,
w_diff_fn)) {
+ if (!oldnew2w_diff(mindiff, context, ignore, function, old_fn, new_fn,
w_diff_fn)) {
UNLINK(w_diff_fn);
ERRHNDL(0, "oldnew2w_diff returns 0 in oldnew2c_diff", "", 1);
}
@@ -440,17 +440,17 @@
int
-oldnew2lwc_diff(int mindiff, int LWC, int context, char *ignore, char *old_fn,
char *new_fn, char *lwc_diff_fn)
+oldnew2lwc_diff(int mindiff, int LWC, int context, char *ignore, char
*function, char *old_fn, char *new_fn, char *lwc_diff_fn)
{
- TRACE(fprintf(STDERR, "oldnew2lwc_diff(%i,%i,%i,%s,%s,%s,%s)\n",
mindiff, LWC, context, ignore, old_fn, new_fn, lwc_diff_fn));
+ TRACE(fprintf(STDERR, "oldnew2lwc_diff(%i,%i,%i,%s,%s,%s,%s,%s)\n",
mindiff, LWC, context, ignore, function, old_fn, new_fn, lwc_diff_fn));
switch (LWC) {
case 0:
- return oldnew2l_diff(mindiff, context, ignore, old_fn, new_fn,
lwc_diff_fn);
+ return oldnew2l_diff(mindiff, context, ignore, function,
old_fn, new_fn, lwc_diff_fn);
case 1:
- return oldnew2w_diff(mindiff, context, ignore, old_fn, new_fn,
lwc_diff_fn);
+ return oldnew2w_diff(mindiff, context, ignore, function,
old_fn, new_fn, lwc_diff_fn);
case 2:
- return oldnew2c_diff(mindiff, context, ignore, old_fn, new_fn,
lwc_diff_fn);
+ return oldnew2c_diff(mindiff, context, ignore, function,
old_fn, new_fn, lwc_diff_fn);
default:
ErrXit("oldnew2lwc_diff called with wrong LWC", "", 1);
}
@@ -573,12 +573,17 @@
fprintf(html_fp, "<td align='center'>...</td>");
fprintf(html_fp, "<td
align='center'>...</td></tr></tbody>\n");
}
+ for (i = 0; i < 3 && ok; i++)
+ ok = strchr(ok+1, '@');
+ if (ok && ok[1] == ' ')
+ fprintf(html_fp, "<td colspan='7'
align='center'>%s</td>\n", ok + 2);
for (i = 0; i < 5; i++)
clr[i] = 0;
orn = nrn = 0;
newline_ = 1;
newline = 1;
sprintf(c, " ");
+ ok = line;
while (ok && (ok = fgets(line, BUFLEN, lwc_diff_fp)) &&
strchr(" -+", line[0])) {
if (line[1] != '\3') {
size_t sl = strlen(line) - 1;
@@ -842,16 +847,16 @@
int
-oldnew2html(int mindiff, int LWC, int context, char *ignore, char *old_fn,
char *new_fn, char *html_fn, char *caption, char *revision)
+oldnew2html(int mindiff, int LWC, int context, char *ignore, char *function,
char *old_fn, char *new_fn, char *html_fn, char *caption, char *revision)
{
char lwc_diff_fn[CMDLEN];
int rtrn;
- TRACE(fprintf(STDERR, "oldnew2html(%i,%i,%i,%s,%s,%s,%s,%s,%s)\n",
mindiff, LWC, context, ignore, old_fn, new_fn, html_fn, caption, revision));
+ TRACE(fprintf(STDERR, "oldnew2html(%i,%i,%i,%s,%s,%s,%s,%s,%s,%s)\n",
mindiff, LWC, context, ignore, function, old_fn, new_fn, html_fn, caption,
revision));
sprintf(lwc_diff_fn, "%s%c.difflib-%ld-oldnew2html-lwc_diff", tmpdir(),
DIR_SEP, (long) getpid());
- if (!oldnew2lwc_diff(mindiff, LWC, context, ignore, old_fn, new_fn,
lwc_diff_fn))
+ if (!oldnew2lwc_diff(mindiff, LWC, context, ignore, function, old_fn,
new_fn, lwc_diff_fn))
/* { UNLINK(lwc_diff_fn); ERRHNDL(0,"oldnew2lwc_diff returns 0
in oldnew2html","",1); } */
fclose(Wfopen(lwc_diff_fn));
diff -r 0d4e5d27cb15 -r a082f4406a38 testing/src/difflib.h
--- a/testing/src/difflib.h Fri Oct 08 10:22:45 2010 +0200
+++ b/testing/src/difflib.h Fri Oct 08 11:30:21 2010 +0200
@@ -33,18 +33,18 @@
#endif
-FILE *oldnew2u_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn);
-int oldnew2l_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *l_diff_fn);
-int oldnew2w_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *w_diff_fn);
-int oldnew2c_diff(int mindiff, int context, char *ignore, char *old_fn, char
*new_fn, char *c_diff_fn);
-int oldnew2lwc_diff(int mindiff, int LWC, int context, char *ignore, char
*old_fn, char *new_fn, char *lwc_diff_fn);
+FILE *oldnew2u_diff(int mindiff, int context, char *ignore, char *function,
char *old_fn, char *new_fn);
+int oldnew2l_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *l_diff_fn);
+int oldnew2w_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *w_diff_fn);
+int oldnew2c_diff(int mindiff, int context, char *ignore, char *function, char
*old_fn, char *new_fn, char *c_diff_fn);
+int oldnew2lwc_diff(int mindiff, int LWC, int context, char *ignore, char
*function, char *old_fn, char *new_fn, char *lwc_diff_fn);
int u_diff2l_diff(FILE *u_diff_fp, char *l_diff_fn);
int l_diff2w_diff(int mindiff, char *l_diff_fn, char *w_diff_fn);
int w_diff2c_diff(int mindiff, char *w_diff_fn, char *c_diff_fn);
-int oldnew2html(int mindiff, int LWC, int context, char *ignore, char *old_fn,
char *new_fn, char *html_fn, char *caption, char *revision);
+int oldnew2html(int mindiff, int LWC, int context, char *ignore, char
*function, char *old_fn, char *new_fn, char *html_fn, char *caption, char
*revision);
int lwc_diff2html(char *old_fn, char *new_fn, char *lwc_diff_fn, char
*html_fn, char *caption, char *revision);
#endif /* DIFFLIB_H */
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list