Mercurial > octave-nkf
annotate scripts/testfun/__run_test_suite__.m @ 20654:b65888ec820e draft default tip gccjit
dmalcom gcc jit import
author | Stefan Mahr <dac922@gmx.de> |
---|---|
date | Fri, 27 Feb 2015 16:59:36 +0100 |
parents | fe488ffe5f4b |
children |
rev | line source |
---|---|
19731
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19631
diff
changeset
|
1 ## Copyright (C) 2005-2015 David Bateman |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 ## |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 ## This file is part of Octave. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 ## |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 ## Octave is free software; you can redistribute it and/or modify it |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 ## under the terms of the GNU General Public License as published by |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 ## the Free Software Foundation; either version 3 of the License, or (at |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 ## your option) any later version. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 ## |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 ## Octave is distributed in the hope that it will be useful, but |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 ## General Public License for more details. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 ## |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 ## You should have received a copy of the GNU General Public License |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 ## along with Octave; see the file COPYING. If not, see |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
17 ## <http://www.gnu.org/licenses/>. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
18 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 ## -*- texinfo -*- |
16816
12005245b645
doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents:
16030
diff
changeset
|
20 ## @deftypefn {Function File} {} __run_test_suite__ (@var{fcndirs}, @var{fixedtestdirs}) |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 ## Undocumented internal function. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 ## @end deftypefn |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 |
20461
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
24 function [pass, fail, xfail, skip] = __run_test_suite__ (fcndirs, fixedtestdirs) |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
25 |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 testsdir = octave_config_info ("octtestsdir"); |
16030
1af8d21608b7
rename all test files in the test directory from test_X.m to X.tst
John W. Eaton <jwe@octave.org>
parents:
16019
diff
changeset
|
27 libinterptestdir = fullfile (testsdir, "libinterp"); |
1af8d21608b7
rename all test files in the test directory from test_X.m to X.tst
John W. Eaton <jwe@octave.org>
parents:
16019
diff
changeset
|
28 liboctavetestdir = fullfile (testsdir, "liboctave"); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 fixedtestdir = fullfile (testsdir, "fixed"); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 fcnfiledir = octave_config_info ("fcnfiledir"); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 if (nargin == 0) |
18028
9f59f4f74986
test: Run test suite tests in compilation order (liboctave, libinterp, scripts).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
32 fcndirs = { liboctavetestdir, libinterptestdir, fcnfiledir }; |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 fixedtestdirs = { fixedtestdir }; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 endif |
19403
29228fa3edba
improve reporting for __run_test_suite__ (bug #43732)
John W. Eaton <jwe@octave.org>
parents:
18115
diff
changeset
|
35 global files_with_no_tests; |
29228fa3edba
improve reporting for __run_test_suite__ (bug #43732)
John W. Eaton <jwe@octave.org>
parents:
18115
diff
changeset
|
36 global files_with_tests; |
29228fa3edba
improve reporting for __run_test_suite__ (bug #43732)
John W. Eaton <jwe@octave.org>
parents:
18115
diff
changeset
|
37 files_with_no_tests = {}; |
29228fa3edba
improve reporting for __run_test_suite__ (bug #43732)
John W. Eaton <jwe@octave.org>
parents:
18115
diff
changeset
|
38 files_with_tests = {}; |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
39 ## FIXME: These names don't really make sense if we are running |
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
40 ## tests for an installed copy of Octave. |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 global topsrcdir = fcnfiledir; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
42 global topbuilddir = testsdir; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 pso = page_screen_output (); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
44 orig_wstate = warning (); |
19403
29228fa3edba
improve reporting for __run_test_suite__ (bug #43732)
John W. Eaton <jwe@octave.org>
parents:
18115
diff
changeset
|
45 logfile = make_absolute_filename ("fntests.log"); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
46 unwind_protect |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
47 page_screen_output (false); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
48 warning ("on", "quiet"); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 warning ("off", "Octave:deprecated-function"); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
50 try |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
51 fid = fopen (logfile, "wt"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
52 if (fid < 0) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
53 error ("could not open %s for writing", logfile); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
54 endif |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
55 test ("", "explain", fid); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
56 dp = dn = dxf = dsk = 0; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
57 puts ("\nIntegrated test scripts:\n\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
58 for i = 1:length (fcndirs) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
59 [p, n, xf, sk] = run_test_script (fid, fcndirs{i}); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
60 dp += p; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
61 dn += n; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
62 dxf += xf; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
63 dsk += sk; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
64 endfor |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
65 puts ("\nFixed test scripts:\n\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
66 for i = 1:length (fixedtestdirs) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
67 [p, n, xf, sk] = run_test_dir (fid, fixedtestdirs{i}); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
68 dp += p; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
69 dn += n; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
70 dxf += xf; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
71 dsk += sk; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
72 endfor |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
73 puts ("\nSummary:\n\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
74 nfail = dn - dp - dxf; |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
75 printf (" PASS %6d\n", dp); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
76 printf (" FAIL %6d\n", nfail); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
77 if (dxf > 0) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
78 printf (" XFAIL %6d\n", dxf); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
79 endif |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
80 if (dsk > 0) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
81 printf (" SKIPPED %6d\n", dsk); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
82 endif |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 puts ("\n"); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
84 printf ("See the file %s for additional details.\n", logfile); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
85 if (dxf > 0) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
86 puts ("\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
87 puts ("Expected failures (listed as XFAIL above) are known bugs.\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
88 puts ("Please help improve Octave by contributing fixes for them.\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
89 endif |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
90 if (dsk > 0) |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
91 puts ("\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
92 puts ("Tests are most often skipped because the features they require\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
93 puts ("have been disabled. Features are most often disabled because\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
94 puts ("they require dependencies that were not present when Octave\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
95 puts ("was built. The configure script should have printed a summary\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
96 puts ("at the end of its run indicating which dependencies were not found.\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
97 endif |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
99 ## Weed out deprecated and private functions |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
100 weed_idx = cellfun (@isempty, regexp (files_with_tests, '\<deprecated\>|\<private\>', 'once')); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
101 files_with_tests = files_with_tests(weed_idx); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
102 weed_idx = cellfun (@isempty, regexp (files_with_no_tests, '\<deprecated\>|\<private\>', 'once')); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
103 files_with_no_tests = files_with_no_tests(weed_idx); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
104 |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
105 report_files_with_no_tests (files_with_tests, files_with_no_tests, ".m"); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
106 |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
107 puts ("\nPlease help improve Octave by contributing tests for these files\n"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
108 printf ("(see the list in the file %s).\n\n", logfile); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
109 |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
110 fprintf (fid, "\nFiles with no tests:\n\n%s", |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
111 list_in_columns (files_with_no_tests, 80)); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
112 fclose (fid); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
113 catch |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
114 disp (lasterr ()); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
115 end_try_catch |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
116 unwind_protect_cleanup |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
117 warning ("off", "all"); |
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
118 warning (orig_wstate); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
119 page_screen_output (pso); |
19478
3f29b433bd5d
do a better job of preserving warning state when running tests
John W. Eaton <jwe@octave.org>
parents:
19411
diff
changeset
|
120 end_unwind_protect |
20461
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
121 |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
122 if (nargout > 0) |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
123 pass = np; |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
124 fail = nfail; |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
125 xfail = dxf; |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
126 skip = xsk; |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
127 endif |
fe488ffe5f4b
* __run_test_suite__.m: Return number of passed, failed, and skipped tests.
John W. Eaton <jwe@octave.org>
parents:
19731
diff
changeset
|
128 |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
129 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
130 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
131 function print_test_file_name (nm) |
18167
441121728230
tweak format of per-file info lines in __run_test_suite__ output
John W. Eaton <jwe@octave.org>
parents:
18166
diff
changeset
|
132 filler = repmat (".", 1, 60-length (nm)); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
133 printf (" %s %s", nm, filler); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
134 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
135 |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
136 function print_pass_fail (p, n, xf, sk) |
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
137 if ((n + sk) > 0) |
18167
441121728230
tweak format of per-file info lines in __run_test_suite__ output
John W. Eaton <jwe@octave.org>
parents:
18166
diff
changeset
|
138 printf (" PASS %4d/%-4d", p, n); |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
139 nfail = n - p - xf; |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
140 if (nfail > 0) |
18167
441121728230
tweak format of per-file info lines in __run_test_suite__ output
John W. Eaton <jwe@octave.org>
parents:
18166
diff
changeset
|
141 printf ("\n%71s %3d", "FAIL ", nfail); |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19630
diff
changeset
|
142 endif |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
143 if (sk > 0) |
18167
441121728230
tweak format of per-file info lines in __run_test_suite__ output
John W. Eaton <jwe@octave.org>
parents:
18166
diff
changeset
|
144 printf ("\n%71s %3d", "SKIP ", sk); |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
145 endif |
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
146 if (xf > 0) |
18167
441121728230
tweak format of per-file info lines in __run_test_suite__ output
John W. Eaton <jwe@octave.org>
parents:
18166
diff
changeset
|
147 printf ("\n%71s %3d", "XFAIL", xf); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
148 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
149 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
150 puts ("\n"); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
151 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
152 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
153 function retval = has_functions (f) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
154 n = length (f); |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
155 if (n > 3 && strcmpi (f((end-2):end), ".cc")) |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
156 fid = fopen (f); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
157 if (fid >= 0) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
158 str = fread (fid, "*char")'; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
159 fclose (fid); |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
160 retval = ! isempty (regexp (str,'^(DEFUN|DEFUN_DLD)\>', |
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
161 'lineanchors', 'once')); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
162 else |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
163 error ("fopen failed: %s", f); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
164 endif |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
165 elseif (n > 2 && strcmpi (f((end-1):end), ".m")) |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
166 retval = true; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 else |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
168 retval = false; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
169 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
170 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
171 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
172 function retval = has_tests (f) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
173 fid = fopen (f); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
174 if (fid >= 0) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
175 str = fread (fid, "*char")'; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
176 fclose (fid); |
18115
523dd79ee726
also check for xtest in __run_test_suite__
John W. Eaton <jwe@octave.org>
parents:
18028
diff
changeset
|
177 retval = ! isempty (regexp (str, |
523dd79ee726
also check for xtest in __run_test_suite__
John W. Eaton <jwe@octave.org>
parents:
18028
diff
changeset
|
178 '^%!(assert|error|fail|test|xtest|warning)', |
523dd79ee726
also check for xtest in __run_test_suite__
John W. Eaton <jwe@octave.org>
parents:
18028
diff
changeset
|
179 'lineanchors', 'once')); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
180 else |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
181 error ("fopen failed: %s", f); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
182 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
183 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
184 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
185 function [dp, dn, dxf, dsk] = run_test_dir (fid, d); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
186 global files_with_tests; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
187 global files_with_no_tests; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
188 lst = dir (d); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
189 dp = dn = dxf = dsk = 0; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
190 for i = 1:length (lst) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
191 nm = lst(i).name; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
192 if (lst(i).isdir |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
193 && nm(1) != "." && ! strcmp (nm, "private") && nm(1) != "@") |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
194 [p, n, xf, sk] = run_test_dir (fid, [d, filesep, nm]); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
195 dp += p; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
196 dn += n; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
197 dxf += xf; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
198 dsk += sk; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
199 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
200 endfor |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
201 saved_dir = pwd (); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
202 unwind_protect |
19314
98a18bc3208e
Use cd rather than chdir in core Octave code.
Rik <rik@octave.org>
parents:
19205
diff
changeset
|
203 cd (d); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
204 for i = 1:length (lst) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
205 nm = lst(i).name; |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
206 if (length (nm) > 4 && strcmpi (nm((end-3):end), ".tst")) |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
207 p = n = xf = sk = 0; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
208 ffnm = fullfile (d, nm); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
209 if (has_tests (ffnm)) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
210 print_test_file_name (nm); |
16030
1af8d21608b7
rename all test files in the test directory from test_X.m to X.tst
John W. Eaton <jwe@octave.org>
parents:
16019
diff
changeset
|
211 [p, n, xf, sk] = test (nm, "quiet", fid); |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
212 print_pass_fail (p, n, xf, sk); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
213 files_with_tests(end+1) = ffnm; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
214 else |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
215 files_with_no_tests(end+1) = ffnm; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
216 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
217 dp += p; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
218 dn += n; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
219 dxf += xf; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
220 dsk += sk; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
221 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
222 endfor |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
223 unwind_protect_cleanup |
19314
98a18bc3208e
Use cd rather than chdir in core Octave code.
Rik <rik@octave.org>
parents:
19205
diff
changeset
|
224 cd (saved_dir); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
225 end_unwind_protect |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
226 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
227 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
228 function [dp, dn, dxf, dsk] = run_test_script (fid, d); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
229 global files_with_tests; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
230 global files_with_no_tests; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
231 global topsrcdir; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
232 global topbuilddir; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
233 lst = dir (d); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
234 dp = dn = dxf = dsk = 0; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
235 for i = 1:length (lst) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
236 nm = lst(i).name; |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
237 if (lst(i).isdir && nm(1) != ".") |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
238 [p, n, xf, sk] = run_test_script (fid, [d, filesep, nm]); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
239 dp += p; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
240 dn += n; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
241 dxf += xf; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
242 dsk += sk; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
243 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
244 endfor |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
245 for i = 1:length (lst) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
246 nm = lst(i).name; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
247 ## Ignore hidden files |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
248 if (nm(1) == '.') |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
249 continue |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
250 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
251 f = fullfile (d, nm); |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
252 if ((length (nm) > 2 && strcmpi (nm((end-1):end), ".m")) |
16030
1af8d21608b7
rename all test files in the test directory from test_X.m to X.tst
John W. Eaton <jwe@octave.org>
parents:
16019
diff
changeset
|
253 || (length (nm) > 4 |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
254 && ( strcmpi (nm((end-3):end), "-tst") |
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
255 || strcmpi (nm((end-3):end), ".tst")))) |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
256 p = n = xf = 0; |
17182
fa724bdd52d0
__run_test_suite__.m: Recode regexps for performance. Don't search private '.' dirs.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
257 ## Only run if it contains %!test, %!assert, %!error, %!fail, or %!warning |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
258 if (has_tests (f)) |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
259 tmp = strrep (f, [topsrcdir, filesep], ""); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
260 tmp = strrep (tmp, [topbuilddir, filesep], ""); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
261 print_test_file_name (tmp); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
262 [p, n, xf, sk] = test (f, "quiet", fid); |
18166
c9b4d3177de3
Don't count expected failures as passed tests.
Carlo de Falco <cdf@users.sourceforge.net>
parents:
18115
diff
changeset
|
263 print_pass_fail (p, n, xf, sk); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
264 dp += p; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
265 dn += n; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
266 dxf += xf; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
267 dsk += sk; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
268 files_with_tests(end+1) = f; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
269 else |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
270 ## To reduce the list length, only mark .cc files that contain |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
271 ## DEFUN definitions. |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
272 files_with_no_tests(end+1) = f; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
273 endif |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
274 endif |
19627
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19403
diff
changeset
|
275 endfor |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
276 ## printf("%s%s -> passes %d of %d tests\n", ident, d, dp, dn); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
277 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
278 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
279 function n = num_elts_matching_pattern (lst, pat) |
17386
6dbc866379e2
Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
280 n = sum (! cellfun ("isempty", regexp (lst, pat, 'once'))); |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
281 endfunction |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
282 |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
283 function report_files_with_no_tests (with, without, typ) |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16816
diff
changeset
|
284 pat = ['\' typ "$"]; |
16019
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
285 n_with = num_elts_matching_pattern (with, pat); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
286 n_without = num_elts_matching_pattern (without, pat); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
287 n_tot = n_with + n_without; |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
288 printf ("\n%d (of %d) %s files have no tests.\n", n_without, n_tot, typ); |
5b2126a8c84f
install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
289 endfunction |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
17182
diff
changeset
|
290 |
19205
702aa79dc482
Add BIST tests for various quasi-internal m-files.
Rik <rik@octave.org>
parents:
18167
diff
changeset
|
291 |
702aa79dc482
Add BIST tests for various quasi-internal m-files.
Rik <rik@octave.org>
parents:
18167
diff
changeset
|
292 ## No test coverage for internal function. It is tested through calling fcn. |
702aa79dc482
Add BIST tests for various quasi-internal m-files.
Rik <rik@octave.org>
parents:
18167
diff
changeset
|
293 %!assert (1) |
702aa79dc482
Add BIST tests for various quasi-internal m-files.
Rik <rik@octave.org>
parents:
18167
diff
changeset
|
294 |