diff --git a/go.mod b/go.mod index c3114de23f..bb092ce862 100644 --- a/go.mod +++ b/go.mod @@ -100,6 +100,7 @@ require ( github.com/seh-msft/burpxml v1.0.1 github.com/stretchr/testify v1.9.0 github.com/zmap/zgrab2 v0.1.8-0.20230806160807-97ba87c0e706 + go.uber.org/goleak v1.3.0 golang.org/x/term v0.19.0 gopkg.in/yaml.v3 v3.0.1 moul.io/http2curl v1.0.0 diff --git a/go.sum b/go.sum index e778343670..f2eb7283fd 100644 --- a/go.sum +++ b/go.sum @@ -317,6 +317,8 @@ github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= @@ -888,8 +890,6 @@ github.com/projectdiscovery/uncover v1.0.7 h1:ut+2lTuvmftmveqF5RTjMWAgyLj8ltPQC7 github.com/projectdiscovery/uncover v1.0.7/go.mod h1:HFXgm1sRPuoN0D4oATljPIdmbo/EEh1wVuxQqo/dwFE= github.com/projectdiscovery/useragent v0.0.47 h1:VEOU7uG7TutZNIE0DZNP7hGAGi4bwLPGM1X7Rny52s0= github.com/projectdiscovery/useragent v0.0.47/go.mod h1:Cfk9X9SISYSCmqpej0r9+paJbDHzNHic2YdWQtpdz2M= -github.com/projectdiscovery/utils v0.0.91 h1:aHAAnC0qX9pJZrWq4Qpl2PSTYLrSCL1dm1QWLjprE2w= -github.com/projectdiscovery/utils v0.0.91/go.mod h1:O/6U3ZoU+tNw4lKurdjyVMZPVXL5IYq0YeaDc15PRls= github.com/projectdiscovery/utils v0.0.92-0.20240426173301-f79c675670b0 h1:GPzoTwDQhFLtz/EIFDmUv21/VVgR7o7VtVO92VVnAxE= github.com/projectdiscovery/utils v0.0.92-0.20240426173301-f79c675670b0/go.mod h1:X2jJZ83pGfIp2adwGdXTG2jKIYAVcTXpRpHzB8PD+OM= github.com/projectdiscovery/wappalyzergo v0.0.116 h1:xy+mBpwbYo/0PSzmJOQ/RXHomEh0D3nDBcbCxsW69m8= @@ -1151,8 +1151,8 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/lib/sdk_test.go b/lib/tests/sdk_test.go similarity index 91% rename from lib/sdk_test.go rename to lib/tests/sdk_test.go index 710b2a6ed7..3c9963522a 100644 --- a/lib/sdk_test.go +++ b/lib/tests/sdk_test.go @@ -1,13 +1,15 @@ -package nuclei_test +package sdk_test import ( "testing" nuclei "github.com/projectdiscovery/nuclei/v3/lib" "github.com/stretchr/testify/require" + "go.uber.org/goleak" ) func TestSimpleNuclei(t *testing.T) { + defer goleak.VerifyNone(t) ne, err := nuclei.NewNucleiEngine( nuclei.WithTemplateFilters(nuclei.TemplateFilters{ProtocolTypes: "dns"}), nuclei.EnableStatsWithOpts(nuclei.StatsOptions{JSON: true}), @@ -21,6 +23,7 @@ func TestSimpleNuclei(t *testing.T) { } func TestSimpleNucleiRemote(t *testing.T) { + defer goleak.VerifyNone(t) ne, err := nuclei.NewNucleiEngine( nuclei.WithTemplatesOrWorkflows( nuclei.TemplateSources{ @@ -39,6 +42,7 @@ func TestSimpleNucleiRemote(t *testing.T) { } func TestThreadSafeNuclei(t *testing.T) { + defer goleak.VerifyNone(t) // create nuclei engine with options ne, err := nuclei.NewThreadSafeNucleiEngine() require.Nil(t, err) @@ -58,3 +62,7 @@ func TestThreadSafeNuclei(t *testing.T) { // wait for all scans to finish defer ne.Close() } + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +}