forked from DrTimothyAldenDavis/GraphBLAS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrbshow.m
59 lines (41 loc) · 1.37 KB
/
grbshow.m
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
function grbshow
%GBSHOW create a test coverage report in tmp_cover/
% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0
if (ispc)
error ('The tests in Tcov are not ported to Windows') ;
end
infiles = [ dir('tmp_source/*.*') ; dir('tmp_include/*.*') ] ;
nfiles = length (infiles) ;
load grbstat.mat
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, '[') ;
k2 = strfind (cline, ']') ;
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