| # Test that a basic get go works using golden files to verify output |
| |
| # Set HOME for go-build cache to be valid |
| env HOME=$WORK${/}home |
| env USERPROFILE=$HOME |
| env LOCALAPPDATA=$WORK${/}appdata |
| |
| # All the things |
| cue get go --local |
| cmp blah_go_gen.cue all.cue.golden |
| |
| # Use an alternative package name |
| cue get go --local -p other |
| cmp blah_go_gen.cue other.cue.golden |
| |
| -- go.mod -- |
| module mod.com/blah |
| -- blah.go -- |
| package main |
| |
| type S struct { |
| Name string |
| T |
| } |
| |
| type T struct { |
| Age int |
| } |
| |
| const ( |
| LongStringConst = "This is a really long string. Why are we using a long string? Because that way it ensures we are using go/constant.Value.ExactString() instead of go/constant.Value.String()" |
| IntConst = "test" |
| ) |
| -- all.cue.golden -- |
| // Code generated by cue get go. DO NOT EDIT. |
| |
| //cue:generate cue get go mod.com/blah |
| |
| package main |
| |
| #S: { |
| Name: string |
| T: #T |
| } |
| |
| #T: Age: int |
| |
| #LongStringConst: "This is a really long string. Why are we using a long string? Because that way it ensures we are using go/constant.Value.ExactString() instead of go/constant.Value.String()" |
| #IntConst: "test" |
| -- other.cue.golden -- |
| // Code generated by cue get go. DO NOT EDIT. |
| |
| //cue:generate cue get go mod.com/blah |
| |
| package other |
| |
| #S: { |
| Name: string |
| T: #T |
| } |
| |
| #T: Age: int |
| |
| #LongStringConst: "This is a really long string. Why are we using a long string? Because that way it ensures we are using go/constant.Value.ExactString() instead of go/constant.Value.String()" |
| #IntConst: "test" |