From a457f47ba270b8aaa55d617b739beaee4233b2a0 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Mon, 21 Oct 2024 11:49:26 -0400 Subject: [PATCH] all: normalize subtest names to NFC LUCI builders upload test results to ResultDB, which permits printable Unicode characters in test names, provided they're written in NFC form. Change-Id: I0abf67beb52da722af97e6981c308c4b4d801cbb Reviewed-on: https://go-review.googlesource.com/c/text/+/621555 LUCI-TryBot-Result: Go LUCI Reviewed-by: Michael Pratt Reviewed-by: Dmitri Shuralyov Auto-Submit: Dmitri Shuralyov --- cases/context_test.go | 3 ++- encoding/japanese/all_test.go | 6 ++++-- secure/bidirule/bidirule_test.go | 3 ++- unicode/norm/transform_test.go | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cases/context_test.go b/cases/context_test.go index de6ba3f8c..eb4d69321 100644 --- a/cases/context_test.go +++ b/cases/context_test.go @@ -213,7 +213,8 @@ func TestCCC(t *testing.T) { func TestWordBreaks(t *testing.T) { for _, tt := range breakTest { - testtext.Run(t, tt, func(t *testing.T) { + desc := norm.NFC.String(tt) + testtext.Run(t, desc, func(t *testing.T) { parts := strings.Split(tt, "|") want := "" for _, s := range parts { diff --git a/encoding/japanese/all_test.go b/encoding/japanese/all_test.go index a8b53e2eb..888300649 100644 --- a/encoding/japanese/all_test.go +++ b/encoding/japanese/all_test.go @@ -14,6 +14,7 @@ import ( "golang.org/x/text/encoding/internal" "golang.org/x/text/encoding/internal/enctest" "golang.org/x/text/transform" + "golang.org/x/text/unicode/norm" ) func dec(e encoding.Encoding) (dir string, t transform.Transformer, err error) { @@ -127,7 +128,7 @@ func TestNonRepertoire(t *testing.T) { } for _, tc := range testCases { dir, tr, wantErr := tc.init(tc.e) - t.Run(fmt.Sprintf("%s/%v/%q", dir, tc.e, short(tc.src)), func(t *testing.T) { + t.Run(fmt.Sprintf("%s/%v/%q", dir, tc.e, shortNFC(tc.src)), func(t *testing.T) { dst := make([]byte, 100000) src := []byte(tc.src) for i := 0; i <= len(tc.src); i++ { @@ -148,7 +149,8 @@ func TestNonRepertoire(t *testing.T) { } } -func short(s string) string { +func shortNFC(s string) string { + s = norm.NFC.String(s) if len(s) <= 50 { return s } diff --git a/secure/bidirule/bidirule_test.go b/secure/bidirule/bidirule_test.go index e8fde3383..e1bc11cef 100644 --- a/secure/bidirule/bidirule_test.go +++ b/secure/bidirule/bidirule_test.go @@ -10,6 +10,7 @@ import ( "golang.org/x/text/internal/testtext" "golang.org/x/text/unicode/bidi" + "golang.org/x/text/unicode/norm" ) const ( @@ -55,7 +56,7 @@ func init() { func doTests(t *testing.T, fn func(t *testing.T, tc ruleTest)) { for rule, cases := range testCases { for i, tc := range cases { - name := fmt.Sprintf("%d/%d:%+q:%s", rule, i, tc.in, tc.in) + name := fmt.Sprintf("%d/%d:%+q:%[3]s", rule, i, norm.NFC.String(tc.in)) testtext.Run(t, name, func(t *testing.T) { fn(t, tc) }) diff --git a/unicode/norm/transform_test.go b/unicode/norm/transform_test.go index 2690fc360..9ff30d485 100644 --- a/unicode/norm/transform_test.go +++ b/unicode/norm/transform_test.go @@ -69,7 +69,7 @@ func TestTransform(t *testing.T) { } b := make([]byte, 100) for i, tt := range tests { - t.Run(fmt.Sprintf("%d:%s", i, tt.in), func(t *testing.T) { + t.Run(fmt.Sprint(i), func(t *testing.T) { nDst, _, err := tt.f.Transform(b[:tt.dstSize], []byte(tt.in), tt.eof) out := string(b[:nDst]) if out != tt.out || err != tt.err {