From 484503da621205a3b03d0863e7e08e8c611671a2 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Thu, 22 Dec 2016 13:03:20 +0800 Subject: [PATCH] MDL-56211 behat: Add suite name to faildump path If suite is not default then add suite name to end of faildump file name --- lib/tests/behat/behat_hooks.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/tests/behat/behat_hooks.php b/lib/tests/behat/behat_hooks.php index 014f7c6f6d1..36d92799a2c 100644 --- a/lib/tests/behat/behat_hooks.php +++ b/lib/tests/behat/behat_hooks.php @@ -603,11 +603,23 @@ class behat_hooks extends behat_base { // The scenario title + the failed step text. // We want a i-am-the-scenario-title_i-am-the-failed-step.$filetype format. $filename = $scope->getFeature()->getTitle() . '_' . $scope->getStep()->getText(); - $filename = preg_replace('/([^a-zA-Z0-9\_]+)/', '-', $filename); - // File name limited to 255 characters. Leaving 5 chars for line number and 4 chars for the file. + // As file name is limited to 255 characters. Leaving 5 chars for line number and 4 chars for the file. // extension as we allow .png for images and .html for DOM contents. - $filename = substr($filename, 0, 245) . '_' . $scope->getStep()->getLine() . '.' . $filetype; + $filenamelen = 245; + + // Suffix suite name to faildump file, if it's not default suite. + $suitename = $scope->getSuite()->getName(); + if ($suitename != 'default') { + $suitename = '_' . $suitename; + $filenamelen = $filenamelen - strlen($suitename); + } else { + // No need to append suite name for default. + $suitename = ''; + } + + $filename = preg_replace('/([^a-zA-Z0-9\_]+)/', '-', $filename); + $filename = substr($filename, 0, $filenamelen) . $suitename . '_' . $scope->getStep()->getLine() . '.' . $filetype; return array($dir, $filename); } -- 2.43.0