File: grbshow.m

package info (click to toggle)
suitesparse 1%3A7.10.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 254,920 kB
  • sloc: ansic: 1,134,743; cpp: 46,133; makefile: 4,875; fortran: 2,087; java: 1,826; sh: 996; ruby: 725; python: 495; asm: 371; sed: 166; awk: 44
file content (70 lines) | stat: -rw-r--r-- 1,623 bytes parent folder | download | duplicates (2)
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