diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-05-05 12:27:17 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-05-05 14:12:32 +0900 |
| commit | 27cd7cf8f816f1d1dd465c28a43fc0fcd25c48d6 (patch) | |
| tree | f38f4eee869735a18c6df71058ed8ddc5ccbb635 /tests/src/SpecTestsuites/SpecTestsuiteBase.php | |
| parent | 2f533445e47f4a0f7c94677f5fda3683a4f1fee7 (diff) | |
| download | php-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.php | 11 |
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( |
