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

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

trunk : add html scripts

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