From: gggeek Date: Sun, 7 Dec 2014 20:01:09 +0000 (+0000) Subject: Improve testsuite to make it easily executable by Travis X-Git-Tag: 4.0.0-alpha~9 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=09aa00da2d0521e3c244f0ea124a5d400abdf086 Improve testsuite to make it easily executable by Travis --- diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7fb78ce --- /dev/null +++ b/.travis.yml @@ -0,0 +1,30 @@ +language: php + +php: + - 5.2 + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - hhvm + +install: + composer install + +before_script: + # before php 5.4, we can not use the built-in webserver. So we rely on apache + - sudo apt-get install apache2 + - sudo a2enmod actions + - sudo a2enmod rewrite + - echo "export PATH=/home/vagrant/.phpenv/bin:$PATH" | sudo tee -a /etc/apache2/envvars > /dev/null + - echo "$(curl -fsSL https://gist.github.com/roderik/16d751c979fdeb5a14e3/raw/gistfile1.txt)" | sudo tee /etc/apache2/conf.d/phpconfig > /dev/null + - echo "$(curl -fsSL https://gist.github.com/roderik/2eb301570ed4a1f4c33d/raw/gistfile1.txt)" | sed -e "s,PATH,`pwd`/web,g" | sudo tee /etc/apache2/sites-available/default > /dev/null + - sudo service apache2 restart + +script: + # TODO: we should set up an Apache instance inside the Travis VM and test it. + # But it looks a bit complex, esp. as it seems that php has to be set up differently (cgi vs fpm) depending on version + # So for now we just take an easy way out using a known remote server. + # See: https://gist.github.com/roderik/3123962 + # See: http://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP + php -d "include_path=.;./lib;./test" test/testsuite.php LOCALSERVER=gggeek.altervista.org URI=/sw/xmlrpc/demo/server/server.php HTTPSSERVER=gggeek.ssl.altervista.org HTTPSURI=/sw/xmlrpc/demo/server/server.php diff --git a/NEWS b/NEWS index e0ba52e..1e71f97 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +XML-RPC for PHP version 3.0.1 - 201X/Y/Z + +Taking baby steps to modern-world php, this release is now tested using Travis ( https://travis-ci.org/ ). + + XML-RPC for PHP version 3.0.0 - 2014/6/15 This release corrects all bugs that have been reported and successfully reproduced since diff --git a/debugger/action.php b/debugger/action.php index 03a1242..f79aba0 100644 --- a/debugger/action.php +++ b/debugger/action.php @@ -36,7 +36,7 @@ td form {margin: 0;} assertEquals(1, $v->scalarval()); // now check if we decoded the cookies as we had set them $rcookies = $r->cookies(); + // remove extra cookies which might have been set by proxies + foreach($rcookies as $c => $v) + if(!in_array($c, array('c2', 'c3', 'c4', 'c5'))) + unset($rcookies[$c]); foreach($cookies as $c => $v) // format for date string in cookies: 'Mon, 31 Oct 2005 13:50:56 GMT' // but PHP versions differ on that, some use 'Mon, 31-Oct-2005 13:50:56 GMT'... @@ -677,14 +681,15 @@ class LocalHostMultiTests extends LocalhostTests function testProxy() { - global $PROXYSERVER, $PROXYPORT; + global $PROXYSERVER, $PROXYPORT, $NOPROXY; if ($PROXYSERVER) { $this->client->setProxy($PROXYSERVER, $PROXYPORT); $this->_runtests(); } else - $this->fail('PROXY definition missing: cannot test proxy'); + if (!$NOPROXY) + $this->fail('PROXY definition missing: cannot test proxy'); } function testHttp11() @@ -734,7 +739,7 @@ class LocalHostMultiTests extends LocalhostTests function testHttp11Proxy() { - global $PROXYSERVER, $PROXYPORT; + global $PROXYSERVER, $PROXYPORT, $NOPROXY; if(!function_exists('curl_init')) { $this->fail('CURL missing: cannot test http 1.1 w. proxy'); @@ -742,7 +747,8 @@ class LocalHostMultiTests extends LocalhostTests } else if ($PROXYSERVER == '') { - $this->fail('PROXY definition missing: cannot test proxy w. http 1.1'); + if (!$NOPROXY) + $this->fail('PROXY definition missing: cannot test proxy w. http 1.1'); return; } $this->method = 'http11'; // not an error the double assignment! @@ -772,7 +778,7 @@ class LocalHostMultiTests extends LocalhostTests function testHttpsProxy() { - global $HTTPSSERVER, $HTTPSURI, $PROXYSERVER, $PROXYPORT;; + global $HTTPSSERVER, $HTTPSURI, $PROXYSERVER, $PROXYPORT, $NOPROXY; if(!function_exists('curl_init')) { $this->fail('CURL missing: cannot test https functionality'); @@ -780,7 +786,8 @@ class LocalHostMultiTests extends LocalhostTests } else if ($PROXYSERVER == '') { - $this->fail('PROXY definition missing: cannot test proxy w. http 1.1'); + if (!$NOPROXY) + $this->fail('PROXY definition missing: cannot test proxy w. http 1.1'); return; } $this->client->server = $HTTPSSERVER;