From ed9e5a6cb01f0e3fc4f8f378a070ba84d827c562 Mon Sep 17 00:00:00 2001 From: geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed, 23 Nov 2005 20:29:09 +0000 Subject: [PATCH] * GCC Regression Tester.wdgt/widget.html: New file. * GCC Regression Tester.wdgt/Info.plist: New file. * GCC Regression Tester.wdgt/Icon.png: New file. * GCC Regression Tester.wdgt/Default.png: New file. * README: Describe new files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107430 138bc75d-0d04-0410-961f-82ee72b054a4 --- contrib/regression/ChangeLog | 8 + .../GCC Regression Tester.wdgt/Default.png | Bin 0 -> 81 bytes .../GCC Regression Tester.wdgt/Icon.png | Bin 0 -> 2122 bytes .../GCC Regression Tester.wdgt/Info.plist | 28 ++++ .../GCC Regression Tester.wdgt/widget.html | 155 ++++++++++++++++++ contrib/regression/README | 6 + 6 files changed, 197 insertions(+) create mode 100644 contrib/regression/GCC Regression Tester.wdgt/Default.png create mode 100644 contrib/regression/GCC Regression Tester.wdgt/Icon.png create mode 100644 contrib/regression/GCC Regression Tester.wdgt/Info.plist create mode 100644 contrib/regression/GCC Regression Tester.wdgt/widget.html diff --git a/contrib/regression/ChangeLog b/contrib/regression/ChangeLog index ae5771732005..a6ba783ff2b1 100644 --- a/contrib/regression/ChangeLog +++ b/contrib/regression/ChangeLog @@ -1,3 +1,11 @@ +2005-11-23 Geoffrey Keating <geoffk@geoffk.org> + + * GCC Regression Tester.wdgt/widget.html: New file. + * GCC Regression Tester.wdgt/Info.plist: New file. + * GCC Regression Tester.wdgt/Icon.png: New file. + * GCC Regression Tester.wdgt/Default.png: New file. + * README: Describe new files. + 2005-06-07 Hans-Peter Nilsson <hp@bitrange.com> * btest-gcc.sh: Add support for option diff --git a/contrib/regression/GCC Regression Tester.wdgt/Default.png b/contrib/regression/GCC Regression Tester.wdgt/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..a6dfd4655c9b0355dc6fcc392af56305f9b991e2 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^j35jm7|ip2ssJgbk|4iepwN`R>wr8iPZ!4!j+x0B YKz0*D<7wedi9i;Er>mdKI;Vst06IPp%K!iX literal 0 HcmV?d00001 diff --git a/contrib/regression/GCC Regression Tester.wdgt/Icon.png b/contrib/regression/GCC Regression Tester.wdgt/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..662b5169d0c0fc416cfa8499fe61d46cf7654e79 GIT binary patch literal 2122 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 B%*_A* literal 0 HcmV?d00001 diff --git a/contrib/regression/GCC Regression Tester.wdgt/Info.plist b/contrib/regression/GCC Regression Tester.wdgt/Info.plist new file mode 100644 index 000000000000..0902ff7af7f5 --- /dev/null +++ b/contrib/regression/GCC Regression Tester.wdgt/Info.plist @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>AllowNetworkAccess</key> + <true/> + <key>CFBundleDisplayName</key> + <string>GCC Regression Tester</string> + <key>CFBundleName</key> + <string>GCC Regression Tester</string> + <key>CFBundleIdentifier</key> + <string>org.geoffk.widget.regress</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CloseBoxInsetX</key> + <integer>0</integer> + <key>CloseBoxInsetY</key> + <integer>0</integer> + <key>MainHTML</key> + <string>widget.html</string> + <key>Width</key> + <integer>261</integer> + <key>Height</key> + <integer>192</integer> +</dict> +</plist> diff --git a/contrib/regression/GCC Regression Tester.wdgt/widget.html b/contrib/regression/GCC Regression Tester.wdgt/widget.html new file mode 100644 index 000000000000..e2bc6acd231c --- /dev/null +++ b/contrib/regression/GCC Regression Tester.wdgt/widget.html @@ -0,0 +1,155 @@ +<!-- Get and update the GCC regression tester's web page. + Copyright (C) 2005 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. --> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<META http-equiv="Content-Script-Type" content="text/javascript"> + +<head> +<script type='text/javascript'> +// A string representing NUM, with a leading zero if it would be 1 digit long +function dig2 (num) +{ + var result = num.toString(); + if (result.length == 1) + return '0' + result; + else + return result; +} + +// Get DATE as a string in standard ISO format in UTC +function getISO (date) +{ + return (date.getUTCFullYear().toString() + '-' + + dig2 (date.getUTCMonth() + 1) + '-' + + dig2 (date.getUTCDate()) + 'T' + + dig2 (date.getUTCHours()) + ':' + + dig2 (date.getUTCMinutes()) + 'Z'); +} + +// STR is a bunch of lines of the form '<key>: <date>' where <date> is in +// standard ISO UTC format. Return a Date object corresponding to KEY, or null +// if none is found. +function fromISO (str, key) +{ + var rx = new RegExp (key + ": (\\d+)-(\\d+)-(\\d+)T(\\d+):(\\d+):(\\d+)Z"); + var match = rx.exec (str); + if (match == null || match.length != 7) + return null; + var date = new Date(0); + date.setUTCFullYear (match[1], match[2] - 1, match[3]); + date.setUTCHours (match[4], match[5], match[6], 0); + return date; +} + +// Update the data +function updateContents () { + var url = 'http://gcc.gnu.org/regtest/HEAD/status.txt'; + var xml_request = new XMLHttpRequest(); + + xml_request.onload = function(e) + { + gotContents(e, xml_request); + } + xml_request.open("GET", url); + xml_request.setRequestHeader("Cache-Control", "max-age=0"); + xml_request.send(null); +} + +function gotContents (event, request) { + if (request.status != 200) + return; + + if (! request.responseText) + return; + + var txt = (request.responseText + .replace (/&/g,"&") + .replace (/</g,"<") + .replace (/"/g,""") + .replace (/>;/g,">")); + + var today = new Date(); + var date_r = fromISO (txt, "Date"); + var completed_r = fromISO (txt, "Test-Completed"); + var now_test_r = fromISO (txt, "Now-Testing"); + var eta = ""; + + if (date_r != null && completed_r != null && now_test_r != null) + { + var eta_r = new Date (now_test_r.getTime() + + completed_r.getTime() - date_r.getTime()); + eta = "ETA: " + getISO (eta_r) + '\n'; + } + + var val = txt + "Now: " + getISO (today) + '\n' + eta; + document.getElementById ("contents").innerHTML = "<pre>"+val+"<\/pre>"; +} + +var mainTimer = null; + +function myOnShow () +{ + if (! mainTimer) { + mainTimer = setInterval (updateContents, 60000); + } + updateContents(); +} + +function myOnHide () +{ + if (mainTimer) { + clearInterval (mainTimer); + mainTimer = null; + } +} + +function myOnLoad () +{ + if ( window.widget ) { + widget.onshow = myOnShow; + widget.onhide = myOnHide; + } + myOnShow(); +} +</script> +<style> +body { + margin: 0px; + padding: 0px; +} +pre { + font-family: Monaco; + font-size: 9px; + margin: 0px; + padding: 1px 2px 1px 2px; + color: black; + background-color: white; + opacity: 0.8; +} +</style> +</head> + +<body onLoad='myOnLoad();'> +<div id="contents">Loading...</div> +</body> +</html> diff --git a/contrib/regression/README b/contrib/regression/README index 445704f85a4a..9eecd0dd909f 100644 --- a/contrib/regression/README +++ b/contrib/regression/README @@ -12,6 +12,12 @@ the newly-build tools to check that they will not cause regressions. 'site.exp' is what $DEJAGNU points to when the regression tester runs these scripts. +'GCC Regression Tester.wdgt' is a Dashboard widget that displays the +current state of the tester using Javascript. You can use it without +needing Dashboard by pointing your web browser at +'GCC%20Regression%20Tester.wdgt/widget.html', if your browser supports +and permits it. + Note that any changes made here need to be approved by the regression tester's maintainer (see MAINTAINERS). The changes will be used on the tester's next run, so `experimental' changes are very strongly -- GitLab