@@ -188,7 +188,8 @@ func TestExternalService_Perforce(t *testing.T) {
188188 t .Run (tc .name , func (t * testing.T ) {
189189 repoName := "perforce/" + tc .depot
190190 checkPerforceEnvironment (t )
191- createPerforceExternalService (t , tc .depot , tc .useFusion )
191+ cleanup := createPerforceExternalService (t , tc .depot , tc .useFusion )
192+ t .Cleanup (cleanup )
192193
193194 err := client .WaitForReposToBeCloned (repoName )
194195 if err != nil {
@@ -212,8 +213,9 @@ func checkPerforceEnvironment(t *testing.T) {
212213}
213214
214215// createPerforceExternalService creates an Perforce external service that
215- // includes the supplied depot.
216- func createPerforceExternalService (t * testing.T , depot string , useP4Fusion bool ) {
216+ // includes the supplied depot. It returns a function to cleanup after the test
217+ // which will delete the depot from disk and remove the external service.
218+ func createPerforceExternalService (t * testing.T , depot string , useP4Fusion bool ) func () {
217219 t .Helper ()
218220
219221 type Authorization = struct {
@@ -257,7 +259,16 @@ func createPerforceExternalService(t *testing.T, depot string, useP4Fusion bool)
257259 if err != nil && ! strings .Contains (err .Error (), "/sync-external-service" ) {
258260 t .Fatal (err )
259261 }
260- removeExternalServiceAfterTest (t , esID )
262+
263+ return func () {
264+ if err := client .DeleteRepoFromDiskByName ("perforce/" + depot ); err != nil {
265+ t .Fatalf ("removing depot from disk: %v" , err )
266+ }
267+
268+ if err := client .DeleteExternalService (esID , false ); err != nil {
269+ t .Fatalf ("removing external service: %v" , err )
270+ }
271+ }
261272}
262273
263274func TestExternalService_AsyncDeletion (t * testing.T ) {
0 commit comments