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

Last change on this file since 1916 was 1916, checked in by yushan, 4 years ago

trunk : change job_running criteria. Job name = XIOS_rev. Auto generate compile job scripts.

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