aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/src/SpecTestsuites/SpecTestsuiteBase.php
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-05-05 12:27:17 +0900
committernsfisis <nsfisis@gmail.com>2024-05-05 14:12:32 +0900
commit27cd7cf8f816f1d1dd465c28a43fc0fcd25c48d6 (patch)
treef38f4eee869735a18c6df71058ed8ddc5ccbb635 /tests/src/SpecTestsuites/SpecTestsuiteBase.php
parent2f533445e47f4a0f7c94677f5fda3683a4f1fee7 (diff)
downloadphp-waddiwasi-27cd7cf8f816f1d1dd465c28a43fc0fcd25c48d6.tar.gz
php-waddiwasi-27cd7cf8f816f1d1dd465c28a43fc0fcd25c48d6.tar.zst
php-waddiwasi-27cd7cf8f816f1d1dd465c28a43fc0fcd25c48d6.zip
feat: limit call stack size
Diffstat (limited to 'tests/src/SpecTestsuites/SpecTestsuiteBase.php')
-rw-r--r--tests/src/SpecTestsuites/SpecTestsuiteBase.php11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/src/SpecTestsuites/SpecTestsuiteBase.php b/tests/src/SpecTestsuites/SpecTestsuiteBase.php
index cd5da89..eca3b5c 100644
--- a/tests/src/SpecTestsuites/SpecTestsuiteBase.php
+++ b/tests/src/SpecTestsuites/SpecTestsuiteBase.php
@@ -9,6 +9,7 @@ use Nsfisis\Waddiwasi\BinaryFormat\InvalidBinaryFormatException;
use Nsfisis\Waddiwasi\Execution\Ref;
use Nsfisis\Waddiwasi\Execution\Refs\RefExtern;
use Nsfisis\Waddiwasi\Execution\Runtime;
+use Nsfisis\Waddiwasi\Execution\StackOverflowException;
use Nsfisis\Waddiwasi\Execution\Store;
use Nsfisis\Waddiwasi\Execution\TrapException;
use Nsfisis\Waddiwasi\Execution\TrapKind;
@@ -95,11 +96,19 @@ abstract class SpecTestsuiteBase extends TestCase
}
protected function runAssertExhaustionCommand(
+ ?string $module,
array $action,
string $text,
int $line,
): void {
- $this->assertTrue(false, "assert_exhaustion");
+ $exception = null;
+ try {
+ $this->doAction($module, $action);
+ } catch (StackOverflowException $e) {
+ $exception = $e;
+ }
+ $this->assertNotNull($exception, "at $line");
+ // @todo Check $text?
}
protected function runAssertUninstantiableCommand(