source: XIOS/trunk/xios_test_suite/HTML/xios_report.html @ 1814

Last change on this file since 1814 was 1814, checked in by yushan, 2 years ago

trunk : update on html rendering

File size: 11.7 KB
Line 
1<!DOCTYPE html>
2<html>
3    <head>
4        <metacharset="utf-8"/>
5        <link rel="stylesheet" href="xios-style.css"/>
6        <title>XIOS Unit Tests Report - Le Site Web</title>
7       
8        <script src="generate_compile_table.js" type="text/javascript"></script>
9        <script src="generate_test_table.js" type="text/javascript"></script>
10
11        <script src="compile_irene_info.js" type="text/javascript"></script>
12        <script src="test_irene_info.js" type="text/javascript"></script>
13
14        <script src="https://forge.ipsl.jussieu.fr/ioserver/chrome/site/XIOS_TEST_SUITE/compile_jeanzay_info.js" type="text/javascript"></script>
15        <script src="https://forge.ipsl.jussieu.fr/ioserver/chrome/site/XIOS_TEST_SUITE/test_jeanzay_info.js" type="text/javascript"></script>
16
17    </head>
18
19    <body onload="generateCompileTable(); generateTestTable(); ">
20       
21        <header>
22            <h1>XIOS Unit Tests Report Web Page</h1>
23            <!-- <h2>(still under construction ... ...)</h2> -->
24        </header>
25
26        <nav>
27            <div>
28                <!-- <p id="xiosinfo">Some useful links:</p> -->
29                <ul>
30                    <li><a href="https://forge.ipsl.jussieu.fr/ioserver/wiki" target="_blank">XIOS wiki page</a></li>
31                    <li><a href="graph.html" target="_blank">Workflow Graph Visualizer</a></li>
32                </ul> 
33            </div>       
34        </nav> 
35
36   
37
38        <section>
39
40            <!-- <h2>Results of unit tests</h2> -->
41
42            <form method="post" style="margin-left: 25px;">
43
44                <p><label for="Build revision">Choose a revision number to show compile and test results : </label>
45                    <select name="revision" id="revision">
46                        <option value="0" selected>All available revisions ...</option>
47                    </select>
48                </p>
49
50            </form>
51
52
53            <ul><li>&#10060; : compile failed / test failed</li><li>&#10062; : test result initialized</li><li>&#9989; : compile passed / test passed</li></ul>
54
55        </section>
56
57        <section>
58
59
60            <div>
61                <table id="compile_table" style="margin: 50px;">
62                    <caption>Table of XIOS Compile status</caption>
63                    <tr style="font-weight: bold;" id="compile_table_row0"></tr>
64                </table>
65            </div>   
66
67
68            <div style="margin-top: 100px;">
69                <table id="test_table" style="margin: 50px;">
70                    <caption>Table of XIOS unit tests results</caption>
71                    <tr style="font-weight: bold;" id="test_table_row0"></tr>
72                </table>
73            </div>
74
75
76        </section>
77
78
79        <footer>
80            <p>Copyright XIOS - Tous droits réservés
81                <a href="mailto:xios-dev@forge.ipsl.jussieu.fr">Nous contacter !</a>
82            </p>
83        </footer>
84    </body>
85</html>
86 
87<script>
88
89    var params = "scrollbars=yes,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=600,height=300,left=100,top=100";
90
91    function show_text(the_text) 
92    {
93        window.open("about:blank", "", params).document.write(the_text); 
94    }
95
96    function show_user_params(machine, revision, build_dir, algo)
97    {
98        var user_params = eval("test_"+machine+"_"+revision+"_"+algo+"_user_params")
99        var myText = "<p style=\"color:blue;font-weight:bold;\">user_params.def for "+algo+"</p><p>"
100        for (var i=0; i<user_params.length; i++)
101        {
102            myText += user_params[i]+"</br>"
103        }
104        myText+="</p>"
105        window.open("about:blank", "", params).document.write(myText);
106    }
107
108    function show_all_params(machine, revision, build_dir, algo, config)
109    {
110        var config_name = config.replace(/=/g,"_")
111        var all_params = eval("test_"+machine+"_"+revision+"_"+algo+"_"+config_name+"_all_params")
112        var myText = "<p style=\"color:blue;font-weight:bold;\">all_param.def for "+algo+"/"+config+"</p><p>"
113        for (var i=0; i<all_params.length; i++)
114        {
115            myText += all_params[i]+"</br>"
116        }
117        myText+="</p>"
118        window.open("about:blank", "", params).document.write(myText); 
119    }
120
121
122    function show_plain_report(machine, revision, build_dir)
123    {
124        var info_list = eval("test_"+machine+"_"+revision+"_"+build_dir.replace("build_",""))
125        var myText = "<p style=\"color:blue;\">Revision = "+revision+"</br>Machine = "+machine+"<br>Build_dir ="+build_dir+"</p>"
126        for (var i=0; i<info_list.length; i++)
127        {
128            myText+="<P>"
129            for (var j=0; j<4; j++)
130            {
131                myText+=info_list[i][j]+" "
132            }
133            myText+="</p>"
134        }
135        window.open("about:blank", "", params).document.write(myText);
136    }
137   
138    function show_dropdown(dropdown_id)
139    {
140        var cell = document.getElementById(dropdown_id);
141        if (cell)
142        {
143            cell.classList.add("showit")
144        }
145    }
146
147    function hide_dropdown(dropdown_id)
148    {
149        var cell = document.getElementById(dropdown_id);
150        if (cell)
151        {
152            cell.classList.remove("showit")
153        }
154    }
155   
156   
157</script>
158
159
160<script>
161
162    document.getElementById("revision").addEventListener("change", myFunction);
163   
164    function myFunction() 
165    {
166        if(this.value == 0)
167        {
168            // compile part ...
169
170            var ans = document.getElementsByClassName('compile_table_row')
171            for (var i = 0; i < ans.length; i++)
172            {
173                cell = ans[i]
174                cell.classList.remove('hide')
175                cell.classList.add('show')
176            }
177            document.getElementById("empty_compile_row").style.display="none"
178
179            // test part ...
180
181            var ans = document.getElementsByClassName('test_table_row')
182            for (var i = 0; i < ans.length; i++)
183            {
184                cell = ans[i]
185                cell.classList.remove('hide')
186                cell.classList.add('show')
187            }
188            document.getElementById("empty_test_row").style.display="none"
189        }
190       
191        else
192        {
193            // compile part ...
194
195            var ans = document.getElementsByClassName('compile_table_row')
196            for (var i = 0; i < ans.length; i++)
197            {
198                cell = ans[i]
199                cell.classList.remove('show')
200                cell.classList.add('hide')
201            }
202            document.getElementById("empty_compile_row").style.display="none"
203
204            var ans = document.getElementById('compile_table_'+this.value)
205            if(ans)
206            {
207                ans.classList.remove('hide')
208                ans.classList.add('show')
209            } 
210            else
211            {
212                document.getElementById("empty_compile_row_revision").innerHTML=this.value
213                document.getElementById("empty_compile_row").style.display="table-row"
214            } 
215
216           
217            // test part ...
218           
219            var ans = document.getElementsByClassName('test_table_row')
220            for (var i = 0; i < ans.length; i++)
221            {
222                cell = ans[i]
223                cell.classList.remove('show')
224                cell.classList.add('hide')
225            }
226            document.getElementById("empty_test_row").style.display="none"
227           
228            var ans = document.getElementById('test_table_'+this.value)
229            if(ans)
230            {
231                ans.classList.remove('hide')
232                ans.classList.add('show')
233            } 
234            else
235            {
236                document.getElementById("empty_test_row_revision").innerHTML=this.value
237                document.getElementById("empty_test_row").style.display="table-row"
238            } 
239        }
240    }
241</script>
242
243
244<script>
245
246    function level0_toggle(machine, my_revision) {
247        var level1_ans = document.getElementsByClassName('table_'+machine+'_'+my_revision+"_build_level")
248        for (var i = 0; i < level1_ans.length; i++) 
249        {
250            var cell = level1_ans[i]
251            if (cell.style.display != 'table-row')
252            {
253                cell.style.display = 'table-row'
254            }
255            else
256            {
257                cell.style.display = 'none'
258            }
259
260            buildType = cell.getAttribute("data-build-type");
261            var level2_ans = document.getElementsByClassName(buildType+"_algo_level")
262            for (var j = 0; j < level2_ans.length; j++)
263            {
264                var cell = level2_ans[j]
265                cell.style.display = 'none'
266                algoType = cell.getAttribute("data-algo-type");
267                var level3_ans =  document.getElementsByClassName(algoType+"_config_level")
268                for (var k = 0; k < level3_ans.length; k++)
269                {
270                    var cell = level3_ans[k]
271                    cell.style.display = 'none'
272                    configType = cell.getAttribute("data-config-type")
273                    var level4_ans = document.getElementsByClassName(configType+"_file_level")
274                    for (var h = 0; h<level4_ans.length; h++) 
275                    {
276                        level4_ans[h].style.display = "none"
277                    }
278                }
279            }   
280        }
281    }
282
283
284
285    function level1_toggle(machine, my_revision, build_dir) {
286        var level2_ans = document.getElementsByClassName('table_'+machine+'_'+my_revision+"_"+build_dir+"_algo_level")
287        for (var i = 0; i < level2_ans.length; i++) 
288        {
289            var cell = level2_ans[i]
290            if (cell.style.display != 'table-row')
291            {
292                cell.style.display = 'table-row'
293            }
294            else
295            {
296                cell.style.display = 'none'
297            }
298            algoType = cell.getAttribute("data-algo-type")
299            var level3_ans = document.getElementsByClassName(algoType+"_config_level")
300            for (var j = 0; j < level3_ans.length; j++)
301            {
302                var cell = level3_ans[j]
303                cell.style.display = 'none'
304                configType = cell.getAttribute("data-config-type")
305                var level4_ans = document.getElementsByClassName(configType+"_file_level")
306                for (var k = 0; k<level4_ans.length; k++) 
307                {
308                    level4_ans[k].style.display = "none"
309                }
310            }
311        }
312    }
313
314
315
316    function level2_toggle(machine, my_revision, build_dir, algo_name) {
317        var level3_ans = document.getElementsByClassName('table_'+machine+'_'+my_revision+"_"+build_dir+"_"+algo_name+"_config_level")
318        for (var i = 0; i < level3_ans.length; i++) 
319        {
320            var cell = level3_ans[i]
321            if (cell.style.display != 'table-row')
322            {
323                cell.style.display = 'table-row'   
324            }
325            else
326            {
327                cell.style.display = 'none'
328            }
329            configType = cell.getAttribute("data-config-type")
330            var level4_ans = document.getElementsByClassName(configType+"_file_level")
331            for (var j = 0; j<level4_ans.length; j++) 
332            {
333                level4_ans[j].style.display = "none"
334            }
335        }
336    }
337
338
339    function level3_toggle(machine, my_revision, build_dir, algo_name, config_name) {
340        var level4_ans = document.getElementsByClassName('table_'+machine+'_'+my_revision+"_"+build_dir+"_"+algo_name+"_"+config_name+"_file_level")
341        for (var i = 0; i < level4_ans.length; i++) 
342        {
343            var cell = level4_ans[i]
344            if (cell.style.display != 'table-row')
345            {
346                cell.style.display = 'table-row'
347            }
348            else
349            {
350                cell.style.display = 'none'
351            }
352        }
353    }
354
355   
356
357</script>
358
Note: See TracBrowser for help on using the repository browser.