Skip to content

Commit

Permalink
Merge branch 'master' into fix_zipkin_error_handling
Browse files Browse the repository at this point in the history
merge master
  • Loading branch information
ericmustin committed Dec 12, 2020
2 parents e48e7db + a16c599 commit 8a00493
Show file tree
Hide file tree
Showing 35 changed files with 300 additions and 585 deletions.
5 changes: 5 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,12 +236,17 @@ workflows:
jobs:
- setup-environment:
filters:
branches:
ignore: master
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
- contribtest:
requires:
- setup-environment
filters:
branches:
# Don't run contribtest on master. We only want to run it for PRs and releases.
ignore: master
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/

Expand Down
77 changes: 0 additions & 77 deletions cmd/pdatagen/internal/base_fields.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,33 +28,12 @@ func (ms ${structName}) ${fieldName}() ${returnType} {

const accessorsSliceTestTemplate = `func Test${structName}_${fieldName}(t *testing.T) {
ms := New${structName}()
ms.InitEmpty()
assert.EqualValues(t, New${returnType}(), ms.${fieldName}())
fillTest${returnType}(ms.${fieldName}())
testVal${fieldName} := generateTest${returnType}()
assert.EqualValues(t, testVal${fieldName}, ms.${fieldName}())
}`

const accessorsMessagePtrTemplate = `// ${fieldName} returns the ${lowerFieldName} associated with this ${structName}.
// If no ${lowerFieldName} available, it creates an empty message and associates it with this ${structName}.
//
// Empty initialized ${structName} will return "nil" ${returnType}.
//
// Important: This causes a runtime error if IsNil() returns "true".
func (ms ${structName}) ${fieldName}() ${returnType} {
return new${returnType}(&(*ms.orig).${originFieldName})
}`

const accessorsMessagePtrTestTemplate = `func Test${structName}_${fieldName}(t *testing.T) {
ms := New${structName}()
ms.InitEmpty()
assert.True(t, ms.${fieldName}().IsNil())
ms.${fieldName}().InitEmpty()
assert.False(t, ms.${fieldName}().IsNil())
fillTest${returnType}(ms.${fieldName}())
assert.EqualValues(t, generateTest${returnType}(), ms.${fieldName}())
}`

const accessorsMessageValueTemplate = `// ${fieldName} returns the ${lowerFieldName} associated with this ${structName}.
//
// Important: This causes a runtime error if IsNil() returns "true".
Expand All @@ -64,7 +43,6 @@ func (ms ${structName}) ${fieldName}() ${returnType} {

const accessorsMessageValueTestTemplate = `func Test${structName}_${fieldName}(t *testing.T) {
ms := New${structName}()
ms.InitEmpty()
fillTest${returnType}(ms.${fieldName}())
assert.EqualValues(t, generateTest${returnType}(), ms.${fieldName}())
}`
Expand All @@ -85,7 +63,6 @@ func (ms ${structName}) Set${fieldName}(v ${returnType}) {

const accessorsPrimitiveTestTemplate = `func Test${structName}_${fieldName}(t *testing.T) {
ms := New${structName}()
ms.InitEmpty()
assert.EqualValues(t, ${defaultVal}, ms.${fieldName}())
testVal${fieldName} := ${testValue}
ms.Set${fieldName}(testVal${fieldName})
Expand Down Expand Up @@ -171,59 +148,6 @@ func (sf *sliceField) generateCopyToValue(sb *strings.Builder) {

var _ baseField = (*sliceField)(nil)

type messagePtrField struct {
fieldName string
originFieldName string
returnMessage *messagePtrStruct
}

func (mf *messagePtrField) generateAccessors(ms baseStruct, sb *strings.Builder) {
sb.WriteString(os.Expand(accessorsMessagePtrTemplate, func(name string) string {
switch name {
case "structName":
return ms.getName()
case "fieldName":
return mf.fieldName
case "lowerFieldName":
return strings.ToLower(mf.fieldName)
case "returnType":
return mf.returnMessage.structName
case "structOriginFullName":
return mf.returnMessage.originFullName
case "originFieldName":
return mf.originFieldName
default:
panic(name)
}
}))
}

func (mf *messagePtrField) generateAccessorsTest(ms baseStruct, sb *strings.Builder) {
sb.WriteString(os.Expand(accessorsMessagePtrTestTemplate, func(name string) string {
switch name {
case "structName":
return ms.getName()
case "fieldName":
return mf.fieldName
case "returnType":
return mf.returnMessage.structName
default:
panic(name)
}
}))
}

func (mf *messagePtrField) generateSetWithTestValue(sb *strings.Builder) {
sb.WriteString("\ttv." + mf.fieldName + "().InitEmpty()\n")
sb.WriteString("\tfillTest" + mf.returnMessage.structName + "(tv." + mf.fieldName + "())")
}

func (mf *messagePtrField) generateCopyToValue(sb *strings.Builder) {
sb.WriteString("\tms." + mf.fieldName + "().CopyTo(dest." + mf.fieldName + "())")
}

var _ baseField = (*messagePtrField)(nil)

type messageValueField struct {
fieldName string
originFieldName string
Expand Down Expand Up @@ -409,7 +333,6 @@ func (one oneofField) generateAccessorsTest(baseStruct, *strings.Builder) {}

func (one oneofField) generateSetWithTestValue(sb *strings.Builder) {
sb.WriteString("\t(*tv.orig)." + one.originFieldName + " = " + one.testVal + "\n")
sb.WriteString("\ttv." + one.fillTestName + "().InitEmpty()\n")
sb.WriteString("\tfillTest" + one.fillTestName + "(tv." + one.fillTestName + "())")
}

Expand Down
178 changes: 0 additions & 178 deletions cmd/pdatagen/internal/base_structs.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,81 +19,6 @@ import (
"strings"
)

const messagePtrTemplate = `${description}
//
// This is a reference type, if passed by value and callee modifies it the
// caller will see the modification.
//
// Must use New${structName} function to create new instances.
// Important: zero-initialized instance is not valid for use.
type ${structName} struct {
// orig points to the pointer ${originName} field contained somewhere else.
// We use pointer-to-pointer to be able to modify it in InitEmpty func.
orig **${originName}
}
func new${structName}(orig **${originName}) ${structName} {
return ${structName}{orig}
}
// New${structName} creates a new "nil" ${structName}.
// To initialize the struct call "InitEmpty".
//
// This must be used only in testing code since no "Set" method available.
func New${structName}() ${structName} {
orig := (*${originName})(nil)
return new${structName}(&orig)
}
// InitEmpty overwrites the current value with empty.
func (ms ${structName}) InitEmpty() {
*ms.orig = &${originName}{}
}
// IsNil returns true if the underlying data are nil.
//
// Important: All other functions will cause a runtime error if this returns "true".
func (ms ${structName}) IsNil() bool {
return *ms.orig == nil
}`

const messagePtrCopyToHeaderTemplate = `// CopyTo copies all properties from the current struct to the dest.
func (ms ${structName}) CopyTo(dest ${structName}) {
if ms.IsNil() {
*dest.orig = nil
return
}
if dest.IsNil() {
dest.InitEmpty()
}`

const messagePtrCopyToFooterTemplate = `}`

const messagePtrTestTemplate = `func Test${structName}_InitEmpty(t *testing.T) {
ms := New${structName}()
assert.True(t, ms.IsNil())
ms.InitEmpty()
assert.False(t, ms.IsNil())
}
func Test${structName}_CopyTo(t *testing.T) {
ms := New${structName}()
New${structName}().CopyTo(ms)
assert.True(t, ms.IsNil())
generateTest${structName}().CopyTo(ms)
assert.EqualValues(t, generateTest${structName}(), ms)
}`

const messagePtrGenerateTestTemplate = `func generateTest${structName}() ${structName} {
tv := New${structName}()
tv.InitEmpty()
fillTest${structName}(tv)
return tv
}`

const messagePtrFillTestHeaderTemplate = `func fillTest${structName}(tv ${structName}) {`
const messagePtrFillTestFooterTemplate = `}`

const messageValueTemplate = `${description}
//
// This is a reference type, if passed by value and callee modifies it the
Expand All @@ -114,11 +39,6 @@ func new${structName}(orig *${originName}) ${structName} {
// This must be used only in testing code since no "Set" method available.
func New${structName}() ${structName} {
return new${structName}(&${originName}{})
}
// Deprecated: This function will be removed soon.
func (ms ${structName}) InitEmpty() {
*ms.orig = ${originName}{}
}`

const messageValueCopyToHeaderTemplate = `// CopyTo copies all properties from the current struct to the dest.
Expand Down Expand Up @@ -154,104 +74,6 @@ type baseStruct interface {
generateTestValueHelpers(sb *strings.Builder)
}

type messagePtrStruct struct {
structName string
description string
originFullName string
fields []baseField
}

func (ms *messagePtrStruct) getName() string {
return ms.structName
}

func (ms *messagePtrStruct) generateStruct(sb *strings.Builder) {
sb.WriteString(os.Expand(messagePtrTemplate, func(name string) string {
switch name {
case "structName":
return ms.structName
case "originName":
return ms.originFullName
case "description":
return ms.description
default:
panic(name)
}
}))
// Write accessors for the struct
for _, f := range ms.fields {
sb.WriteString(newLine + newLine)
f.generateAccessors(ms, sb)
}
sb.WriteString(newLine + newLine)
sb.WriteString(os.Expand(messagePtrCopyToHeaderTemplate, func(name string) string {
switch name {
case "structName":
return ms.structName
default:
panic(name)
}
}))
// Write accessors CopyTo for the struct
for _, f := range ms.fields {
sb.WriteString(newLine)
f.generateCopyToValue(sb)
}
sb.WriteString(newLine)
sb.WriteString(os.Expand(messagePtrCopyToFooterTemplate, func(name string) string {
panic(name)
}))
}

func (ms *messagePtrStruct) generateTests(sb *strings.Builder) {
sb.WriteString(os.Expand(messagePtrTestTemplate, func(name string) string {
switch name {
case "structName":
return ms.structName
default:
panic(name)
}
}))
// Write accessors tests for the struct
for _, f := range ms.fields {
sb.WriteString(newLine + newLine)
f.generateAccessorsTest(ms, sb)
}
}

func (ms *messagePtrStruct) generateTestValueHelpers(sb *strings.Builder) {
sb.WriteString(os.Expand(messagePtrGenerateTestTemplate, func(name string) string {
switch name {
case "structName":
return ms.structName
case "originName":
return ms.originFullName
default:
panic(name)
}
}))
sb.WriteString(newLine + newLine)
sb.WriteString(os.Expand(messagePtrFillTestHeaderTemplate, func(name string) string {
switch name {
case "structName":
return ms.structName
default:
panic(name)
}
}))
// Write accessors test value for the struct
for _, f := range ms.fields {
sb.WriteString(newLine)
f.generateSetWithTestValue(sb)
}
sb.WriteString(newLine)
sb.WriteString(os.Expand(messagePtrFillTestFooterTemplate, func(name string) string {
panic(name)
}))
}

var _ baseStruct = (*messagePtrStruct)(nil)

type messageValueStruct struct {
structName string
description string
Expand Down
5 changes: 0 additions & 5 deletions consumer/pdata/generated_common.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions consumer/pdata/generated_common_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 0 additions & 15 deletions consumer/pdata/generated_log.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 8a00493

Please sign in to comment.