(t *testing.T)
| 649 | } |
| 650 | |
| 651 | func TestInvalidSignature(t *testing.T) { |
| 652 | suite := setupTest(t) |
| 653 | |
| 654 | sourceFile := filepath.Join("..", "..", "testdata", "integration", "invalid_signature.go") |
| 655 | sourceFile, err := filepath.Abs(sourceFile) |
| 656 | require.NoError(t, err) |
| 657 | defer suite.cleanupGeneratedFiles(sourceFile) |
| 658 | |
| 659 | targetFile, err := suite.createGoModule(sourceFile) |
| 660 | require.NoError(t, err) |
| 661 | |
| 662 | err = suite.runExtensionInit(targetFile) |
| 663 | assert.Error(t, err, "extension-init should fail for invalid return type") |
| 664 | assert.Contains(t, err.Error(), "no PHP functions, classes, or constants found", "invalid functions should be ignored, resulting in no valid exports") |
| 665 | } |
| 666 | |
| 667 | func TestTypeMismatch(t *testing.T) { |
| 668 | suite := setupTest(t) |
nothing calls this directly
no test coverage detected