xref: /aosp_15_r20/external/golang-protobuf/cmd/protoc-gen-go/testdata/registry_test.go (revision 1c12ee1efe575feb122dbf939ff15148a3b3e8f2)
1*1c12ee1eSDan Willemsen// Copyright 2019 The Go Authors. All rights reserved.
2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style
3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file.
4*1c12ee1eSDan Willemsen
5*1c12ee1eSDan Willemsenpackage main
6*1c12ee1eSDan Willemsen
7*1c12ee1eSDan Willemsenimport (
8*1c12ee1eSDan Willemsen	"testing"
9*1c12ee1eSDan Willemsen
10*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/internal/filedesc"
11*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/reflect/protoreflect"
12*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/reflect/protoregistry"
13*1c12ee1eSDan Willemsen)
14*1c12ee1eSDan Willemsen
15*1c12ee1eSDan Willemsenfunc TestRegistry(t *testing.T) {
16*1c12ee1eSDan Willemsen	var hasFiles bool
17*1c12ee1eSDan Willemsen	protoregistry.GlobalFiles.RangeFiles(func(fd protoreflect.FileDescriptor) bool {
18*1c12ee1eSDan Willemsen		if fd.(*filedesc.File).L2 != nil {
19*1c12ee1eSDan Willemsen			t.Errorf("file %q eagerly went through lazy initialization", fd.Path())
20*1c12ee1eSDan Willemsen		}
21*1c12ee1eSDan Willemsen		hasFiles = true
22*1c12ee1eSDan Willemsen		return true
23*1c12ee1eSDan Willemsen	})
24*1c12ee1eSDan Willemsen	if !hasFiles {
25*1c12ee1eSDan Willemsen		t.Errorf("protoregistry.GlobalFiles is empty")
26*1c12ee1eSDan Willemsen	}
27*1c12ee1eSDan Willemsen}
28