Ejemplo n.º 1
0
 public static function getInstance()
 {
     if (empty(self::$instance)) {
         self::$instance = new Database_Shell();
     }
     return self::$instance;
 }
Ejemplo n.º 2
0
 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);