public function testShell() { $database_shell = Database_Shell::getInstance(); $process['name'] = "PHPUnit"; $process['pid'] = "10"; $processes[] = $process; $output = "/path/to/file"; $database_shell->removeProcess($process['name'], $process['pid']); $this->assertFalse($database_shell->processRuns($process['name'], $process['pid'])); $this->assertFalse($database_shell->processDone($process['name'], $process['pid'])); $database_shell->enterProcess($process['name'], $process['pid'], $output); $this->assertEquals($output, $database_shell->getOutput($process['name'], $process['pid'])); $this->assertTrue($database_shell->processRuns($process['name'], $process['pid'])); $this->assertFalse($database_shell->processDone($process['name'], $process['pid'])); $database_shell->stopProcess($process['name'], $process['pid']); $this->assertFalse($database_shell->processRuns($process['name'], $process['pid'])); $this->assertTrue($database_shell->processDone($process['name'], $process['pid'])); $database_shell->removeProcess($process['name'], $process['pid']); $this->assertFalse($database_shell->processRuns($process['name'], $process['pid'])); $this->assertFalse($database_shell->processDone($process['name'], $process['pid'])); }
foreach ($output as $line) { echo "{$line}\n"; } } $command = "cd {$shelldirectory}; git commit -a -m admin-sync"; echo "{$command}\n"; exec($command, $output, $exit_code); echo "Exit code {$exit_code}\n"; if ($exit_code != 0) { foreach ($output as $line) { echo "{$line}\n"; } } // Push data to remote repository. echo Locale_Translate::_("Step 2/2: Pushing the data to the remote repository") . "\n"; $command = "cd {$shelldirectory}; git push 2>&1"; echo "{$command}\n"; exec($command, $output, $exit_code); if ($exit_code == 0) { echo Locale_Translate::_("Your data was pushed to the remote repository successfully.") . "\n"; } else { echo "Exit code {$exit_code}\n"; foreach ($output as $line) { echo "{$line}\n"; } echo Locale_Translate::_("Pushing your data to the remote repository failed.") . "\n"; } // Sync the data to the USB flash drive to avoid data loss when the USB flash drive is unplugged before data was written to it. exec("sync"); $database_shell = Database_Shell::getInstance(); $database_shell->stopProcess("collaboration_take_yourself", 0);