@@ -28,13 +28,28 @@ func testRegisterExtension(t *testing.T) {
2828
2929 err := frankenphp .Init ()
3030 require .Nil (t , err )
31- defer frankenphp .Shutdown ()
31+
32+ assertRegisteredExtensions (t )
33+
34+ require .True (t , frankenphp .RestartWorkers ())
35+
36+ assertRegisteredExtensions (t )
37+
38+ frankenphp .Shutdown ()
39+
40+ require .PanicsWithValue (t , frankenphp .ErrExtensionRegistrationStarted , func () {
41+ frankenphp .RegisterExtension (unsafe .Pointer (& C .module1_entry ))
42+ })
43+ }
44+
45+ func assertRegisteredExtensions (t * testing.T ) {
46+ t .Helper ()
3247
3348 req := httptest .NewRequest ("GET" , "http://example.com/index.php" , nil )
3449 w := httptest .NewRecorder ()
3550
36- req , err = frankenphp .NewRequestWithContext (req , frankenphp .WithRequestDocumentRoot ("./testdata" , false ))
37- assert .NoError (t , err )
51+ req , err : = frankenphp .NewRequestWithContext (req , frankenphp .WithRequestDocumentRoot ("./testdata" , false ))
52+ require .NoError (t , err )
3853
3954 err = frankenphp .ServeHTTP (w , req )
4055 assert .NoError (t , err )
@@ -43,4 +58,5 @@ func testRegisterExtension(t *testing.T) {
4358 body , _ := io .ReadAll (resp .Body )
4459 assert .Contains (t , string (body ), "ext1" )
4560 assert .Contains (t , string (body ), "ext2" )
61+ assert .Contains (t , string (body ), "EXT2_MINIT_COUNT=1" )
4662}
0 commit comments