Mercurial > hg > octave-nkf
diff test/fntests.m @ 13192:968e89b45bbf
move tests for classes into subdirectories
* classes/test_classes.m: Rename from test_classes.m.
* classes/module.mk: New file with contents from @Blork/module.mk,
@Dork/module.mk, @Pork/module.mk, @Snork/module.mk, @Cork/module.mk,
@Gork/module.mk, @Sneetch/module.mk, and @Spork/module.mk.
(classes_FCN_FILES): Include test_classes.m in the list.
* @Blork/module.mk, @Dork/module.mk, @Pork/module.mk,
@Snork/module.mk, @Cork/module.mk, @Gork/module.mk,
@Sneetch/module.mk, @Spork/module.mk: Delete.
* ctor-vs-method/test_ctor_vs_method.m: Rename from test_ctor_vs_method.m.
* ctor-vs-method/module.mk (ctor_vs_method_FCN_FILES): Include
test_ctor_vs_method.m in the list.
* test/Makefile.am (FCN_FILES): Remove test_classes.m and
test_ctor_vs_method.m from the list.
Don't include @Blork/module.mk,
@Dork/module.mk, @Pork/module.mk, @Snork/module.mk, @Cork/module.mk,
@Gork/module.mk, @Sneetch/module.mk, @Spork/module.mk.
Do include classes/module.mk and ctor-vs-method/module.mk.
* fntests.m (run_test_dir): Also skip private directories and
directories with names that begin with "@".
Work recursively. Change to test directory when running tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 22 Sep 2011 16:44:54 -0400 |
parents | 48c94e21b57f |
children | 0a28c49cb477 |
line wrap: on
line diff
--- a/test/fntests.m +++ b/test/fntests.m @@ -115,26 +115,45 @@ dp = dn = dxf = dsk = 0; for i = 1:length (lst) nm = lst(i).name; - if (length (nm) > 5 && strcmp (nm(1:5), "test_") - && strcmp (nm((end-1):end), ".m")) - p = n = xf = sk = 0; - ffnm = fullfile (d, nm); - if (has_tests (ffnm)) - print_test_file_name (nm); - [p, n, xf, sk] = test (nm(1:(end-2)), "quiet", fid); - print_pass_fail (n, p); - files_with_tests(end+1) = ffnm; - ##elseif (has_demos (ffnm)) - ## files_with_tests(end+1) = ffnm; - else - files_with_no_tests(end+1) = ffnm; - endif + if (lst(i).isdir + && ! strcmp (nm, ".") && ! strcmp (nm, "..") + && ! strcmp (nm, "private") && nm(1) != "@" + && ! strcmp (nm, "CVS")) + [p, n, xf, sk] = run_test_dir (fid, [d, "/", nm]); dp += p; dn += n; dxf += xf; dsk += sk; endif endfor + saved_dir = pwd (); + unwind_protect + chdir (d); + for i = 1:length (lst) + nm = lst(i).name; + if (length (nm) > 5 && strcmp (nm(1:5), "test_") + && strcmp (nm((end-1):end), ".m")) + p = n = xf = sk = 0; + ffnm = fullfile (d, nm); + if (has_tests (ffnm)) + print_test_file_name (nm); + [p, n, xf, sk] = test (nm(1:(end-2)), "quiet", fid); + print_pass_fail (n, p); + files_with_tests(end+1) = ffnm; + ##elseif (has_demos (ffnm)) + ## files_with_tests(end+1) = ffnm; + else + files_with_no_tests(end+1) = ffnm; + endif + dp += p; + dn += n; + dxf += xf; + dsk += sk; + endif + endfor + unwind_protect_cleanup + chdir (saved_dir); + end_unwind_protect endfunction function [dp, dn, dxf, dsk] = run_test_script (fid, d);