function SuiteSparse_test % SuiteSparse_test exhaustive test of all SuiteSparse packages % % Your current directory must be SuiteSparse for this function to work. % SuiteSparse_install must be run prior to running this test. Warning: % this test takes a *** long **** time. % % Example: % SuiteSparse_test % % See also SuiteSparse_install, SuiteSparse_demo. % Copyright (c) 1990-2022, Timothy A. Davis, http://suitesparse.com. % See each package for its license. help SuiteSparse_test npackages = 19 ; h = waitbar (0, 'SuiteSparse test:') ; SuiteSparse = pwd ; package = 0 ; try %--------------------------------------------------------------------------- % CSparse %--------------------------------------------------------------------------- % compile and install CSparse (not installed by SuiteSparse_install) package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: CSparse') ; addpath ([SuiteSparse '/CSparse/MATLAB/CSparse']) ; addpath ([SuiteSparse '/CSparse/MATLAB/Demo']) ; cd ([SuiteSparse '/CSparse/MATLAB/CSparse']) ; cs_make ; % test CSparse cd ([SuiteSparse '/CSparse/MATLAB/Test']) ; testall ; % uninstall CSparse by removing it from path rmpath ([SuiteSparse '/CSparse/MATLAB/CSparse']) ; rmpath ([SuiteSparse '/CSparse/MATLAB/Demo']) ; rmpath ([SuiteSparse '/CSparse/MATLAB/ssget']) ; %--------------------------------------------------------------------------- % CXSparse %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: CXSparse') ; cd ([SuiteSparse '/CXSparse/MATLAB/Test']) ; testall ; %--------------------------------------------------------------------------- % COLAMD %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: COLAMD') ; cd ([SuiteSparse '/COLAMD/MATLAB']) ; colamd_test ; %--------------------------------------------------------------------------- % CCOLAMD %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: CCOLAMD') ; cd ([SuiteSparse '/CCOLAMD/MATLAB']) ; ccolamd_test ; %--------------------------------------------------------------------------- % UMFPACK %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: UMFPACK') ; cd ([SuiteSparse '/UMFPACK/MATLAB']) ; umfpack_test (100) ; %--------------------------------------------------------------------------- % CHOLMOD %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: CHOLMOD') ; cd ([SuiteSparse '/CHOLMOD/MATLAB/Test']) ; cholmod_test ; %--------------------------------------------------------------------------- % BTF %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: BTF') ; cd ([SuiteSparse '/BTF/MATLAB/Test']) ; btf_test ; %--------------------------------------------------------------------------- % KLU %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: KLU') ; cd ([SuiteSparse '/KLU/MATLAB/Test']) ; klu_test (100) ; %--------------------------------------------------------------------------- % LDL %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: LDL') ; cd ([SuiteSparse '/LDL/MATLAB']) ; ldltest ; %--------------------------------------------------------------------------- % LINFACTOR: MATLAB 7.3 (R2006b) or later required %--------------------------------------------------------------------------- package = package + 1 ; if (verLessThan ('matlab', '7.3')) % skip test of LINFACTOR else waitbar (package/(npackages+1), h, 'SuiteSparse test: LINFACTOR') ; cd ([SuiteSparse '/MATLAB_Tools/LINFACTOR']) ; lintests ; end %--------------------------------------------------------------------------- % MESHND %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: MESHND') ; cd ([SuiteSparse '/MATLAB_Tools/MESHND']) ; meshnd_quality ; %--------------------------------------------------------------------------- % SSMULT %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: SSMULT') ; cd ([SuiteSparse '/MATLAB_Tools/SSMULT']) ; sstest3 ; %--------------------------------------------------------------------------- % other MATLAB_Tools %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: MATLAB Tools') ; cd ([SuiteSparse '/MATLAB_Tools']) ; fprintf ('getversion: %g\n', getversion) ; seashell ; shellgui ; cd ([SuiteSparse '/MATLAB_Tools/waitmex']) ; waitmex ; url = 'http://suitesparse.com' ; fprintf ('Click here for more details\n', url) ; hprintf ('or see \n', url) ; cd ([SuiteSparse '/MATLAB_Tools/find_components']) ; find_components_example (1, 0) ; cd ([SuiteSparse '/MATLAB_Tools/spok']) ; spok_test ; %--------------------------------------------------------------------------- % FACTORIZE %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: FACTORIZE') ; cd ([SuiteSparse '/MATLAB_Tools/Factorize/Test']) ; test_all ; %--------------------------------------------------------------------------- % SPARSEINV %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: SPARSEINV') ; cd ([SuiteSparse '/MATLAB_Tools/sparseinv']) ; sparseinv_test %--------------------------------------------------------------------------- % SPQR_RANK %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: spqr_rank') ; cd ([SuiteSparse '/MATLAB_Tools/spqr_rank']) ; demo_spqr_rank ; %--------------------------------------------------------------------------- % Mongoose %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: mongoose') ; cd ([SuiteSparse '/Mongoose/MATLAB']) ; mongoose_test ; %--------------------------------------------------------------------------- % GraphBLAS %--------------------------------------------------------------------------- package = package + 1 ; waitbar (package/(npackages+1), h, 'SuiteSparse test: GraphBLAS') ; cd ([SuiteSparse '/GraphBLAS/GraphBLAS/test']) ; gbtest ; %--------------------------------------------------------------------------- % AMD, CAMD, SuiteSparseCollection, ssget %--------------------------------------------------------------------------- % no exhaustive tests; tested via other packages catch %--------------------------------------------------------------------------- % test failure %--------------------------------------------------------------------------- cd (SuiteSparse) ; disp (lasterr) ; %#ok fprintf ('SuiteSparse test: FAILED\n') ; return end %------------------------------------------------------------------------------- % test OK %------------------------------------------------------------------------------- close (h) ; fprintf ('SuiteSparse test: OK\n') ; cd (SuiteSparse) ;