[
https://issues.apache.org/jira/browse/THRIFT-4253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16106243#comment-16106243
]
Jens Geyer edited comment on THRIFT-4253 at 7/29/17 9:03 PM:
-------------------------------------------------------------
You have to run {{make check}} inside the {{/lib/go/test}} dir. This runs these
tests by (basically) [invoking {{go test}} on
them|https://golang.org/pkg/testing]. New tests need to be added to
{{/lib/go/test/Makefile.am}}. It should be clear by looking at the existing
test cases how everything works, just follow the model given by existing test
cases.
{{make cross}} is for the cross language Test Suite located under {{/test}}.
That's a different thing. The policy is to have all other tests inside the
{{/lib/language}} folders, and that's what we need here.
was (Author: jensg):
You have to run {{make check}} inside the {{/lib/go/test}} dir. This runs these
tests by (basically) [invoking {{go test}} on
them|https://golang.org/pkg/testing]. New tests need to be added to
{{Makefile.am}}. It should be clear by looking at the existing test cases how
everything works, just follow the model given by existing test cases.
{{make cross}} is for the cross language Test Suite located under {{/test}}.
That's a different thing. The policy is to have all other tests inside the
{{/lib/language}} folders, and that's what we need here.
> Go generator assigns strings to field in const instead of pointers.
> -------------------------------------------------------------------
>
> Key: THRIFT-4253
> URL: https://issues.apache.org/jira/browse/THRIFT-4253
> Project: Thrift
> Issue Type: Bug
> Components: Go - Compiler
> Affects Versions: 0.10.0
> Environment: Generated using docker-thrift.
> Reporter: Davin Chia
>
> Given the follow thrift definition:
> {code:java}
> struct custom {
> 1: required string field_a;
> 2: optional string field_b;
> }
> {code}
> with the following constant map defined in the same file:
> {code:java}
> const map<i32, custom> custom_map = {
> ...,
> 42 : { 'field_a':'www.testa.com', 'field_b':'www.testb.com'},
> ...,
> }
> {code}
> Thrift generates the following go struct in the main {code:java}x.go{code}
> file:
> {code:java}
> type Custom struct {
> FieldA string `thrift:"field_a,required" db:"field_a" json:"field_a"`
> FieldB *string `thrift:"field_b,2" db:"field_b" json:"field_b,omitempty"`
> }
> {code}
> with the corresponding assignments in the {code:java} X-consts.go {code} file:
> {code:java}
> CUSTOM_MAP = map[int]*Custom {
> ...,
> 42: &Custom {FieldA: "www.testa.com", FieldB: "www.testb.com"},
> ...,
> }
> {code}
> I assume field_b's pointer type is to allow for null values as per the
> optional. The generator should be assigning pointers instead of strings.
> I'm not sure how much effort it would take to fix this. I am encountering
> this problem at work right and would be very happy to starting working on
> this with some guidance from experts around here.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)