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
  
     | 
    
      function grbshow
%GRBSHOW create a test coverage report in tmp_cover/
% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2025, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0
if (ispc)
    error ('The tests in Tcov are not ported to Windows') ;
end
GB_mex_finalize ;
infiles = [ dir('tmp_source/*.*') ; dir('tmp_include/*.*') ] ;
nfiles = length (infiles) ;
% load grbstat.mat
global GraphBLAS_grbcov
n = grblines ;
c = sum (GraphBLAS_grbcov > 0) ;
if (c == n)
    fprintf ('all %d lines covered\n', n) ;
    return
end
for k = 1:nfiles
    if (infiles (k).bytes == 0)
        continue ;
    end
    infile   = [ infiles(k).folder filesep infiles(k).name ] ;
    outfile  = [ 'tmp_cover/' infiles(k).name ] ;
    f_input  = fopen (infile,  'r') ;
    f_output = fopen (outfile, 'w') ;
    % get the first line
    cline = fgetl (f_input) ;
    while (ischar (cline))
        fprintf (f_output, '%s\n', cline) ;
        if (~isempty (strfind (cline, 'GB_cov[')) && ...
            ~isempty (strfind (cline, '++')))
            % got one; get the count
            k1 = strfind (cline, '[') ;
            k1 = k1 (1) ;
            k2 = strfind (cline, ']') ;
            k2 = k2 (1) ;
            s = cline (k1+1:k2-1) ;
            i = str2num (s) + 1 ;
            c = GraphBLAS_grbcov (i) ;
            if (c == 0)
                fprintf (f_output, '// NOT COVERED (%d):\n', i-1) ;
            else
                fprintf (f_output, '// covered (%d): %d\n', i-1, c) ;
            end
        end
        cline = fgetl (f_input) ;
    end
    fclose (f_output) ;
    fclose (f_input) ;
end
 
     |