From de6c995065fe3e7f6c671e6b5a9cfae5a83c19c0 Mon Sep 17 00:00:00 2001 From: sayden Date: Fri, 12 Apr 2019 13:34:56 +0200 Subject: [PATCH 1/3] Atomic commit --- metricbeat/mb/testing/data/data_test.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/metricbeat/mb/testing/data/data_test.go b/metricbeat/mb/testing/data/data_test.go index 32b3014206a8..a5af9832bc30 100644 --- a/metricbeat/mb/testing/data/data_test.go +++ b/metricbeat/mb/testing/data/data_test.go @@ -194,7 +194,9 @@ func runTest(t *testing.T, file string, module, metricSetName string, config Con return h1 < h2 }) - checkDocumented(t, data, config.OmitDocumentedFieldsCheck) + if err := checkDocumented(t, data, config.OmitDocumentedFieldsCheck); err != nil { + t.Errorf("check if fields are documented error: %v in `fields.yml` file", err) + } // Overwrites the golden files if run with -generate if *generateFlag { @@ -259,15 +261,15 @@ func writeDataJSON(t *testing.T, data common.MapStr, module, metricSet string) { } // checkDocumented checks that all fields which show up in the events are documented -func checkDocumented(t *testing.T, data []common.MapStr, omitFields []string) { +func checkDocumented(t *testing.T, data []common.MapStr, omitFields []string) error { fieldsData, err := asset.GetFields("metricbeat") if err != nil { - t.Fatal(err) + return err } fields, err := mapping.LoadFields(fieldsData) if err != nil { - t.Fatal(err) + return err } documentedFields := fields.GetKeys() @@ -280,9 +282,11 @@ func checkDocumented(t *testing.T, data []common.MapStr, omitFields []string) { for _, d := range data { flat := d.Flatten() if err := documentedFieldCheck(flat, keys, omitFields); err != nil { - t.Fatal(err) + return err } } + + return nil } func documentedFieldCheck(foundKeys common.MapStr, knownKeys map[string]interface{}, omitFields []string) error { @@ -300,7 +304,7 @@ func documentedFieldCheck(foundKeys common.MapStr, knownKeys map[string]interfac if _, ok := knownKeys[prefix+".*"]; ok { continue } - return errors.Errorf("check if fields are documented error: key missing '%s'", foundKey) + return errors.Errorf("field missing '%s'", foundKey) } } From b1995be55598589e28087f4382b74c16aa7fab1a Mon Sep 17 00:00:00 2001 From: sayden Date: Mon, 15 Apr 2019 10:50:40 +0200 Subject: [PATCH 2/3] Rebase and update error description --- metricbeat/mb/testing/data/data_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/metricbeat/mb/testing/data/data_test.go b/metricbeat/mb/testing/data/data_test.go index a5af9832bc30..c2dbca38be06 100644 --- a/metricbeat/mb/testing/data/data_test.go +++ b/metricbeat/mb/testing/data/data_test.go @@ -195,7 +195,8 @@ func runTest(t *testing.T, file string, module, metricSetName string, config Con }) if err := checkDocumented(t, data, config.OmitDocumentedFieldsCheck); err != nil { - t.Errorf("check if fields are documented error: %v in `fields.yml` file", err) + t.Errorf("'%v' check if fields are documented in `metricbeat/{module}/{metricset}/_meta/fields.yml` " + + "file or run 'make update' on Metricbeat folder to update root `metricbeat/fields.yml` in ", err) } // Overwrites the golden files if run with -generate From 2aae699935be2be4e4726f4485c3cf412a1a9a74 Mon Sep 17 00:00:00 2001 From: sayden Date: Mon, 15 Apr 2019 13:36:53 +0200 Subject: [PATCH 3/3] make fmt --- metricbeat/mb/testing/data/data_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metricbeat/mb/testing/data/data_test.go b/metricbeat/mb/testing/data/data_test.go index c2dbca38be06..de71c43d1ec0 100644 --- a/metricbeat/mb/testing/data/data_test.go +++ b/metricbeat/mb/testing/data/data_test.go @@ -195,7 +195,7 @@ func runTest(t *testing.T, file string, module, metricSetName string, config Con }) if err := checkDocumented(t, data, config.OmitDocumentedFieldsCheck); err != nil { - t.Errorf("'%v' check if fields are documented in `metricbeat/{module}/{metricset}/_meta/fields.yml` " + + t.Errorf("'%v' check if fields are documented in `metricbeat/{module}/{metricset}/_meta/fields.yml` "+ "file or run 'make update' on Metricbeat folder to update root `metricbeat/fields.yml` in ", err) }