<!DOCTYPE html>
<html>
	<head>
		<meta name="viewport" content="width=device-width,initial-scale=1">
		<meta charset="UTF-8">
		<link rel="stylesheet" type="text/css" href="/coverage-style.css">
	</head>
	<body>
		<h1 class="coverage-header">Combined Unit Test</h1>
		<div class="coverage-subheader">/mnt/pd0/work/skia/foo/main.cpp @ <a href="https://skia.googlesource.com/skia/+/98776ab3" target="_blank">98776ab3</a></div>
		<table class="coverage-table">
		<thead>
			<tr>
				<th>Line</th>
				<th>Covered?</th>
				<th>Source</th>
			</tr>
		</thead>
		<tbody>

			<tr class="covered-">
				<td>1</td>
				<td class="covered-"></td>
				<td><pre>// Based off of real world DM data</pre></td>
			</tr>

			<tr class="covered-">
				<td>2</td>
				<td class="covered-"></td>
				<td><pre></pre></td>
			</tr>

			<tr class="covered-">
				<td>3</td>
				<td class="covered-"></td>
				<td><pre>#include &#34;DMJsonWriter.h&#34;</pre></td>
			</tr>

			<tr class="covered-">
				<td>4</td>
				<td class="covered-"></td>
				<td><pre>#include &#34;DMSrcSink.h&#34;</pre></td>
			</tr>

			<tr class="covered-">
				<td>5</td>
				<td class="covered-"></td>
				<td><pre>template &lt;typename... Args&gt;</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>6</td>
				<td class="covered-yes">yes</td>
				<td><pre>static void vlog(const char* fmt, Args&amp;&amp;... args) {</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>7</td>
				<td class="covered-yes">yes</td>
				<td><pre>    if (gVLog) {</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>8</td>
				<td class="covered-yes">yes</td>
				<td><pre>        char s[64];</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>9</td>
				<td class="covered-yes">yes</td>
				<td><pre>        HumanizeMs(s, 64, SkTime::GetMSecs() - kStartMs);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>10</td>
				<td class="covered-yes">yes</td>
				<td><pre>        fprintf(gVLog, &#34;%s\t&#34;, s);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>11</td>
				<td class="covered-yes">yes</td>
				<td><pre>        fprintf(gVLog, fmt, args...);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>12</td>
				<td class="covered-yes">yes</td>
				<td><pre>        fflush(gVLog);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>13</td>
				<td class="covered-yes">yes</td>
				<td><pre>    }</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>14</td>
				<td class="covered-yes">yes</td>
				<td><pre>}</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>15</td>
				<td class="covered-yes">yes</td>
				<td><pre>static void fail(const SkString&amp; err) {</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>16</td>
				<td class="covered-yes">yes</td>
				<td><pre>    SkAutoMutexAcquire lock(gFailuresMutex);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>17</td>
				<td class="covered-yes">yes</td>
				<td><pre>    SkDebugf(&#34;\n\nFAILURE: %s\n\n&#34;, err.c_str());</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>18</td>
				<td class="covered-yes">yes</td>
				<td><pre>    gFailures.push_back(err);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>19</td>
				<td class="covered-yes">yes</td>
				<td><pre>}</pre></td>
			</tr>

			<tr class="covered-">
				<td>20</td>
				<td class="covered-"></td>
				<td><pre></pre></td>
			</tr>

			<tr class="covered-">
				<td>21</td>
				<td class="covered-"></td>
				<td><pre>struct Running {</pre></td>
			</tr>

			<tr class="covered-">
				<td>22</td>
				<td class="covered-"></td>
				<td><pre>    SkString   id;</pre></td>
			</tr>

			<tr class="covered-">
				<td>23</td>
				<td class="covered-"></td>
				<td><pre>    SkThreadID thread;</pre></td>
			</tr>

			<tr class="covered-">
				<td>24</td>
				<td class="covered-"></td>
				<td><pre></pre></td>
			</tr>

			<tr class="covered-yes">
				<td>25</td>
				<td class="covered-yes">yes</td>
				<td><pre>    void dump() const {</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>26</td>
				<td class="covered-yes">yes</td>
				<td><pre>        info(&#34;\t%s\n&#34;, id.c_str());</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>27</td>
				<td class="covered-yes">yes</td>
				<td><pre>    }</pre></td>
			</tr>

			<tr class="covered-">
				<td>28</td>
				<td class="covered-"></td>
				<td><pre>};</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>29</td>
				<td class="covered-yes">yes</td>
				<td><pre>    #if !defined(SK_BUILD_FOR_ANDROID)</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>30</td>
				<td class="covered-yes">yes</td>
				<td><pre>        void* stack[64];</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>31</td>
				<td class="covered-yes">yes</td>
				<td><pre>        int count = backtrace(stack, SK_ARRAY_COUNT(stack));</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>32</td>
				<td class="covered-yes">yes</td>
				<td><pre>        char** symbols = backtrace_symbols(stack, count);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>33</td>
				<td class="covered-yes">yes</td>
				<td><pre>        info(&#34;\nStack trace:\n&#34;);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>34</td>
				<td class="covered-yes">yes</td>
				<td><pre>        for (int i = 0; i &lt; count; i&#43;&#43;) {</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>35</td>
				<td class="covered-yes">yes</td>
				<td><pre>            info(&#34;    %s\n&#34;, symbols[i]);</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>36</td>
				<td class="covered-yes">yes</td>
				<td><pre>        }</pre></td>
			</tr>

			<tr class="covered-">
				<td>37</td>
				<td class="covered-"></td>
				<td><pre>    #else</pre></td>
			</tr>

			<tr class="covered-yes">
				<td>38</td>
				<td class="covered-yes">yes</td>
				<td><pre>        fflush(stdout);</pre></td>
			</tr>

			<tr class="covered-no">
				<td>39</td>
				<td class="covered-no">no</td>
				<td><pre>    #endif</pre></td>
			</tr>

			<tr class="covered-no">
				<td>40</td>
				<td class="covered-no">no</td>
				<td><pre>        signal(sig, previous_handler[sig]);</pre></td>
			</tr>

			<tr class="covered-no">
				<td>41</td>
				<td class="covered-no">no</td>
				<td><pre>        raise(sig);</pre></td>
			</tr>

			<tr class="covered-no">
				<td>42</td>
				<td class="covered-no">no</td>
				<td><pre>    }</pre></td>
			</tr>

		</tbody>
		</table>
	</body>
</html>