annotate test/fntests.m @ 6730:230f9c49857e

[project @ 2007-06-15 04:22:13 by jwe]
author jwe
date Fri, 15 Jun 2007 04:22:13 +0000
parents bdfb345dab8d
children aff0c76321aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
1 clear all;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
2
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
3 global files_with_no_tests = {};
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
4 global files_with_tests = {};
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
5 global topsrcdir;
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
6 global topbuilddir;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
7
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
8 currdir = canonicalize_file_name (".");
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
9
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
10 if (nargin == 1)
5781
faafc2d98b8d [project @ 2006-05-02 19:40:19 by jwe]
jwe
parents: 5667
diff changeset
11 xdir = argv(){1};
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
12 else
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
13 xdir = ".";
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
14 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
15
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
16 srcdir = canonicalize_file_name (xdir);
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
17 topsrcdir = canonicalize_file_name (fullfile (xdir, ".."));
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
18 topbuilddir = canonicalize_file_name (fullfile (currdir, ".."));
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
19
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
20 if (strcmp (currdir, srcdir))
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
21 testdirs = {srcdir};
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
22 else
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
23 testdirs = {currdir, srcdir};
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
24 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
25
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
26 src_tree = canonicalize_file_name (fullfile (topsrcdir, "src"));
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
27 liboctave_tree = canonicalize_file_name (fullfile (topsrcdir, "liboctave"));
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
28 script_tree = canonicalize_file_name (fullfile (topsrcdir, "scripts"));
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
29 local_script_tree = canonicalize_file_name (fullfile (currdir, "../scripts"));
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
30
6162
b3c425131211 [project @ 2006-11-14 15:33:22 by jwe]
jwe
parents: 5845
diff changeset
31 fundirs = {src_tree, liboctave_tree, script_tree};
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
32
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
33 if (! strcmp (currdir, srcdir))
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
34 fundirs{end+1} = local_script_tree;
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
35 endif
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
36
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
37 function print_test_file_name (nm)
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
38 filler = repmat (".", 1, 55-length (nm));
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
39 printf (" %s %s", nm, filler);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
40 endfunction
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
41
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
42 function print_pass_fail (n, p)
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
43 if (n > 0)
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
44 printf (" PASS %4d/%-4d", p, n);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
45 nfail = n - p;
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
46 if (nfail > 0)
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
47 printf (" FAIL %d", nfail);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
48 endif
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
49 endif
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
50 printf ("\n");
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
51 endfunction
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
52
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
53 function y = hastests (f)
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
54 fid = fopen (f);
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
55 str = fscanf (fid, "%s");
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
56 fclose (fid);
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
57 y = (findstr (str, "%!test") || findstr (str, "%!assert")
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
58 || findstr (str, "%!error") || findstr (str, "%!warning"));
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
59 endfunction
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
60
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
61 function [dp, dn, dxf] = run_test_dir (fid, d);
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
62 global files_with_tests;
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
63 global files_with_no_tests;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
64 lst = dir (d);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
65 dp = dn = dxf = 0;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
66 for i = 1:length (lst)
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
67 nm = lst(i).name;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
68 if (length (nm) > 5 && strcmp (nm(1:5), "test_")
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
69 && strcmp (nm((end-1):end), ".m"))
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
70 p = n = 0;
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
71 ffnm = fullfile (d, nm);
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
72 if (hastests (ffnm))
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
73 print_test_file_name (nm);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
74 [p, n, xf] = test (nm(1:(end-2)), "quiet", fid);
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
75 print_pass_fail (n, p);
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
76 files_with_tests(end+1) = ffnm;
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
77 else
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
78 files_with_no_tests(end+1) = ffnm;
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
79 endif
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
80 dp += p;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
81 dn += n;
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
82 dxf += xf;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
83 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
84 endfor
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
85 endfunction
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
86
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
87 function [dp, dn, dxf] = run_test_script (fid, d);
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
88 global files_with_tests;
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
89 global files_with_no_tests;
5781
faafc2d98b8d [project @ 2006-05-02 19:40:19 by jwe]
jwe
parents: 5667
diff changeset
90 global topsrcdir;
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
91 global topbuilddir;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
92 lst = dir (d);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
93 dp = dn = dxf = 0;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
94 for i = 1:length (lst)
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
95 nm = lst(i).name;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
96 if (lst(i).isdir && ! strcmp (nm, ".") && ! strcmp (nm, "..")
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
97 && ! strcmp (nm, "CVS"))
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
98 [p, n, xf] = run_test_script (fid, [d, "/", nm]);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
99 dp += p;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
100 dn += n;
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
101 dxf += xf;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
102 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
103 endfor
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
104 for i = 1:length (lst)
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
105 nm = lst(i).name;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
106 if ((length (nm) > 3 && strcmp (nm((end-2):end), ".cc"))
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
107 || (length (nm) > 2 && strcmp (nm((end-1):end), ".m")))
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
108 f = fullfile (d, nm);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
109 p = n = xf = 0;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
110 ## Only run if it contains %!test, %!assert %!error or %!warning
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
111 if (hastests (f))
6257
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
112 tmp = strrep (f, [topsrcdir, "/"], "");
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
113 tmp = strrep (tmp, [topbuilddir, "/"], "../");
44c91c5dfe1d [project @ 2007-01-30 19:16:52 by jwe]
jwe
parents: 6162
diff changeset
114 print_test_file_name (tmp);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
115 [p, n, xf] = test (f, "quiet", fid);
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
116 print_pass_fail (n, p);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
117 dp += p;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
118 dn += n;
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
119 dxf += xf;
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
120 files_with_tests(end+1) = f;
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
121 else
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
122 files_with_no_tests(end+1) = f;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
123 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
124 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
125 endfor
5667
ec3ffbf9982b [project @ 2006-03-15 02:51:39 by jwe]
jwe
parents: 5590
diff changeset
126 ## printf("%s%s -> passes %d of %d tests\n", ident, d, dp, dn);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
127 endfunction
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
128
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
129 function printf_assert (varargin)
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
130 global _assert_printf;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
131 _assert_printf = cat (2, _assert_printf, sprintf (varargin{:}));
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
132 endfunction
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
133
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
134 function ret = prog_output_assert (str)
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
135 global _assert_printf;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
136 if (isempty (_assert_printf))
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
137 ret = isempty (str);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
138 elseif (_assert_printf(end) == "\n")
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
139 ret = strcmp (_assert_printf(1:(end-1)), str);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
140 else
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
141 ret = strcmp (_assert_printf, str);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
142 endif
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
143 _assert_printf = "";
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
144 endfunction
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
145
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
146 pso = page_screen_output ();
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
147 warn_state = warning ("query", "quiet");
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
148 warning ("on", "quiet");
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
149 try
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
150 page_screen_output (0);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
151 fid = fopen ("fntests.log", "wt");
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
152 if (fid < 0)
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
153 error ("could not open fntests.log for writing");
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
154 endif
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
155 test ("", "explain", fid);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
156 dp = dn = dxf = 0;
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
157 printf ("\nIntegrated test scripts:\n\n");
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
158 for i = 1:length (fundirs)
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
159 [p, n, xf] = run_test_script (fid, fundirs{i});
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
160 dp += p;
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
161 dn += n;
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
162 dxf += xf;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
163 endfor
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
164 printf ("\nFixed test scripts:\n\n");
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
165 for i = 1:length (testdirs)
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
166 [p, n, xf] = run_test_dir (fid, testdirs{i});
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
167 dp += p;
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
168 dn += n;
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
169 dxf += xf;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
170 endfor
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
171 printf ("\nSummary:\n\n PASS %6d\n", dp);
5667
ec3ffbf9982b [project @ 2006-03-15 02:51:39 by jwe]
jwe
parents: 5590
diff changeset
172 nfail = dn - dp;
ec3ffbf9982b [project @ 2006-03-15 02:51:39 by jwe]
jwe
parents: 5590
diff changeset
173 printf (" FAIL %6d\n", nfail);
6730
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
174 if (dxf > 0)
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
175 printf ("\nThere were %d expected failures (see fntests.log for details).\n",
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
176 dxf);
230f9c49857e [project @ 2007-06-15 04:22:13 by jwe]
jwe
parents: 6277
diff changeset
177 endif
5845
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
178 n_files_with_no_tests = length (files_with_no_tests);
8b4a99ae3b5e [project @ 2006-06-07 18:11:24 by jwe]
jwe
parents: 5840
diff changeset
179 n_files = n_files_with_no_tests + length (files_with_tests);
6277
bdfb345dab8d [project @ 2007-02-07 09:13:45 by jwe]
jwe
parents: 6257
diff changeset
180 printf ("\n%d (of %d) files have no tests. Please help improve Octave by\n",
bdfb345dab8d [project @ 2007-02-07 09:13:45 by jwe]
jwe
parents: 6257
diff changeset
181 n_files_with_no_tests, n_files);
bdfb345dab8d [project @ 2007-02-07 09:13:45 by jwe]
jwe
parents: 6257
diff changeset
182 printf ("contributing tests for these files (see the list in the file fntests.log).\n");
5840
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
183 fprintf (fid, "\nFiles with no tests:\n\n%s",
257643fc806b [project @ 2006-06-01 22:08:00 by jwe]
jwe
parents: 5836
diff changeset
184 list_in_columns (files_with_no_tests, 80));
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
185 fclose (fid);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
186 page_screen_output (pso);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
187 warning (warn_state.state, "quiet");
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
188 catch
5836
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
189 page_screen_output (pso);
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
190 warning (warn_state.state, "quiet");
ed69a3b5b3d0 [project @ 2006-06-01 16:16:00 by jwe]
jwe
parents: 5781
diff changeset
191 disp (lasterr ());
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
192 end_try_catch