add tests
authorMichael Wallner <mike@php.net>
Tue, 25 Nov 2014 12:43:48 +0000 (13:43 +0100)
committerMichael Wallner <mike@php.net>
Tue, 25 Nov 2014 12:43:48 +0000 (13:43 +0100)
tests/crash_result_iterator.phpt [new file with mode: 0644]
tests/crash_stm_reverse_dep.phpt [new file with mode: 0644]
tests/crash_unbuffered_async_prepare.phpt [new file with mode: 0644]

diff --git a/tests/crash_result_iterator.phpt b/tests/crash_result_iterator.phpt
new file mode 100644 (file)
index 0000000..c3b4595
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+crash result iterator
+--SKIPIF--
+<?php
+include "_skipif.inc";
+?>
+--FILE--
+<?php
+echo "Test\n";
+
+include "_setup.inc";
+
+$conn = new pq\Connection(PQ_DSN);
+
+$sql = "
+       SELECT id
+       FROM generate_series(1,3) id
+       ORDER BY id ASC
+       LIMIT 5
+";
+
+foreach ($conn->exec($sql) as $row) {
+       var_dump($row);
+}
+?>
+===DONE===
+--EXPECT--
+Test
+array(1) {
+  [0]=>
+  int(1)
+}
+array(1) {
+  [0]=>
+  int(2)
+}
+array(1) {
+  [0]=>
+  int(3)
+}
+===DONE===
diff --git a/tests/crash_stm_reverse_dep.phpt b/tests/crash_stm_reverse_dep.phpt
new file mode 100644 (file)
index 0000000..4110f59
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+crash stm reverse dependency from connection
+--SKIPIF--
+<?php 
+include "_skipif.inc";
+?>
+--FILE--
+<?php 
+echo "Test\n";
+
+include "_setup.inc";
+
+$c = new pq\Connection(PQ_DSN);
+$c->s = $c->prepare("test", "SELECT 1");
+
+?>
+===DONE===
+--EXPECT--
+Test
+===DONE===
diff --git a/tests/crash_unbuffered_async_prepare.phpt b/tests/crash_unbuffered_async_prepare.phpt
new file mode 100644 (file)
index 0000000..9543fc3
--- /dev/null
@@ -0,0 +1,43 @@
+--TEST--
+crash unbuffered async prepare
+--SKIPIF--
+<?php 
+include "_skipif.inc";
+?>
+--FILE--
+<?php 
+echo "Test\n";
+
+include "_setup.inc";
+
+function complete($c) {
+       do {
+               while ($c->busy) {
+                       $r = array($c->socket);
+                       $w = $e = null;
+                       if (stream_select($r, $w, $e, null)) {
+                               $c->poll();
+                       }
+               }
+       } while ($c->getResult());
+}
+
+try {
+       $c = new pq\Connection(PQ_DSN);
+       $c->unbuffered = true;
+       
+       $s = $c->prepareAsync("test", "SELECT * from generate_series(1,2)");
+       complete($c);
+       
+       $r = $s->execAsync();
+       complete($c);
+} catch (Exception $e) {
+       echo $e;
+}
+unset($c);
+
+?>
+===DONE===
+--EXPECT--
+Test
+===DONE===
\ No newline at end of file