-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor how path structs are split.
* (M) ypathgen/pathgen.go * (M) ypathgen/pathgen_test.go - Change splits to include N structs per file based on iterating through them rather than precalculating. - Avoid creating files that are just the package header. * (A) ypathgen/testdata/splitstructs/* - Add new test case files. - Remove files that contained only the header.
- Loading branch information
Showing
7 changed files
with
440 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 0 additions & 15 deletions
15
ypathgen/testdata/splitstructs/openconfig-simple-32.path-txt
This file was deleted.
Oops, something went wrong.
59 changes: 59 additions & 0 deletions
59
ypathgen/testdata/splitstructs/openconfig-simple.higher-0.path-txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* | ||
Package ocstructs is a generated package which contains definitions | ||
of structs which generate gNMI paths for a YANG schema. The generated paths are | ||
based on a compressed form of the schema. | ||
|
||
This package was generated by pathgen-tests | ||
using the following YANG input files: | ||
- ../testdata/modules/openconfig-simple.yang | ||
Imported modules were sourced from: | ||
*/ | ||
package ocstructs | ||
|
||
import ( | ||
oc "github.com/openconfig/ygot/ypathgen/testdata/exampleoc" | ||
"github.com/openconfig/ygot/ygot" | ||
) | ||
|
||
// Device represents the /device YANG schema element. | ||
type Device struct { | ||
*ygot.DeviceRootBase | ||
} | ||
|
||
// DeviceRoot returns a new path object from which YANG paths can be constructed. | ||
func DeviceRoot(id string) *Device { | ||
return &Device{ygot.NewDeviceRootBase(id)} | ||
} | ||
|
||
// Parent (container): I am a parent container | ||
// that has 4 children. | ||
// ---------------------------------------- | ||
// Defining module: "openconfig-simple" | ||
// Instantiating module: "openconfig-simple" | ||
// Path from parent: "parent" | ||
// Path from root: "/parent" | ||
func (n *Device) Parent() *Parent { | ||
return &Parent{ | ||
NodePath: ygot.NewNodePath( | ||
[]string{"parent"}, | ||
map[string]interface{}{}, | ||
n, | ||
), | ||
} | ||
} | ||
|
||
// RemoteContainer (container): | ||
// ---------------------------------------- | ||
// Defining module: "openconfig-remote" | ||
// Instantiating module: "openconfig-simple" | ||
// Path from parent: "remote-container" | ||
// Path from root: "/remote-container" | ||
func (n *Device) RemoteContainer() *RemoteContainer { | ||
return &RemoteContainer{ | ||
NodePath: ygot.NewNodePath( | ||
[]string{"remote-container"}, | ||
map[string]interface{}{}, | ||
n, | ||
), | ||
} | ||
} |
58 changes: 58 additions & 0 deletions
58
ypathgen/testdata/splitstructs/openconfig-simple.higher-1.path-txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/* | ||
Package ocstructs is a generated package which contains definitions | ||
of structs which generate gNMI paths for a YANG schema. The generated paths are | ||
based on a compressed form of the schema. | ||
|
||
This package was generated by pathgen-tests | ||
using the following YANG input files: | ||
- ../testdata/modules/openconfig-simple.yang | ||
Imported modules were sourced from: | ||
*/ | ||
package ocstructs | ||
|
||
import ( | ||
oc "github.com/openconfig/ygot/ypathgen/testdata/exampleoc" | ||
"github.com/openconfig/ygot/ygot" | ||
) | ||
|
||
// Parent represents the /openconfig-simple/parent YANG schema element. | ||
type Parent struct { | ||
*ygot.NodePath | ||
} | ||
|
||
// ParentAny represents the wildcard version of the /openconfig-simple/parent YANG schema element. | ||
type ParentAny struct { | ||
*ygot.NodePath | ||
} | ||
|
||
// Child (container): | ||
// ---------------------------------------- | ||
// Defining module: "openconfig-simple" | ||
// Instantiating module: "openconfig-simple" | ||
// Path from parent: "child" | ||
// Path from root: "/parent/child" | ||
func (n *Parent) Child() *Parent_Child { | ||
return &Parent_Child{ | ||
NodePath: ygot.NewNodePath( | ||
[]string{"child"}, | ||
map[string]interface{}{}, | ||
n, | ||
), | ||
} | ||
} | ||
|
||
// Child (container): | ||
// ---------------------------------------- | ||
// Defining module: "openconfig-simple" | ||
// Instantiating module: "openconfig-simple" | ||
// Path from parent: "child" | ||
// Path from root: "/parent/child" | ||
func (n *ParentAny) Child() *Parent_ChildAny { | ||
return &Parent_ChildAny{ | ||
NodePath: ygot.NewNodePath( | ||
[]string{"child"}, | ||
map[string]interface{}{}, | ||
n, | ||
), | ||
} | ||
} |
Oops, something went wrong.