I got it working, but this is very strange.

IF there are NO tests in the App and you try to run a test suite for a 
plugin, then it will cause this error.

IF there are tests in the App then this error goes away.

Looks like Cake can't find the test suite for the plugin when the App 
doesn't have any tests. Adding some dummy tests solved this.

It's only by fluke that I found this.

On Thursday, 17 January 2013 13:37:36 UTC-5, Mathew wrote:
>
> Hi,
>
> I'm unable to run a CakeTestSuite, but I can run a CakeTestCase just fine 
> on the CLI.
>
> When I run the CakeTestSuite I get the following error.
>
> Warning: is_file() expects parameter 1 to be string, array given in 
> C:\Program Files (x86)\PHP\PEAR\PHPUnit\Util\Skeleton\Test.php on line 109
>
> Call Stack:
>     0.0004     335536   1. {main}() 
> C:\work\zend\cake\Cake\Console\cake.php:0
>     0.0049     452272   2. ShellDispatcher::run($argv = array (0 => 
> 'C:\\work\\zend\\cake\\Cake\\Console\\cake.php', 1 => '-working', 2 => 
> 'C:\\work\\zend\\cgtag\\cgtag\\app ', 3 =
> > 'test', 4 => 'agg', 5 => 'Models')) 
> C:\work\zend\cake\Cake\Console\cake.php:43
>     0.1724    2600904   3. ShellDispatcher->dispatch() 
> C:\work\zend\cake\Cake\Console\ShellDispatcher.php:69
>     0.2364    3349648   4. Shell->runCommand($command = 'agg', $argv = 
> array (0 => 'agg', 1 => 'Models')) 
> C:\work\zend\cake\Cake\Console\ShellDispatcher.php:201
>     0.2998    4215400   5. TestShell->main() 
> C:\work\zend\cake\Cake\Console\Shell.php:395
>     0.3002    4216112   6. TestShell->_run($runnerArgs = array ('core' => 
> FALSE, 'app' => FALSE, 'plugin' => 'agg', 'output' => 'text', 'case' => 
> 'Models'), $options = array (0 =>
> '--colors')) C:\work\zend\cake\Cake\Console\Command\TestShell.php:259
>     0.3169    4540880   7. CakeTestSuiteCommand->run($argv = array (0 => 
> '--colors'), $exit = ???) 
> C:\work\zend\cake\Cake\Console\Command\TestShell.php:274
>     0.3960    6485384   8. 
> PHPUnit_Util_Skeleton_Test->__construct($inClassName = 'All model tests', 
> $inSourceFile = array ('core' => FALSE, 'app' => FALSE, 'plugin' => 'agg', 
> 'out
> put' => 'text', 'case' => 'Models'), $outClassName = ???, $outSourceFile = 
> ???) C:\work\zend\cake\Cake\TestSuite\CakeTestSuiteCommand.php:80
>     0.3962    6485512   9. is_file(array ('core' => FALSE, 'app' => FALSE, 
> 'plugin' => 'agg', 'output' => 'text', 'case' => 'Models')) C:\Program 
> Files (x86)\PHP\PEAR\PHPUnit\Util\
> Skeleton\Test.php:109
>
>
> Variables in local scope (#8):
>   $inClassName = 'All model tests'
>   $inSourceFile = array ('core' => FALSE, 'app' => FALSE, 'plugin' => 
> 'agg', 'output' => 'text', 'case' => 'Models')
>   $outClassName = ''
>   $outSourceFile = ''
>   $possibleFilename = *uninitialized*
>   $possibleFilenames = *uninitialized*
>   $reflector = *uninitialized*
>
> Error: "Array" could not be opened.
> #0 C:\work\zend\cake\Cake\TestSuite\CakeTestSuiteCommand.php(80): 
> PHPUnit_Util_Skeleton_Test->__construct('All model tests', Array)
> #1 C:\work\zend\cake\Cake\Console\Command\TestShell.php(274): 
> CakeTestSuiteCommand->run(Array)
> #2 C:\work\zend\cake\Cake\Console\Command\TestShell.php(259): 
> TestShell->_run(Array, Array)
> #3 C:\work\zend\cake\Cake\Console\Shell.php(395): TestShell->main()
> #4 C:\work\zend\cake\Cake\Console\ShellDispatcher.php(201): 
> Shell->runCommand('agg', Array)
> #5 C:\work\zend\cake\Cake\Console\ShellDispatcher.php(69): 
> ShellDispatcher->dispatch()
> #6 C:\work\zend\cake\Cake\Console\cake.php(43): ShellDispatcher::run(Array)
> #7 {main}
>
> --------------------------
>
> Now I ran this under the debugger and found that the problem appears to be 
> in CakeTestSuiteCommand on line 77.
>
> $skeleton = new PHPUnit_Util_Skeleton_Test(
> $suite->getName(),
> $this->arguments['testFile']
> );
>
> PHPUnit_Util_Skeleton_Test is expecting the second parameter to be a 
> string, but Cake is using an array.
>
> Here's what the array holds.
>
> $this->arguments['testFile'] = array(
>   'core'=>false,
>   'app'=>false,
>   'plugin'=>'agg',
>   'output'=>'text',
>   'case'=>'Models'
> )
>
> I don't know what to do to fix this. Is this a bug in Cake, or am I not 
> configuring the test correctly.
>
> I also tried to run this Suite via the Web but get the same error message.
>
> Please help.
>
>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to