source: XIOS/trunk/html/xios_report.html @ 1885

Last change on this file since 1885 was 1798, checked in by ymipsl, 4 years ago

XIOS TEST_SUITE : some script to install web application to visualize results of tests

YM

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