From 5f0a34166de05cbaaae8f0ceb8954335bfcf13a1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 17 May 2022 15:10:20 +0200 Subject: [PATCH] NEW Add a protection into PHPunit to avoid to forget a var_dump --- htdocs/core/lib/admin.lib.php | 4 ++-- htdocs/install/step2.php | 8 +++---- .../demo_wsclient_category.php-NORUN | 2 +- test/phpunit/CodingPhpTest.php | 21 +++++++++++++++++++ 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 6054b05aab3..8682939f267 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -210,8 +210,8 @@ function run_sql($sqlfile, $silent = 1, $entity = '', $usesavepoint = 1, $handle if (!empty($reg[2])) { if (is_numeric($reg[2])) { // This is a version $versionrequest = explode('.', $reg[2]); - //print var_dump($versionrequest); - //print var_dump($versionarray); + //var_dump($versionrequest); + //var_dump($versionarray); if (!count($versionrequest) || !count($versionarray) || versioncompare($versionrequest, $versionarray) > 0) { $qualified = 0; } diff --git a/htdocs/install/step2.php b/htdocs/install/step2.php index 33e69377904..fac191feec5 100644 --- a/htdocs/install/step2.php +++ b/htdocs/install/step2.php @@ -295,8 +295,8 @@ if ($action == "set") { // MySQL if ($choix == 1 && preg_match('/^--\sV([0-9\.]+)/i', $buf, $reg)) { $versioncommande = explode('.', $reg[1]); - //print var_dump($versioncommande); - //print var_dump($versionarray); + //var_dump($versioncommande); + //var_dump($versionarray); if (count($versioncommande) && count($versionarray) && versioncompare($versioncommande, $versionarray) <= 0) { // Version qualified, delete SQL comments @@ -307,8 +307,8 @@ if ($action == "set") { // PGSQL if ($choix == 2 && preg_match('/^--\sPOSTGRESQL\sV([0-9\.]+)/i', $buf, $reg)) { $versioncommande = explode('.', $reg[1]); - //print var_dump($versioncommande); - //print var_dump($versionarray); + //var_dump($versioncommande); + //var_dump($versionarray); if (count($versioncommande) && count($versionarray) && versioncompare($versioncommande, $versionarray) <= 0) { // Version qualified, delete SQL comments diff --git a/htdocs/webservices/demo_wsclient_category.php-NORUN b/htdocs/webservices/demo_wsclient_category.php-NORUN index 955253034d9..37029067093 100755 --- a/htdocs/webservices/demo_wsclient_category.php-NORUN +++ b/htdocs/webservices/demo_wsclient_category.php-NORUN @@ -56,7 +56,7 @@ dol_syslog("Call method ".$WS_METHOD); $result = $soapclient->call($WS_METHOD,$parameters); if (! $result) { - var_dump($soapclient); + //var_dump($soapclient); print '

Erreur SOAP 1

'.$soapclient->error_str; exit; } diff --git a/test/phpunit/CodingPhpTest.php b/test/phpunit/CodingPhpTest.php index 5637f0194ac..bff78d47b94 100644 --- a/test/phpunit/CodingPhpTest.php +++ b/test/phpunit/CodingPhpTest.php @@ -199,6 +199,7 @@ class CodingPhpTest extends PHPUnit\Framework\TestCase || preg_match('/modules\/.*\/doc\/(doc|pdf)_/', $file['relativename']) || preg_match('/modules\/(import|mailings|printing)\//', $file['relativename']) || in_array($file['name'], array('modules_boxes.php', 'rapport.pdf.php', 'TraceableDB.php'))) { + // Check into Class files if (! in_array($file['name'], array( 'api.class.php', 'commonobject.class.php', @@ -224,6 +225,7 @@ class CodingPhpTest extends PHPUnit\Framework\TestCase //exit; } } else { + // Check into Include files if (! in_array($file['name'], array( 'objectline_view.tpl.php', 'extrafieldsinexport.inc.php', @@ -245,6 +247,25 @@ class CodingPhpTest extends PHPUnit\Framework\TestCase } } + // Check if a var_dump has been forgotten + if (!preg_match('/test\/phpunit/', $file['fullname'])) { + $ok=true; + $matches=array(); + preg_match_all('/(.)\s*var_dump/', $filecontent, $matches, PREG_SET_ORDER); + //var_dump($matches); + foreach ($matches as $key => $val) { + if ($val[1] != '/' && $val[1] != '*') { + $ok=false; + break; + } + break; + } + //print __METHOD__." Result for checking we don't have non escaped string in sql requests for file ".$file."\n"; + $this->assertTrue($ok, 'Found string var_dump that is not just after /* or // in '.$file['relativename']); + //exit; + } + + // Check get_class followed by __METHOD__ $ok=true; $matches=array(); preg_match_all('/'.preg_quote('get_class($this)."::".__METHOD__', '/').'/', $filecontent, $matches, PREG_SET_ORDER);