mirror of
https://github.com/gocsaf/csaf.git
synced 2025-12-22 11:55:40 +01:00
* Add how to create a coverage file per cgi call and merge them in the description which is in the code comments.
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
// as main() does not process os.Args, we can call it directly as -test.*
|
|
// parameters will be ignored.
|
|
//
|
|
// use like
|
|
// go test -c -vet=off -covermode=atomic -o csaf_provider.debug
|
|
// cp csaf_provider.debug /usr/lib/cgi-bin/
|
|
//
|
|
// pushd /usr/lib/cgi-bin
|
|
// mv csaf_provider.go csaf_provider2.go
|
|
// echo '#!/bin/bash
|
|
// exec /usr/lib/cgi-bin/csaf_provider.debug -test.coverprofile=/tmp/csaf_provider-itest-${EPOCHREALTIME}.cov -- "$@"
|
|
// ' >csaf_provider.go
|
|
// chmod a+x csaf_provider.go
|
|
//
|
|
// then do a cgi-bin action on the provider like using the uploader
|
|
//
|
|
// If you want to merge several runs, try
|
|
// go install github.com/wadey/gocovmerge@b5bfa59ec0adc420475f97f89b58045c721d761c
|
|
// ~/go/bin/gocovmerge /tmp/csaf_provider-ites*.cov >csaf_provider-itest-merged.cov
|
|
// cd ~/csaf_distribution
|
|
// go tool cover -func=~/csaf_provider-itest-merged.cov
|
|
|
|
func TestMain(t *testing.T) {
|
|
var endOfTestParams int
|
|
for i, a := range os.Args[1:] {
|
|
if a == "--" {
|
|
endOfTestParams = i + 1
|
|
}
|
|
}
|
|
|
|
if endOfTestParams == 0 {
|
|
t.Skip("skipping integration test, no `--` parameter found")
|
|
}
|
|
main()
|
|
}
|