Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
go-libp2p
Commits
9d40a0af
Commit
9d40a0af
authored
Nov 18, 2015
by
Jeromy
Browse files
migrate to gx namespace
parent
fb31f446
Changes
1000
Expand all
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
1000 of 1000+
files are displayed.
Plain diff
Email patch
testutil/gen.go
View file @
9d40a0af
...
...
@@ -8,11 +8,11 @@ import (
"sync"
"testing"
u
"Qmah3kfjwhVxBM4qGnrqJTqGzrF8svwByyhExPipA2U6LE/go-ipfs-util"
ci
"github.com/ipfs/go-libp2p/p2p/crypto"
peer
"github.com/ipfs/go-libp2p/p2p/peer"
u
"gx/QmQA79FfVsUnGkH3TgKDqcDkupfjqLSJ6EYwDuDDZK8nhD/go-ipfs-util"
ma
"
QmbWxL1aXQhBjc1XGjGF1f2KGBMCBYSuT2ThA8YXnXJK83
/go-multiaddr"
ma
"
gx/QmVUi2ncqnU48zsPgR1rQosDGwY3SSZ1Ndp33j33YjXdsj
/go-multiaddr"
)
// ZeroLocalTCPAddress is the "zero" tcp local multiaddr. This means:
...
...
testutil/identity.go
View file @
9d40a0af
...
...
@@ -3,9 +3,9 @@ package testutil
import
(
"testing"
ma
"QmbWxL1aXQhBjc1XGjGF1f2KGBMCBYSuT2ThA8YXnXJK83/go-multiaddr"
ci
"github.com/ipfs/go-libp2p/p2p/crypto"
peer
"github.com/ipfs/go-libp2p/p2p/peer"
ma
"gx/QmVUi2ncqnU48zsPgR1rQosDGwY3SSZ1Ndp33j33YjXdsj/go-multiaddr"
)
type
Identity
interface
{
...
...
vendor/QmRCPT5WRph8aWXmaT2Rfn6ac98YRUUJnNURpD3hNAWp4f/go-multiaddr-net/Makefile
deleted
100644 → 0
View file @
fb31f446
GO15VENDOREXPERIMENT
=
1
all
:
install
gx
:
go get github.com/whyrusleeping/gx
go get github.com/whyrusleeping/gx-go
dep
:
gx
gx
install
test
:
go
test
-race
-cpu
=
5
-v
vendor/QmTgxFwS1nDK126fH5XPnLFcxcDFsxKbPPnCBwyRWNAjDX/go-peerstream/Godeps/Godeps.json
deleted
100644 → 0
View file @
fb31f446
{
"ImportPath"
:
"github.com/jbenet/go-peerstream"
,
"GoVersion"
:
"go1.4.2"
,
"Packages"
:
[
"./..."
],
"Deps"
:
[
{
"ImportPath"
:
"github.com/docker/spdystream"
,
"Rev"
:
"b2c3287865f3ad6aa22821ddb7b4692b896ac207"
},
{
"ImportPath"
:
"github.com/hashicorp/yamux"
,
"Rev"
:
"b2e55852ddaf823a85c67f798080eb7d08acd71d"
},
{
"ImportPath"
:
"github.com/inconshreveable/muxado"
,
"Rev"
:
"f693c7e88ba316d1a0ae3e205e22a01aa3ec2848"
},
{
"ImportPath"
:
"github.com/jbenet/go-stream-muxer"
,
"Rev"
:
"e2e261765847234749629e0190fef193a4548303"
},
{
"ImportPath"
:
"github.com/jbenet/go-temp-err-catcher"
,
"Rev"
:
"aac704a3f4f27190b4ccc05f303a4931fd1241ff"
},
{
"ImportPath"
:
"github.com/whyrusleeping/go-multiplex"
,
"Rev"
:
"474b9aebeb391746f304ddf7c764a5da12319857"
},
{
"ImportPath"
:
"github.com/whyrusleeping/go-multistream"
,
"Rev"
:
"08e8f9c9f5665ed0c63ffde4fa5ef1d5fb3d516d"
}
]
}
vendor/QmTgxFwS1nDK126fH5XPnLFcxcDFsxKbPPnCBwyRWNAjDX/go-peerstream/muxtest/hack.go
deleted
100644 → 0
View file @
fb31f446
package
muxtest
import
(
multiplex
"QmPxuHs2NQjz16gnvndgkzHkm5PjtqbB5rwoSpLusBkQ7Q/go-stream-muxer/multiplex"
multistream
"QmPxuHs2NQjz16gnvndgkzHkm5PjtqbB5rwoSpLusBkQ7Q/go-stream-muxer/multistream"
muxado
"QmPxuHs2NQjz16gnvndgkzHkm5PjtqbB5rwoSpLusBkQ7Q/go-stream-muxer/muxado"
spdy
"QmPxuHs2NQjz16gnvndgkzHkm5PjtqbB5rwoSpLusBkQ7Q/go-stream-muxer/spdystream"
yamux
"QmPxuHs2NQjz16gnvndgkzHkm5PjtqbB5rwoSpLusBkQ7Q/go-stream-muxer/yamux"
)
var
_
=
multiplex
.
DefaultTransport
var
_
=
multistream
.
NewTransport
var
_
=
muxado
.
Transport
var
_
=
spdy
.
Transport
var
_
=
yamux
.
DefaultTransport
vendor/QmWRypnfEwrgH4k93KEHN5hng7VjKYkWmzDYRuTZeh2Mgh/go-log/.gxlastpubver
deleted
100644 → 0
View file @
fb31f446
1.0.0: QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b
vendor/QmWRypnfEwrgH4k93KEHN5hng7VjKYkWmzDYRuTZeh2Mgh/go-log/package.json
deleted
100644 → 0
View file @
fb31f446
{
"name"
:
"go-log"
,
"version"
:
"1.0.0"
,
"language"
:
"go"
,
"go"
:{
"dvcsimport"
:
"github.com/ipfs/go-log"
}
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/codec/codec_test.go
deleted
100644 → 0
View file @
fb31f446
// Copyright (c) 2015, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package
codec
import
(
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test"
"math/rand"
"testing"
"time"
)
func
TestCodec
(
t
*
testing
.
T
)
{
r
:=
rand
.
New
(
rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
in
:=
test
.
NewPopulatedNinOptStruct
(
r
,
true
)
c
:=
New
(
r
.
Intn
(
1024
))
data
,
err
:=
c
.
Marshal
(
in
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
out
:=
&
test
.
NinOptStruct
{}
err
=
c
.
Unmarshal
(
data
,
out
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
err
:=
in
.
VerboseEqual
(
out
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/io/io_test.go
deleted
100644 → 0
View file @
fb31f446
// Extensions for Protocol Buffers to create more go like structures.
//
// Copyright (c) 2013, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package
io_test
import
(
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/io"
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test"
"bytes"
"encoding/binary"
goio
"io"
"math/rand"
"testing"
"time"
)
func
iotest
(
writer
io
.
WriteCloser
,
reader
io
.
ReadCloser
)
error
{
size
:=
1000
msgs
:=
make
([]
*
test
.
NinOptNative
,
size
)
r
:=
rand
.
New
(
rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
for
i
:=
range
msgs
{
msgs
[
i
]
=
test
.
NewPopulatedNinOptNative
(
r
,
true
)
//issue 31
if
i
==
5
{
msgs
[
i
]
=
&
test
.
NinOptNative
{}
}
//issue 31
if
i
==
999
{
msgs
[
i
]
=
&
test
.
NinOptNative
{}
}
err
:=
writer
.
WriteMsg
(
msgs
[
i
])
if
err
!=
nil
{
return
err
}
}
if
err
:=
writer
.
Close
();
err
!=
nil
{
return
err
}
i
:=
0
for
{
msg
:=
&
test
.
NinOptNative
{}
if
err
:=
reader
.
ReadMsg
(
msg
);
err
!=
nil
{
if
err
==
goio
.
EOF
{
break
}
return
err
}
if
err
:=
msg
.
VerboseEqual
(
msgs
[
i
]);
err
!=
nil
{
return
err
}
i
++
}
if
i
!=
size
{
panic
(
"not enough messages read"
)
}
if
err
:=
reader
.
Close
();
err
!=
nil
{
return
err
}
return
nil
}
type
buffer
struct
{
*
bytes
.
Buffer
closed
bool
}
func
(
this
*
buffer
)
Close
()
error
{
this
.
closed
=
true
return
nil
}
func
newBuffer
()
*
buffer
{
return
&
buffer
{
bytes
.
NewBuffer
(
nil
),
false
}
}
func
TestBigUint32Normal
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewUint32DelimitedWriter
(
buf
,
binary
.
BigEndian
)
reader
:=
io
.
NewUint32DelimitedReader
(
buf
,
binary
.
BigEndian
,
1024
*
1024
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
!
buf
.
closed
{
t
.
Fatalf
(
"did not close buffer"
)
}
}
func
TestBigUint32MaxSize
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewUint32DelimitedWriter
(
buf
,
binary
.
BigEndian
)
reader
:=
io
.
NewUint32DelimitedReader
(
buf
,
binary
.
BigEndian
,
20
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
goio
.
ErrShortBuffer
{
t
.
Error
(
err
)
}
else
{
t
.
Logf
(
"%s"
,
err
)
}
}
func
TestLittleUint32Normal
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewUint32DelimitedWriter
(
buf
,
binary
.
LittleEndian
)
reader
:=
io
.
NewUint32DelimitedReader
(
buf
,
binary
.
LittleEndian
,
1024
*
1024
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
!
buf
.
closed
{
t
.
Fatalf
(
"did not close buffer"
)
}
}
func
TestLittleUint32MaxSize
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewUint32DelimitedWriter
(
buf
,
binary
.
LittleEndian
)
reader
:=
io
.
NewUint32DelimitedReader
(
buf
,
binary
.
LittleEndian
,
20
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
goio
.
ErrShortBuffer
{
t
.
Error
(
err
)
}
else
{
t
.
Logf
(
"%s"
,
err
)
}
}
func
TestVarintNormal
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewDelimitedWriter
(
buf
)
reader
:=
io
.
NewDelimitedReader
(
buf
,
1024
*
1024
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
!
buf
.
closed
{
t
.
Fatalf
(
"did not close buffer"
)
}
}
func
TestVarintNoClose
(
t
*
testing
.
T
)
{
buf
:=
bytes
.
NewBuffer
(
nil
)
writer
:=
io
.
NewDelimitedWriter
(
buf
)
reader
:=
io
.
NewDelimitedReader
(
buf
,
1024
*
1024
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
nil
{
t
.
Error
(
err
)
}
}
//issue 32
func
TestVarintMaxSize
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewDelimitedWriter
(
buf
)
reader
:=
io
.
NewDelimitedReader
(
buf
,
20
)
if
err
:=
iotest
(
writer
,
reader
);
err
!=
goio
.
ErrShortBuffer
{
t
.
Error
(
err
)
}
else
{
t
.
Logf
(
"%s"
,
err
)
}
}
func
TestVarintError
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
buf
.
Write
([]
byte
{
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0x7f
})
reader
:=
io
.
NewDelimitedReader
(
buf
,
1024
*
1024
)
msg
:=
&
test
.
NinOptNative
{}
err
:=
reader
.
ReadMsg
(
msg
)
if
err
==
nil
{
t
.
Fatalf
(
"Expected error"
)
}
}
func
TestFull
(
t
*
testing
.
T
)
{
buf
:=
newBuffer
()
writer
:=
io
.
NewFullWriter
(
buf
)
reader
:=
io
.
NewFullReader
(
buf
,
1024
*
1024
)
r
:=
rand
.
New
(
rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
msgIn
:=
test
.
NewPopulatedNinOptNative
(
r
,
true
)
if
err
:=
writer
.
WriteMsg
(
msgIn
);
err
!=
nil
{
panic
(
err
)
}
if
err
:=
writer
.
Close
();
err
!=
nil
{
panic
(
err
)
}
msgOut
:=
&
test
.
NinOptNative
{}
if
err
:=
reader
.
ReadMsg
(
msgOut
);
err
!=
nil
{
panic
(
err
)
}
if
err
:=
msgIn
.
VerboseEqual
(
msgOut
);
err
!=
nil
{
panic
(
err
)
}
if
err
:=
reader
.
ReadMsg
(
msgOut
);
err
!=
nil
{
if
err
!=
goio
.
EOF
{
panic
(
err
)
}
}
if
err
:=
reader
.
Close
();
err
!=
nil
{
panic
(
err
)
}
if
!
buf
.
closed
{
t
.
Fatalf
(
"did not close buffer"
)
}
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/.gitignore
deleted
100644 → 0
View file @
fb31f446
*.dat
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/Makefile
deleted
100644 → 0
View file @
fb31f446
# Extensions for Protocol Buffers to create more go like structures.
#
# Copyright (c) 2013, Vastech SA (PTY) LTD. All rights reserved.
# http://github.com/gogo/protobuf/gogoproto
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
regenerate
:
go
install
github.com/gogo/protobuf/protoc-gen-combo
protoc
--gogo_out
=
.
--proto_path
=
../:../../../../:../protobuf/:. thetest.proto
protoc-gen-combo
--default
=
false
--proto_path
=
../:../../../../:../protobuf/:. thetest.proto
cp
uuid.go ./combos/both/
cp
uuid.go ./combos/marshaler/
cp
uuid.go ./combos/unmarshaler/
cp
uuid.go ./combos/unsafeboth/
cp
uuid.go ./combos/unsafemarshaler/
cp
uuid.go ./combos/unsafeunmarshaler/
cp
bug_test.go ./combos/both/
cp
bug_test.go ./combos/marshaler/
cp
bug_test.go ./combos/unmarshaler/
cp
bug_test.go ./combos/unsafeboth/
cp
bug_test.go ./combos/unsafemarshaler/
cp
bug_test.go ./combos/unsafeunmarshaler/
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/bug_test.go
deleted
100644 → 0
View file @
fb31f446
// Copyright (c) 2013, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package
test
import
(
"fmt"
"math"
"testing"
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/proto"
)
//http://code.google.com/p/goprotobuf/issues/detail?id=39
func
TestBugUint32VarintSize
(
t
*
testing
.
T
)
{
temp
:=
uint32
(
math
.
MaxUint32
)
n
:=
&
NinOptNative
{}
n
.
Field5
=
&
temp
data
,
err
:=
proto
.
Marshal
(
n
)
if
err
!=
nil
{
panic
(
err
)
}
if
len
(
data
)
!=
6
{
t
.
Fatalf
(
"data should be length 6, but its %#v"
,
data
)
}
}
func
TestBugZeroLengthSliceSize
(
t
*
testing
.
T
)
{
n
:=
&
NinRepPackedNative
{
Field8
:
[]
int64
{},
}
size
:=
n
.
Size
()
data
,
err
:=
proto
.
Marshal
(
n
)
if
err
!=
nil
{
panic
(
err
)
}
if
len
(
data
)
!=
size
{
t
.
Fatalf
(
"expected %v, but got %v"
,
len
(
data
),
size
)
}
}
//http://code.google.com/p/goprotobuf/issues/detail?id=40
func
TestBugPackedProtoSize
(
t
*
testing
.
T
)
{
n
:=
&
NinRepPackedNative
{
Field4
:
[]
int64
{
172960727389894724
,
2360337516664475010
,
860833876131988189
,
9068073014890763245
,
7794843386260381831
,
4023536436053141786
,
8992311247496919020
,
4330096163611305776
,
4490411416244976467
,
7873947349172707443
,
2754969595834279669
,
1360667855926938684
,
4771480785172657389
,
4875578924966668055
,
8070579869808877481
,
9128179594766551001
,
4630419407064527516
,
863844540220372892
,
8208727650143073487
,
7086117356301045838
,
7779695211931506151
,
5493835345187563535
,
9119767633370806007
,
9054342025895349248
,
1887303228838508438
,
7624573031734528281
,
1874668389749611225
,
3517684643468970593
,
6677697606628877758
,
7293473953189936168
,
444475066704085538
,
8594971141363049302
,
1146643249094989673
,
733393306232853371
,
7721178528893916886
,
7784452000911004429
,
6436373110242711440
,
6897422461738321237
,
8772249155667732778
,
6211871464311393541
,
3061903718310406883
,
7845488913176136641
,
8342255034663902574
,
3443058984649725748
,
8410801047334832902
,
7496541071517841153
,
4305416923521577765
,
7814967600020476457
,
8671843803465481186
,
3490266370361096855
,
1447425664719091336
,
653218597262334239
,
8306243902880091940
,
7851896059762409081
,
5936760560798954978
,
5755724498441478025
,
7022701569985035966
,
3707709584811468220
,
529069456924666920
,
7986469043681522462
,
3092513330689518836
,
5103541550470476202
,
3577384161242626406
,
3733428084624703294
,
8388690542440473117
,
3262468785346149388
,
8788358556558007570
,
5476276940198542020
,
7277903243119461239
,
5065861426928605020
,
7533460976202697734
,
1749213838654236956
,
557497603941617931
,
5496307611456481108
,
6444547750062831720
,
6992758776744205596
,
7356719693428537399
,
2896328872476734507
,
381447079530132038
,
598300737753233118
,
3687980626612697715
,
7240924191084283349
,
8172414415307971170
,
4847024388701257185
,
2081764168600256551
,
3394217778539123488
,
6244660626429310923
,
8301712215675381614
,
5360615125359461174
,
8410140945829785773
,
3152963269026381373
,
6197275282781459633
,
4419829061407546410
,
6262035523070047537
,
2837207483933463885
,
2158105736666826128
,
8150764172235490711
},
Field7
:
[]
int32
{
249451845
,
1409974015
,
393609128
,
435232428
,
1817529040
,
91769006
,
861170933
,
1556185603
,
1568580279
,
1236375273
,
512276621
,
693633711
,
967580535
,
1950715977
,
853431462
,
1362390253
,
159591204
,
111900629
,
322985263
,
279671129
,
1592548430
,
465651370
,
733849989
,
1172059400
,
1574824441
,
263541092
,
1271612397
,
1520584358
,
467078791
,
117698716
,
1098255064
,
2054264846
,
1766452305
,
1267576395
,
1557505617
,
1187833560
,
956187431
,
1970977586
,
1160235159
,
1610259028
,
489585797
,
459139078
,
566263183
,
954319278
,
1545018565
,
1753946743
,
948214318
,
422878159
,
883926576
,
1424009347
,
824732372
,
1290433180
,
80297942
,
417294230
,
1402647904
,
2078392782
,
220505045
,
787368129
,
463781454
,
293083578
,
808156928
,
293976361
},
Field9
:
[]
uint32
{
0xaa4976e8
,
0x3da8cc4c
,
0x8c470d83
,
0x344d964e
,
0x5b90925
,
0xa4c4d34e
,
0x666eff19
,
0xc238e552
,
0x9be53bb6
,
0x56364245
,
0x33ee079d
,
0x96bf0ede
,
0x7941b74f
,
0xdb07cb47
,
0x6d76d827
,
0x9b211d5d
,
0x2798adb6
,
0xe48b0c3b
,
0x87061b21
,
0x48f4e4d2
,
0x3e5d5c12
,
0x5ee91288
,
0x336d4f35
,
0xe1d44941
,
0xc065548d
,
0x2953d73f
,
0x873af451
,
0xfc769db
,
0x9f1bf8da
,
0x9baafdfc
,
0xf1d3d770
,
0x5bb5d2b4
,
0xc2c67c48
,
0x6845c4c1
,
0xa48f32b0
,
0xbb04bb70
,
0xa5b1ca36
,
0x8d98356a
,
0x2171f654
,
0x5ae279b0
,
0x6c4a3d6b
,
0x4fff5468
,
0xcf9bf851
,
0x68513614
,
0xdbecd9b0
,
0x9553ed3c
,
0xa494a736
,
0x42205438
,
0xbf8e5caa
,
0xd3283c6
,
0x76d20788
,
0x9179826f
,
0x96b24f85
,
0xbc2eacf4
,
0xe4afae0b
,
0x4bca85cb
,
0x35e63b5b
,
0xd7ccee0c
,
0x2b506bb9
,
0xe78e9f44
,
0x9ad232f1
,
0x99a37335
,
0xa5d6ffc8
},
Field11
:
[]
uint64
{
0x53c01ebc
,
0x4fb85ba6
,
0x8805eea1
,
0xb20ec896
,
0x93b63410
,
0xec7c9492
,
0x50765a28
,
0x19592106
,
0x2ecc59b3
,
0x39cd474f
,
0xe4c9e47
,
0x444f48c5
,
0xe7731d32
,
0xf3f43975
,
0x603caedd
,
0xbb05a1af
,
0xa808e34e
,
0x88580b07
,
0x4c96bbd1
,
0x730b4ab9
,
0xed126e2b
,
0x6db48205
,
0x154ba1b9
,
0xc26bfb6a
,
0x389aa052
,
0x869d966c
,
0x7c86b366
,
0xcc8edbcd
,
0xfa8d6dad
,
0xcf5857d9
,
0x2d9cda0f
,
0x1218a0b8
,
0x41bf997
,
0xf0ca65ac
,
0xa610d4b9
,
0x8d362e28
,
0xb7212d87
,
0x8e0fe109
,
0xbee041d9
,
0x759be2f6
,
0x35fef4f3
,
0xaeacdb71
,
0x10888852
,
0xf4e28117
,
0xe2a14812
,
0x73b748dc
,
0xd1c3c6b2
,
0xfef41bf0
,
0xc9b43b62
,
0x810e4faa
,
0xcaa41c06
,
0x1893fe0d
,
0xedc7c850
,
0xd12b9eaa
,
0x467ee1a9
,
0xbe84756b
,
0xda7b1680
,
0xdc069ffe
,
0xf1e7e9f9
,
0xb3d95370
,
0xa92b77df
,
0x5693ac41
,
0xd04b7287
,
0x27aebf15
,
0x837b316e
,
0x4dbe2263
,
0xbab70c67
,
0x547dab21
,
0x3c346c1f
,
0xb8ef0e4e
,
0xfe2d03ce
,
0xe1d75955
,
0xfec1306
,
0xba35c23e
,
0xb784ed04
,
0x2a4e33aa
,
0x7e19d09a
,
0x3827c1fe
,
0xf3a51561
,
0xef765e2b
,
0xb044256c
,
0x62b322be
,
0xf34d56be
,
0xeb71b369
,
0xffe1294f
,
0x237fe8d0
,
0x77a1473b
,
0x239e1196
,
0xdd19bf3d
,
0x82c91fe1
,
0x95361c57
,
0xffea3f1b
,
0x1a094c84
},
Field12
:
[]
int64
{
8308420747267165049
,
3664160795077875961
,
7868970059161834817
,
7237335984251173739
,
5254748003907196506
,
3362259627111837480
,
430460752854552122
,
5119635556501066533
,
1277716037866233522
,
9185775384759813768
,
833932430882717888
,
7986528304451297640
,
6792233378368656337
,
2074207091120609721
,
1788723326198279432
,
7756514594746453657
,
2283775964901597324
,
3061497730110517191
,
7733947890656120277
,
626967303632386244
,
7822928600388582821
,
3489658753000061230
,
168869995163005961
,
248814782163480763
,
477885608911386247
,
4198422415674133867
,
3379354662797976109
,
9925112544736939
,
1486335136459138480
,
4561560414032850671
,
1010864164014091267
,
186722821683803084
,
5106357936724819318
,
1298160820191228988
,
4675403242419953145
,
7130634540106489752
,
7101280006672440929
,
7176058292431955718
,
9109875054097770321
,
6810974877085322872
,
4736707874303993641
,
8993135362721382187
,
6857881554990254283
,
3704748883307461680
,
1099360832887634994
,
5207691918707192633
,
5984721695043995243
},
}
size
:=
proto
.
Size
(
n
)
data
,
err
:=
proto
.
Marshal
(
n
)
if
err
!=
nil
{
panic
(
err
)
}
if
len
(
data
)
!=
size
{
t
.
Fatalf
(
"expected %v, but got %v diff is %v"
,
len
(
data
),
size
,
len
(
data
)
-
size
)
}
}
func
testSize
(
m
interface
{
proto
.
Message
Size
()
int
},
desc
string
,
expected
int
)
([]
byte
,
error
)
{
data
,
err
:=
proto
.
Marshal
(
m
)
if
err
!=
nil
{
return
nil
,
err
}
protoSize
:=
proto
.
Size
(
m
)
mSize
:=
m
.
Size
()
lenData
:=
len
(
data
)
if
protoSize
!=
mSize
||
protoSize
!=
lenData
||
mSize
!=
lenData
{
return
nil
,
fmt
.
Errorf
(
"%s proto.Size(m){%d} != m.Size(){%d} != len(data){%d}"
,
desc
,
protoSize
,
mSize
,
lenData
)
}
if
got
:=
protoSize
;
got
!=
expected
{
return
nil
,
fmt
.
Errorf
(
"%s proto.Size(m) got %d expected %d"
,
desc
,
got
,
expected
)
}
if
got
:=
mSize
;
got
!=
expected
{
return
nil
,
fmt
.
Errorf
(
"%s m.Size() got %d expected %d"
,
desc
,
got
,
expected
)
}
if
got
:=
lenData
;
got
!=
expected
{
return
nil
,
fmt
.
Errorf
(
"%s len(data) got %d expected %d"
,
desc
,
got
,
expected
)
}
return
data
,
nil
}
func
TestInt32Int64Compatibility
(
t
*
testing
.
T
)
{
//test nullable int32 and int64
data1
,
err
:=
testSize
(
&
NinOptNative
{
Field3
:
proto
.
Int32
(
-
1
),
},
"nullable"
,
11
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
//change marshaled data1 to unmarshal into 4th field which is an int64
data1
[
0
]
=
uint8
(
uint32
(
4
/*fieldNumber*/
)
<<
3
|
uint32
(
0
/*wireType*/
))
u1
:=
&
NinOptNative
{}
if
err
:=
proto
.
Unmarshal
(
data1
,
u1
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
!
u1
.
Equal
(
&
NinOptNative
{
Field4
:
proto
.
Int64
(
-
1
),
})
{
t
.
Error
(
"nullable unmarshaled int32 is not the same int64"
)
}
//test non-nullable int32 and int64
data2
,
err
:=
testSize
(
&
NidOptNative
{
Field3
:
-
1
,
},
"non nullable"
,
67
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
//change marshaled data2 to unmarshal into 4th field which is an int64
field3
:=
uint8
(
uint32
(
3
/*fieldNumber*/
)
<<
3
|
uint32
(
0
/*wireType*/
))
field4
:=
uint8
(
uint32
(
4
/*fieldNumber*/
)
<<
3
|
uint32
(
0
/*wireType*/
))
for
i
,
c
:=
range
data2
{
if
c
==
field4
{
data2
[
i
]
=
field3
}
else
if
c
==
field3
{
data2
[
i
]
=
field4
}
}
u2
:=
&
NidOptNative
{}
if
err
:=
proto
.
Unmarshal
(
data2
,
u2
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
!
u2
.
Equal
(
&
NidOptNative
{
Field4
:
-
1
,
})
{
t
.
Error
(
"non nullable unmarshaled int32 is not the same int64"
)
}
//test packed repeated int32 and int64
m4
:=
&
NinRepPackedNative
{
Field3
:
[]
int32
{
-
1
},
}
data4
,
err
:=
testSize
(
m4
,
"packed"
,
12
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
u4
:=
&
NinRepPackedNative
{}
if
err
:=
proto
.
Unmarshal
(
data4
,
u4
);
err
!=
nil
{
t
.
Error
(
err
)
}
if
err
:=
u4
.
VerboseEqual
(
m4
);
err
!=
nil
{
t
.
Fatalf
(
"%#v"
,
u4
)
}
//test repeated int32 and int64
if
_
,
err
:=
testSize
(
&
NinRepNative
{
Field3
:
[]
int32
{
-
1
},
},
"repeated"
,
11
);
err
!=
nil
{
t
.
Error
(
err
)
}
t
.
Logf
(
"tested all"
)
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/Makefile
deleted
100644 → 0
View file @
fb31f446
# Extensions for Protocol Buffers to create more go like structures.
#
# Copyright (c) 2015, Vastech SA (PTY) LTD. All rights reserved.
# http://github.com/gogo/protobuf/gogoproto
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
regenerate
:
go
install
github.com/gogo/protobuf/protoc-gen-combo
protoc-gen-combo
--version
=
"3.0.0"
--proto_path
=
../../../../../:../../protobuf/:. casttype.proto
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/casttype.proto
deleted
100644 → 0
View file @
fb31f446
// Copyright (c) 2015, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax
=
"proto2"
;
package
casttype
;
import
"github.com/gogo/protobuf/gogoproto/gogo.proto"
;
option
(
gogoproto.goproto_stringer_all
)
=
false
;
option
(
gogoproto.goproto_enum_prefix_all
)
=
false
;
option
(
gogoproto.goproto_getters_all
)
=
false
;
option
(
gogoproto.equal_all
)
=
true
;
option
(
gogoproto.verbose_equal_all
)
=
true
;
option
(
gogoproto.stringer_all
)
=
true
;
option
(
gogoproto.gostring_all
)
=
true
;
option
(
gogoproto.face_all
)
=
true
;
option
(
gogoproto.description_all
)
=
true
;
option
(
gogoproto.testgen_all
)
=
true
;
option
(
gogoproto.populate_all
)
=
true
;
option
(
gogoproto.benchgen_all
)
=
true
;
option
(
gogoproto.unmarshaler_all
)
=
false
;
option
(
gogoproto.marshaler_all
)
=
false
;
option
(
gogoproto.sizer_all
)
=
true
;
option
(
gogoproto.goproto_enum_stringer_all
)
=
false
;
option
(
gogoproto.enum_stringer_all
)
=
true
;
option
(
gogoproto.unsafe_marshaler_all
)
=
false
;
option
(
gogoproto.unsafe_unmarshaler_all
)
=
false
;
message
Castaway
{
optional
int64
Int32Ptr
=
1
[(
gogoproto.casttype
)
=
"int32"
];
optional
int64
Int32
=
2
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"int32"
];
optional
uint64
MyUint64Ptr
=
3
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
uint64
MyUint64
=
4
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
bytes
MyBytes
=
5
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.Bytes"
];
optional
bytes
NormalBytes
=
6
;
repeated
uint64
MyUint64s
=
7
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/both/casttype.pb.go
deleted
100644 → 0
View file @
fb31f446
This diff is collapsed.
Click to expand it.
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/both/casttype.proto
deleted
100644 → 0
View file @
fb31f446
// Copyright (c) 2015, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax
=
"proto2"
;
package
casttype
;
import
"github.com/gogo/protobuf/gogoproto/gogo.proto"
;
option
(
gogoproto.goproto_stringer_all
)
=
false
;
option
(
gogoproto.goproto_enum_prefix_all
)
=
false
;
option
(
gogoproto.goproto_getters_all
)
=
false
;
option
(
gogoproto.equal_all
)
=
true
;
option
(
gogoproto.verbose_equal_all
)
=
true
;
option
(
gogoproto.stringer_all
)
=
true
;
option
(
gogoproto.gostring_all
)
=
true
;
option
(
gogoproto.face_all
)
=
true
;
option
(
gogoproto.description_all
)
=
true
;
option
(
gogoproto.testgen_all
)
=
true
;
option
(
gogoproto.populate_all
)
=
true
;
option
(
gogoproto.benchgen_all
)
=
true
;
option
(
gogoproto.unmarshaler_all
)
=
true
;
option
(
gogoproto.marshaler_all
)
=
true
;
option
(
gogoproto.sizer_all
)
=
true
;
option
(
gogoproto.goproto_enum_stringer_all
)
=
false
;
option
(
gogoproto.enum_stringer_all
)
=
true
;
option
(
gogoproto.unsafe_marshaler_all
)
=
false
;
option
(
gogoproto.unsafe_unmarshaler_all
)
=
false
;
message
Castaway
{
optional
int64
Int32Ptr
=
1
[(
gogoproto.casttype
)
=
"int32"
];
optional
int64
Int32
=
2
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"int32"
];
optional
uint64
MyUint64Ptr
=
3
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
uint64
MyUint64
=
4
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
bytes
MyBytes
=
5
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.Bytes"
];
optional
bytes
NormalBytes
=
6
;
repeated
uint64
MyUint64s
=
7
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/both/casttypepb_test.go
deleted
100644 → 0
View file @
fb31f446
// Code generated by protoc-gen-gogo.
// source: combos/both/casttype.proto
// DO NOT EDIT!
/*
Package casttype is a generated protocol buffer package.
It is generated from these files:
combos/both/casttype.proto
It has these top-level messages:
Castaway
*/
package
casttype
import
testing
"testing"
import
math_rand
"math/rand"
import
time
"time"
import
github_com_gogo_protobuf_proto
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/proto"
import
github_com_gogo_protobuf_jsonpb
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/jsonpb"
import
fmt
"fmt"
import
go_parser
"go/parser"
import
proto
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/proto"
import
math
"math"
// discarding unused import gogoproto "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
func
TestCastawayProto
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
littlefuzz
:=
make
([]
byte
,
len
(
data
))
copy
(
littlefuzz
,
data
)
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
if
len
(
littlefuzz
)
>
0
{
fuzzamount
:=
100
for
i
:=
0
;
i
<
fuzzamount
;
i
++
{
littlefuzz
[
popr
.
Intn
(
len
(
littlefuzz
))]
=
byte
(
popr
.
Intn
(
256
))
littlefuzz
=
append
(
littlefuzz
,
byte
(
popr
.
Intn
(
256
)))
}
// shouldn't panic
_
=
github_com_gogo_protobuf_proto
.
Unmarshal
(
littlefuzz
,
msg
)
}
}
func
TestCastawayMarshalTo
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
size
:=
p
.
Size
()
data
:=
make
([]
byte
,
size
)
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
_
,
err
:=
p
.
MarshalTo
(
data
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
BenchmarkCastawayProtoMarshal
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
pops
:=
make
([]
*
Castaway
,
10000
)
for
i
:=
0
;
i
<
10000
;
i
++
{
pops
[
i
]
=
NewPopulatedCastaway
(
popr
,
false
)
}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
pops
[
i
%
10000
])
if
err
!=
nil
{
panic
(
err
)
}
total
+=
len
(
data
)
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
BenchmarkCastawayProtoUnmarshal
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
datas
:=
make
([][]
byte
,
10000
)
for
i
:=
0
;
i
<
10000
;
i
++
{
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
NewPopulatedCastaway
(
popr
,
false
))
if
err
!=
nil
{
panic
(
err
)
}
datas
[
i
]
=
data
}
msg
:=
&
Castaway
{}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
total
+=
len
(
datas
[
i
%
10000
])
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
datas
[
i
%
10000
],
msg
);
err
!=
nil
{
panic
(
err
)
}
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
TestCastawayJSON
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
marshaler
:=
github_com_gogo_protobuf_jsonpb
.
Marshaler
{}
jsondata
,
err
:=
marshaler
.
MarshalToString
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
err
=
github_com_gogo_protobuf_jsonpb
.
UnmarshalString
(
jsondata
,
msg
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Json Equal %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCastawayProtoText
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
data
:=
github_com_gogo_protobuf_proto
.
MarshalTextString
(
p
)
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
UnmarshalText
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCastawayProtoCompactText
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
data
:=
github_com_gogo_protobuf_proto
.
CompactTextString
(
p
)
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
UnmarshalText
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCasttypeDescription
(
t
*
testing
.
T
)
{
CasttypeDescription
()
}
func
TestCastawayVerboseEqual
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
panic
(
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
panic
(
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"%#v !VerboseEqual %#v, since %v"
,
msg
,
p
,
err
)
}
}
func
TestCastawayFace
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
msg
:=
p
.
TestProto
()
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"%#v !Face Equal %#v"
,
msg
,
p
)
}
}
func
TestCastawayGoString
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
s1
:=
p
.
GoString
()
s2
:=
fmt
.
Sprintf
(
"%#v"
,
p
)
if
s1
!=
s2
{
t
.
Fatalf
(
"GoString want %v got %v"
,
s1
,
s2
)
}
_
,
err
:=
go_parser
.
ParseExpr
(
s1
)
if
err
!=
nil
{
panic
(
err
)
}
}
func
TestCastawaySize
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
size2
:=
github_com_gogo_protobuf_proto
.
Size
(
p
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
size
:=
p
.
Size
()
if
len
(
data
)
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != marshalled size %v"
,
seed
,
size
,
len
(
data
))
}
if
size2
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != before marshal proto.Size %v"
,
seed
,
size
,
size2
)
}
size3
:=
github_com_gogo_protobuf_proto
.
Size
(
p
)
if
size3
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != after marshal proto.Size %v"
,
seed
,
size
,
size3
)
}
}
func
BenchmarkCastawaySize
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
pops
:=
make
([]
*
Castaway
,
1000
)
for
i
:=
0
;
i
<
1000
;
i
++
{
pops
[
i
]
=
NewPopulatedCastaway
(
popr
,
false
)
}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
total
+=
pops
[
i
%
1000
]
.
Size
()
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
TestCastawayStringer
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
s1
:=
p
.
String
()
s2
:=
fmt
.
Sprintf
(
"%v"
,
p
)
if
s1
!=
s2
{
t
.
Fatalf
(
"String want %v got %v"
,
s1
,
s2
)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/marshaler/casttype.pb.go
deleted
100644 → 0
View file @
fb31f446
This diff is collapsed.
Click to expand it.
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/marshaler/casttype.proto
deleted
100644 → 0
View file @
fb31f446
// Copyright (c) 2015, Vastech SA (PTY) LTD. All rights reserved.
// http://github.com/gogo/protobuf/gogoproto
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax
=
"proto2"
;
package
casttype
;
import
"github.com/gogo/protobuf/gogoproto/gogo.proto"
;
option
(
gogoproto.goproto_stringer_all
)
=
false
;
option
(
gogoproto.goproto_enum_prefix_all
)
=
false
;
option
(
gogoproto.goproto_getters_all
)
=
false
;
option
(
gogoproto.equal_all
)
=
true
;
option
(
gogoproto.verbose_equal_all
)
=
true
;
option
(
gogoproto.stringer_all
)
=
true
;
option
(
gogoproto.gostring_all
)
=
true
;
option
(
gogoproto.face_all
)
=
true
;
option
(
gogoproto.description_all
)
=
true
;
option
(
gogoproto.testgen_all
)
=
true
;
option
(
gogoproto.populate_all
)
=
true
;
option
(
gogoproto.benchgen_all
)
=
true
;
option
(
gogoproto.unmarshaler_all
)
=
false
;
option
(
gogoproto.marshaler_all
)
=
true
;
option
(
gogoproto.sizer_all
)
=
true
;
option
(
gogoproto.goproto_enum_stringer_all
)
=
false
;
option
(
gogoproto.enum_stringer_all
)
=
true
;
option
(
gogoproto.unsafe_marshaler_all
)
=
false
;
option
(
gogoproto.unsafe_unmarshaler_all
)
=
false
;
message
Castaway
{
optional
int64
Int32Ptr
=
1
[(
gogoproto.casttype
)
=
"int32"
];
optional
int64
Int32
=
2
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"int32"
];
optional
uint64
MyUint64Ptr
=
3
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
uint64
MyUint64
=
4
[(
gogoproto.nullable
)
=
false
,
(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
optional
bytes
MyBytes
=
5
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.Bytes"
];
optional
bytes
NormalBytes
=
6
;
repeated
uint64
MyUint64s
=
7
[(
gogoproto.casttype
)
=
"github.com/gogo/protobuf/test/casttype.MyUint64Type"
];
}
vendor/QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/test/casttype/combos/marshaler/casttypepb_test.go
deleted
100644 → 0
View file @
fb31f446
// Code generated by protoc-gen-gogo.
// source: combos/marshaler/casttype.proto
// DO NOT EDIT!
/*
Package casttype is a generated protocol buffer package.
It is generated from these files:
combos/marshaler/casttype.proto
It has these top-level messages:
Castaway
*/
package
casttype
import
testing
"testing"
import
math_rand
"math/rand"
import
time
"time"
import
github_com_gogo_protobuf_proto
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/proto"
import
github_com_gogo_protobuf_jsonpb
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/jsonpb"
import
fmt
"fmt"
import
go_parser
"go/parser"
import
proto
"QmfH4HuZyN1p2wQLWWkXC91Z76435xKrBVfLQ2MY8ayG5R/gogo-protobuf/proto"
import
math
"math"
// discarding unused import gogoproto "github.com/gogo/protobuf/gogoproto"
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
func
TestCastawayProto
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
littlefuzz
:=
make
([]
byte
,
len
(
data
))
copy
(
littlefuzz
,
data
)
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
if
len
(
littlefuzz
)
>
0
{
fuzzamount
:=
100
for
i
:=
0
;
i
<
fuzzamount
;
i
++
{
littlefuzz
[
popr
.
Intn
(
len
(
littlefuzz
))]
=
byte
(
popr
.
Intn
(
256
))
littlefuzz
=
append
(
littlefuzz
,
byte
(
popr
.
Intn
(
256
)))
}
// shouldn't panic
_
=
github_com_gogo_protobuf_proto
.
Unmarshal
(
littlefuzz
,
msg
)
}
}
func
TestCastawayMarshalTo
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
size
:=
p
.
Size
()
data
:=
make
([]
byte
,
size
)
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
_
,
err
:=
p
.
MarshalTo
(
data
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
for
i
:=
range
data
{
data
[
i
]
=
byte
(
popr
.
Intn
(
256
))
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
BenchmarkCastawayProtoMarshal
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
pops
:=
make
([]
*
Castaway
,
10000
)
for
i
:=
0
;
i
<
10000
;
i
++
{
pops
[
i
]
=
NewPopulatedCastaway
(
popr
,
false
)
}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
pops
[
i
%
10000
])
if
err
!=
nil
{
panic
(
err
)
}
total
+=
len
(
data
)
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
BenchmarkCastawayProtoUnmarshal
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
datas
:=
make
([][]
byte
,
10000
)
for
i
:=
0
;
i
<
10000
;
i
++
{
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
NewPopulatedCastaway
(
popr
,
false
))
if
err
!=
nil
{
panic
(
err
)
}
datas
[
i
]
=
data
}
msg
:=
&
Castaway
{}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
total
+=
len
(
datas
[
i
%
10000
])
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
datas
[
i
%
10000
],
msg
);
err
!=
nil
{
panic
(
err
)
}
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
TestCastawayJSON
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
marshaler
:=
github_com_gogo_protobuf_jsonpb
.
Marshaler
{}
jsondata
,
err
:=
marshaler
.
MarshalToString
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
msg
:=
&
Castaway
{}
err
=
github_com_gogo_protobuf_jsonpb
.
UnmarshalString
(
jsondata
,
msg
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Json Equal %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCastawayProtoText
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
data
:=
github_com_gogo_protobuf_proto
.
MarshalTextString
(
p
)
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
UnmarshalText
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCastawayProtoCompactText
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
data
:=
github_com_gogo_protobuf_proto
.
CompactTextString
(
p
)
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
UnmarshalText
(
data
,
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, %#v !VerboseProto %#v, since %v"
,
seed
,
msg
,
p
,
err
)
}
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"seed = %d, %#v !Proto %#v"
,
seed
,
msg
,
p
)
}
}
func
TestCasttypeDescription
(
t
*
testing
.
T
)
{
CasttypeDescription
()
}
func
TestCastawayVerboseEqual
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
panic
(
err
)
}
msg
:=
&
Castaway
{}
if
err
:=
github_com_gogo_protobuf_proto
.
Unmarshal
(
data
,
msg
);
err
!=
nil
{
panic
(
err
)
}
if
err
:=
p
.
VerboseEqual
(
msg
);
err
!=
nil
{
t
.
Fatalf
(
"%#v !VerboseEqual %#v, since %v"
,
msg
,
p
,
err
)
}
}
func
TestCastawayFace
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
msg
:=
p
.
TestProto
()
if
!
p
.
Equal
(
msg
)
{
t
.
Fatalf
(
"%#v !Face Equal %#v"
,
msg
,
p
)
}
}
func
TestCastawayGoString
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
s1
:=
p
.
GoString
()
s2
:=
fmt
.
Sprintf
(
"%#v"
,
p
)
if
s1
!=
s2
{
t
.
Fatalf
(
"GoString want %v got %v"
,
s1
,
s2
)
}
_
,
err
:=
go_parser
.
ParseExpr
(
s1
)
if
err
!=
nil
{
panic
(
err
)
}
}
func
TestCastawaySize
(
t
*
testing
.
T
)
{
seed
:=
time
.
Now
()
.
UnixNano
()
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
seed
))
p
:=
NewPopulatedCastaway
(
popr
,
true
)
size2
:=
github_com_gogo_protobuf_proto
.
Size
(
p
)
data
,
err
:=
github_com_gogo_protobuf_proto
.
Marshal
(
p
)
if
err
!=
nil
{
t
.
Fatalf
(
"seed = %d, err = %v"
,
seed
,
err
)
}
size
:=
p
.
Size
()
if
len
(
data
)
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != marshalled size %v"
,
seed
,
size
,
len
(
data
))
}
if
size2
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != before marshal proto.Size %v"
,
seed
,
size
,
size2
)
}
size3
:=
github_com_gogo_protobuf_proto
.
Size
(
p
)
if
size3
!=
size
{
t
.
Errorf
(
"seed = %d, size %v != after marshal proto.Size %v"
,
seed
,
size
,
size3
)
}
}
func
BenchmarkCastawaySize
(
b
*
testing
.
B
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
616
))
total
:=
0
pops
:=
make
([]
*
Castaway
,
1000
)
for
i
:=
0
;
i
<
1000
;
i
++
{
pops
[
i
]
=
NewPopulatedCastaway
(
popr
,
false
)
}
b
.
ResetTimer
()
for
i
:=
0
;
i
<
b
.
N
;
i
++
{
total
+=
pops
[
i
%
1000
]
.
Size
()
}
b
.
SetBytes
(
int64
(
total
/
b
.
N
))
}
func
TestCastawayStringer
(
t
*
testing
.
T
)
{
popr
:=
math_rand
.
New
(
math_rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
p
:=
NewPopulatedCastaway
(
popr
,
false
)
s1
:=
p
.
String
()
s2
:=
fmt
.
Sprintf
(
"%v"
,
p
)
if
s1
!=
s2
{
t
.
Fatalf
(
"String want %v got %v"
,
s1
,
s2
)
}
}
//These tests are generated by github.com/gogo/protobuf/plugin/testgen
Prev
1
2
3
4
5
6
7
8
9
…
50
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment