4
***********************************************************************
5
FUNNELWEB MANUAL WEB PAGE
6
=========================
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
9
Permission is granted to redistribute and use this manual in
10
any medium, with or without modification, provided that all
11
notices (including, without limitation, the copyright
12
notice, this permission notice, any record of modification,
13
and all legal notices) are preserved on all copies, that all
14
modifications are clearly marked, and that modified versions
15
are not represented as the original version unless all the
16
modifications since the manual's original release by Ross N.
17
Williams (www.ross.net) consist of translations or other
18
transformations that alter only the manual's form, not its
19
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
20
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
21
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
22
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
23
LAW THERE IS ABSOLUTELY NO WARRANTY.
25
***********************************************************************
29
<TITLE>9.6 Diff</TITLE>
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
32
<BODY BACKGROUND="binary/background.gif"
41
<TD WIDTH="130" VALIGN="top">
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
47
<A HREF="http://www.ross.net/"
49
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
51
<IMG SRC="binary/rossnet_logo.gif"
52
WIDTH="64" HEIGHT="32"
53
BORDER="0" ALT="RossNet"
54
HSPACE="0" VSPACE="1"></A><BR>
57
<A HREF="../index.shtml"
59
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
61
<IMG SRC="binary/linklogo.gif"
62
WIDTH="64" HEIGHT="32"
63
BORDER="0" ALT="FunnelWeb"
64
HSPACE="0" VSPACE="1"></A><BR>
66
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
67
<A HREF="../tutorial/index.html"
68
TARGET="funnelwebtutorial"
69
onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
70
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
72
<A HREF="../developer/index.html"
73
TARGET="funnelwebdeveloper"
74
onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
75
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
77
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
78
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
79
<A HREF="interface.html"><FONT COLOR="#FFFFFF">2 Interface</FONT></A><BR>
80
<A HREF="scanner.html"><FONT COLOR="#FFFFFF">3 Scanner</FONT></A><BR>
81
<A HREF="parser.html"><FONT COLOR="#FFFFFF">4 Parser</FONT></A><BR>
82
<A HREF="analyser.html"><FONT COLOR="#FFFFFF">5 Analyser</FONT></A><BR>
83
<A HREF="tangle.html"><FONT COLOR="#FFFFFF">6 Tangle</FONT></A><BR>
84
<A HREF="weave.html"><FONT COLOR="#FFFFFF">7 Weave</FONT></A><BR>
85
<A HREF="shell.html"><FONT COLOR="#FFFFFF">8 Shell</FONT></A><BR>
86
<A HREF="commands.html"><FONT COLOR="#FFFFFF">9 Commands</FONT></A><BR>
87
<A HREF="glossary.html"><FONT COLOR="#FFFFFF">10 Glossary</FONT></A><BR>
88
<A HREF="references.html"><FONT COLOR="#FFFFFF">11 References</FONT></A><BR>
91
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
97
<TD WIDTH="360" VALIGN="top">
101
<A HREF="index.html"><IMG SRC="binary/title.gif"
102
WIDTH="316" HEIGHT="24"
103
BORDER="0" ALT="FunnelWeb Reference Manual"
104
HSPACE="0" VSPACE="0"></A>
105
<P><FONT SIZE="5">9.6 Diff</FONT><BR>
109
<P>The <SAMP>diff</SAMP> command reads in two text files and
110
<I>appends</I> a report to a log file containing a list of
111
the differences between the two input files. If the log file
112
does not already exist, an empty one is created first.
117
diff = "diff" s filename s filename s
120
diff result.tex answer.tex diff.log
121
diff $Otest23.out $Atest23.out $Ldiff.log ABORT
124
<P>The <SAMP>diff</SAMP> command performs a full line-based
125
differences operation. It will identify different sections
126
in a file, even if they are of differing length.
128
<P>The implementation of the <SAMP>diff</SAMP> command is
129
quite complicated. To be sure that it is at least getting
130
its same/different proclamation right, the <SAMP>diff</SAMP>
131
command performs a binary comparison as an extra check.
133
<P>The following points describe the rules for determining
138
<LI> <SAMP>diff</SAMP> aborts with a severe error if the log
139
file cannot be opened or created for appending.
141
<LI> An ordinary error is generated if either or both of
142
the input files cannot be opened.
144
<LI> If, at the end of the run, the two input files have
145
not been proven to be identical, and the <SAMP>ABORT</SAMP>
146
keyword is present, <SAMP>diff</SAMP> returns severe status.
148
<LI> <SAMP>diff</SAMP> returns success status if none of the
149
above conditions (or similar conditions) occur, even if the
150
two files are different.
154
<P>The <SAMP>diff</SAMP> command <I>appends</I> its
155
differences report rather than merely writing it. This
156
allows a regression test script to perform a series of
157
regression tests and produce a report for the user.
159
<P>The <SAMP>diff</SAMP> command was added to the shell after
160
it had become apparent that the simpler <SAMP>compare</SAMP>
161
command was not yielding enough information. Whereas early
162
on, regression testing was treated mainly as a tool to
163
ensure that FunnelWeb was being ported to other machines
164
correctly, it began to place an increasing role during
165
development in identifying the effects of changes made to
166
the code. The <SAMP>diff</SAMP> command supports this
167
application of regression testing by pinpointing the
168
differences between nearly-identical text files.
174
<TD ALIGN="left" VALIGN="bottom"><A HREF="commands_define.html"><IMG SRC="binary/fw_left.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Prev"></A></TD>
175
<TD ALIGN="center" VALIGN="bottom"><A HREF="commands.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
176
<TD ALIGN="right" VALIGN="bottom"><A HREF="commands_diffsummary.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
185
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
186
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
198
<!-- *********************************************************************** -->
199
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
200
<!-- *********************************************************************** -->