File: commands_diff.html

package info (click to toggle)
funnelweb-doc 3.2d-4.2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,744 kB
  • sloc: perl: 241; makefile: 23
file content (202 lines) | stat: -rw-r--r-- 7,143 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202

<HTML>
<!--
***********************************************************************
FUNNELWEB MANUAL WEB PAGE
=========================
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.

Permission is granted to redistribute and use this manual in
any medium, with or without modification, provided that all
notices (including, without limitation, the copyright
notice, this permission notice, any record of modification,
and all legal notices) are preserved on all copies, that all
modifications are clearly marked, and that modified versions
are not represented as the original version unless all the
modifications since the manual's original release by Ross N.
Williams (www.ross.net) consist of translations or other
transformations that alter only the manual's form, not its
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
LAW THERE IS ABSOLUTELY NO WARRANTY.

***********************************************************************
-->

<HEAD>
<TITLE>9.6 Diff</TITLE>
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
</HEAD>
<BODY BACKGROUND="binary/background.gif"
      BGCOLOR="#FFFFFF"
      TEXT="#000000"
      VLINK="#660000"
      LINK="#FF0000"
      ALINK="#CC0000">

<TABLE WIDTH="490">
<TR>
<TD WIDTH="130" VALIGN="top">
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>

<FONT SIZE="2">
<BR>

<A HREF="http://www.ross.net/"
 TARGET="rosshome"
 onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
>
 <IMG SRC="binary/rossnet_logo.gif"
  WIDTH="64" HEIGHT="32"
  BORDER="0" ALT="RossNet"
  HSPACE="0" VSPACE="1"></A><BR>
<BR>

<A HREF="../index.shtml"
 TARGET="funnelweb"
 onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
>
 <IMG SRC="binary/linklogo.gif"
  WIDTH="64" HEIGHT="32"
  BORDER="0" ALT="FunnelWeb"
  HSPACE="0" VSPACE="1"></A><BR>
<BR>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
<A HREF="../tutorial/index.html"
 TARGET="funnelwebtutorial"
 onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
<BR>
<A HREF="../developer/index.html"
 TARGET="funnelwebdeveloper"
 onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
<BR>
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
<A HREF="interface.html"><FONT COLOR="#FFFFFF">2 Interface</FONT></A><BR>
<A HREF="scanner.html"><FONT COLOR="#FFFFFF">3 Scanner</FONT></A><BR>
<A HREF="parser.html"><FONT COLOR="#FFFFFF">4 Parser</FONT></A><BR>
<A HREF="analyser.html"><FONT COLOR="#FFFFFF">5 Analyser</FONT></A><BR>
<A HREF="tangle.html"><FONT COLOR="#FFFFFF">6 Tangle</FONT></A><BR>
<A HREF="weave.html"><FONT COLOR="#FFFFFF">7 Weave</FONT></A><BR>
<A HREF="shell.html"><FONT COLOR="#FFFFFF">8 Shell</FONT></A><BR>
<A HREF="commands.html"><FONT COLOR="#FFFFFF">9 Commands</FONT></A><BR>
<A HREF="glossary.html"><FONT COLOR="#FFFFFF">10 Glossary</FONT></A><BR>
<A HREF="references.html"><FONT COLOR="#FFFFFF">11 References</FONT></A><BR>

<BR>
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
</FONT>
</TD></TR></TABLE>


</TD>
<TD WIDTH="360" VALIGN="top">
<FONT SIZE="3">


<A HREF="index.html"><IMG SRC="binary/title.gif"
 WIDTH="316" HEIGHT="24"
 BORDER="0" ALT="FunnelWeb Reference Manual"
 HSPACE="0" VSPACE="0"></A>
<P><FONT SIZE="5">9.6 Diff</FONT><BR>



<P>The <SAMP>diff</SAMP> command reads in two text files and
<I>appends</I>&nbsp; a report to a log file containing a list of
the differences between the two input files. If the log file
does not already exist, an empty one is created first.

<P>
<PRE>
Syntax  :
   diff = "diff" s filename s filename s
                   filename s ["ABORT"]
Examples:
   diff result.tex answer.tex diff.log
   diff $Otest23.out $Atest23.out $Ldiff.log ABORT
</PRE>

<P>The <SAMP>diff</SAMP> command performs a full line-based
differences operation. It will identify different sections
in a file, even if they are of differing length.

<P>The implementation of the <SAMP>diff</SAMP> command is
quite complicated. To be sure that it is at least getting
its same/different proclamation right, the <SAMP>diff</SAMP>
command performs a binary comparison as an extra check.

<P>The following points describe the rules for determining
the result status.

<P> <OL>

<LI> <SAMP>diff</SAMP> aborts with a severe error if the log
file cannot be opened or created for appending.

<LI> An ordinary error is generated if either or both of
the input files cannot be opened.

<LI> If, at the end of the run, the two input files have
not been proven to be identical, and the <SAMP>ABORT</SAMP>
keyword is present, <SAMP>diff</SAMP> returns severe status.

<LI> <SAMP>diff</SAMP> returns success status if none of the
above conditions (or similar conditions) occur, even if the
two files are different.

</OL>

<P>The <SAMP>diff</SAMP> command <I>appends</I>&nbsp; its
differences report rather than merely writing it. This
allows a regression test script to perform a series of
regression tests and produce a report for the user.

<P>The <SAMP>diff</SAMP> command was added to the shell after
it had become apparent that the simpler <SAMP>compare</SAMP>
command was not yielding enough information. Whereas early
on, regression testing was treated mainly as a tool to
ensure that FunnelWeb was being ported to other machines
correctly, it began to place an increasing role during
development in identifying the effects of changes made to
the code. The <SAMP>diff</SAMP> command supports this
application of regression testing by pinpointing the
differences between nearly-identical text files.


<P>
<TABLE WIDTH="100%">
<TR>
<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>
<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>
<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>
</TR>
</TABLE>



<P>
<HR>
<FONT SIZE="2">
<A HREF="mailto:webmaster@ross.net">Webmaster</A>&nbsp;&nbsp;&nbsp;
<A HREF="copyright.html">Copyright &copy; Ross N. Williams 1992,1999. All rights reserved.</A><BR>
</FONT>

</FONT>
</TD>
</TR>
</TABLE>


</FONT>
</BODY>

<!-- *********************************************************************** -->
<!--      End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/)       -->
<!-- *********************************************************************** -->

</HTML>