From 9b79a37effd07dc746a13e094b314ba8672c3983 Mon Sep 17 00:00:00 2001 From: Sebastien Blot Date: Tue, 5 Dec 2023 16:23:08 +0100 Subject: [PATCH] display crowdsec logs when nuclei tests fail --- pkg/hubtest/hubtest_item.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/hubtest/hubtest_item.go b/pkg/hubtest/hubtest_item.go index 14a022a6d..b3df015ba 100644 --- a/pkg/hubtest/hubtest_item.go +++ b/pkg/hubtest/hubtest_item.go @@ -605,13 +605,20 @@ func (t *HubTestItem) RunWithNucleiTemplate() error { } err = nucleiConfig.RunNucleiTemplate(t.Name, t.Config.NucleiTemplate, DefaultNucleiTarget) - + crowdsecLogFile := fmt.Sprintf("%s/log/crowdsec.log", nucleiConfig.OutputDir) if t.Config.ExpectedNucleiFailure { if err != nil && errors.Is(err, NucleiTemplateFail) { log.Infof("Appsec test %s failed as expected", t.Name) t.Success = true } else { log.Errorf("Appsec test %s failed: %s", t.Name, err) + crowdsecLog, err := os.ReadFile(crowdsecLogFile) + if err != nil { + log.Errorf("unable to read crowdsec log file '%s': %s", crowdsecLogFile, err) + } else { + log.Errorf("crowdsec log file '%s'", crowdsecLogFile) + log.Errorf("%s", string(crowdsecLog)) + } } } else { if err == nil { @@ -619,6 +626,13 @@ func (t *HubTestItem) RunWithNucleiTemplate() error { t.Success = true } else { log.Errorf("Appsec test %s failed: %s", t.Name, err) + crowdsecLog, err := os.ReadFile(crowdsecLogFile) + if err != nil { + log.Errorf("unable to read crowdsec log file '%s': %s", crowdsecLogFile, err) + } else { + log.Errorf("crowdsec log file '%s'", crowdsecLogFile) + log.Errorf("%s", string(crowdsecLog)) + } } } crowdsecDaemon.Process.Kill()