Spec test coverage report hack (#13718)

* Spec test report hack

* no export

* fix shell complaint

* shell fix?

* shell again?

* chmod +x ./hack/spectest-report.sh

* Review + improvements

* Remove unwanted change

* Add exclusion list

* Fix path + add eip6110 to exclusion

* Fix bazel path nonsense

* Add extra detail about specific test

* Cleanup exclusion list

* Add fail conditions

* Add mkdir

* Shorten filename + mkdir only if new

* Fix names

* Add to exclusion list

* Add report to .gitignore

* Back to stupid names

* Add Bazel flags option

---------

Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
This commit is contained in:
Sammy Rosso
2024-03-25 17:10:32 +01:00
committed by GitHub
parent 6782df917a
commit 14d7416c16
6 changed files with 396 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package utils
import (
"fmt"
"os"
"path"
"testing"
@@ -8,6 +9,7 @@ import (
"github.com/bazelbuild/rules_go/go/tools/bazel"
"github.com/ghodss/yaml"
jsoniter "github.com/json-iterator/go"
"github.com/prysmaticlabs/prysm/v5/io/file"
"github.com/prysmaticlabs/prysm/v5/testing/require"
)
@@ -42,6 +44,20 @@ func TestFolders(t testing.TB, config, forkOrPhase, folderPath string) ([]os.Dir
if len(testFolders) == 0 {
t.Fatalf("No test folders found at %s", testsFolderPath)
}
err = saveSpecTest(testsFolderPath)
require.NoError(t, err)
return testFolders, testsFolderPath
}
func saveSpecTest(testFolder string) error {
baseDir := os.Getenv("SPEC_TEST_REPORT_OUTPUT_DIR")
if baseDir == "" {
return nil // Do nothing if spec test report not requested.
}
fullPath := path.Join(baseDir, fmt.Sprintf("%x_tests.txt", testFolder))
err := file.WriteFile(fullPath, []byte(testFolder))
if err != nil {
return err
}
return nil
}