Skip to content

Commit

Permalink
tests: reduced 1m30s time for testing
Browse files Browse the repository at this point in the history
* *: use pkg/utils/serverutils for listening addrs
* *: rm time.Sleep for most packages
* run.sh: run in parallel, simplify install protoc func
* thriftrpc: run in parallel
* thrift_streaming: updated exitserver, use update_xxx_dep.sh if needed
* ci: seperate compliant check and run tests
* common: remove the pkg, moved to pkg/utils/serverutils
  • Loading branch information
xiaost committed Sep 23, 2024
1 parent 222be12 commit e8c9a88
Show file tree
Hide file tree
Showing 47 changed files with 833 additions and 753 deletions.
15 changes: 9 additions & 6 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,25 @@ name: Push Check
on: [pull_request]

jobs:
build:
run-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- name: Run Tests
run: ./run.sh

compliant-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check License Header
uses: apache/skywalking-eyes/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: typos-action
uses: crate-ci/[email protected]

- name: Run Tests
run: ./run.sh
- name: Check Spell
uses: crate-ci/[email protected]
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,18 @@ output/*
*.test
testdata/

# Go workspace
go.work
go.work.sum

# Files produced by run.sh
kitex_gen/
kitex_gen_slim/
kitex_gen_noDefSerdes/
grpc_gen/
go.mod
go.sum
*.bak
bin
thrift_streaming/binaries
thrift_streaming/kitex_gen/
Expand Down
32 changes: 0 additions & 32 deletions common/common.go

This file was deleted.

10 changes: 7 additions & 3 deletions generic/http/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,19 @@ import (
"time"

"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils/serverutils"
"github.com/cloudwego/kitex/client/callopt"
"github.com/cloudwego/kitex/pkg/generic"
"github.com/cloudwego/kitex/pkg/klog"
)

var testaddr string

func TestMain(m *testing.M) {
testaddr = serverutils.NextListenAddr()
klog.SetLevel(klog.LevelFatal)
svc := runServer()
time.Sleep(100 * time.Millisecond)
svc := runServer(testaddr)
serverutils.Wait(testaddr)
m.Run()
svc.Stop()
}
Expand All @@ -41,7 +45,7 @@ func TestClient(t *testing.T) {
test.Assert(t, err == nil, err)
g, err := generic.HTTPThriftGeneric(p)
test.Assert(t, err == nil, err)
cli := newGenericClient("a.b.c", g, address)
cli := newGenericClient("a.b.c", g, testaddr)

body := map[string]interface{}{
"text": "text",
Expand Down
6 changes: 2 additions & 4 deletions generic/http/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,8 @@ func assert(expected, actual interface{}) error {
return nil
}

const address = "localhost:9009"

func runServer() server.Server {
addr, _ := net.ResolveTCPAddr("tcp", address)
func runServer(listenaddr string) server.Server {
addr, _ := net.ResolveTCPAddr("tcp", listenaddr)
svc := bizservice.NewServer(new(BizServiceImpl), server.WithServiceAddr(addr))
go func() {
if err := svc.Run(); err != nil {
Expand Down
24 changes: 18 additions & 6 deletions generic/json/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"time"

"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils/serverutils"
"github.com/cloudwego/kitex/client"
"github.com/cloudwego/kitex/client/genericclient"
"github.com/cloudwego/kitex/pkg/generic"
Expand All @@ -30,10 +31,18 @@ import (
"github.com/cloudwego/kitex/transport"
)

var (
testaddr string
genericAddr string
)

func TestMain(m *testing.M) {
svc := runServer()
gsvc := runGenericServer()
time.Sleep(100 * time.Millisecond)
testaddr = serverutils.NextListenAddr()
genericAddr = serverutils.NextListenAddr()
svc := runServer(testaddr)
gsvc := runGenericServer(genericAddr)
serverutils.Wait(testaddr)
serverutils.Wait(genericAddr)
m.Run()
svc.Stop()
gsvc.Stop()
Expand All @@ -45,7 +54,7 @@ func TestClient(t *testing.T) {
g, err := generic.JSONThriftGeneric(p)
test.Assert(t, err == nil)

cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(address))
cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(testaddr))
test.Assert(t, err == nil)

req := map[string]interface{}{
Expand Down Expand Up @@ -78,7 +87,7 @@ func TestGeneric(t *testing.T) {
g, err := generic.JSONThriftGeneric(p)
test.Assert(t, err == nil)

cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(address))
cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(testaddr))
test.Assert(t, err == nil)

req := map[string]interface{}{
Expand Down Expand Up @@ -117,7 +126,10 @@ func TestBizErr(t *testing.T) {
g, err := generic.JSONThriftGeneric(p)
test.Assert(t, err == nil)

cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(genericAddress), client.WithMetaHandler(transmeta.ClientTTHeaderHandler), client.WithTransportProtocol(transport.TTHeader))
cli, err := genericclient.NewClient("a.b.c", g,
client.WithHostPorts(genericAddr),
client.WithMetaHandler(transmeta.ClientTTHeaderHandler),
client.WithTransportProtocol(transport.TTHeader))
test.Assert(t, err == nil)
_, err = cli.GenericCall(context.Background(), "Echo", nil)
bizerr, ok := kerrors.FromBizStatusError(err)
Expand Down
12 changes: 4 additions & 8 deletions generic/json/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,8 @@ func assert(expected, actual interface{}) error {
return nil
}

const address = "localhost:9009"

func runServer() server.Server {
addr, _ := net.ResolveTCPAddr("tcp", address)
func runServer(listenaddr string) server.Server {
addr, _ := net.ResolveTCPAddr("tcp", listenaddr)
svc := echoservice.NewServer(new(EchoServiceImpl), server.WithServiceAddr(addr))
go func() {
if err := svc.Run(); err != nil {
Expand All @@ -47,10 +45,8 @@ func runServer() server.Server {
return svc
}

const genericAddress = "localhost:9010"

func runGenericServer() server.Server {
addr, _ := net.ResolveTCPAddr("tcp", genericAddress)
func runGenericServer(listenaddr string) server.Server {
addr, _ := net.ResolveTCPAddr("tcp", listenaddr)
p, err := generic.NewThriftFileProvider("../../idl/tenant.thrift")
if err != nil {
panic(err)
Expand Down
12 changes: 8 additions & 4 deletions generic/map/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"time"

"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils/serverutils"
"github.com/cloudwego/kitex/client"
"github.com/cloudwego/kitex/client/genericclient"
"github.com/cloudwego/kitex/pkg/generic"
Expand All @@ -29,10 +30,13 @@ import (
"github.com/cloudwego/kitex/transport"
)

var testaddr string

func TestMain(m *testing.M) {
svc := runServer()
testaddr = serverutils.NextListenAddr()
svc := runServer(testaddr)
gsvc := runGenericServer()
time.Sleep(100 * time.Millisecond)
serverutils.Wait(testaddr)
m.Run()
svc.Stop()
gsvc.Stop()
Expand All @@ -44,7 +48,7 @@ func TestClient(t *testing.T) {
g, err := generic.MapThriftGeneric(p)
test.Assert(t, err == nil)

cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(address))
cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(testaddr))
test.Assert(t, err == nil)

req := map[string]interface{}{
Expand Down Expand Up @@ -95,7 +99,7 @@ func TestGeneric(t *testing.T) {
g, err := generic.MapThriftGeneric(p)
test.Assert(t, err == nil)

cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(address))
cli, err := genericclient.NewClient("a.b.c", g, client.WithHostPorts(testaddr))
test.Assert(t, err == nil)

req := map[string]interface{}{
Expand Down
6 changes: 2 additions & 4 deletions generic/map/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,8 @@ func assert(expected, actual interface{}) error {
return nil
}

const address = "localhost:9009"

func runServer() server.Server {
addr, _ := net.ResolveTCPAddr("tcp", address)
func runServer(listenaddr string) server.Server {
addr, _ := net.ResolveTCPAddr("tcp", listenaddr)
svc := echoservice.NewServer(new(EchoServiceImpl), server.WithServiceAddr(addr))
go func() {
if err := svc.Run(); err != nil {
Expand Down
6 changes: 3 additions & 3 deletions kitexgrpc/abc/abc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ package abc
import (
"testing"

"github.com/cloudwego/kitex-tests/common"
"github.com/cloudwego/kitex-tests/kitexgrpc/abc/consts"
"github.com/cloudwego/kitex-tests/kitexgrpc/abc/servicea"
"github.com/cloudwego/kitex-tests/kitexgrpc/abc/serviceb"
"github.com/cloudwego/kitex-tests/kitexgrpc/abc/servicec"
"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils/serverutils"
)

func TestMain(m *testing.M) {
Expand All @@ -43,8 +43,8 @@ func TestMain(m *testing.M) {
}
}()

common.WaitServer(consts.ServiceCAddr)
common.WaitServer(consts.ServiceBAddr)
serverutils.Wait(consts.ServiceCAddr)
serverutils.Wait(consts.ServiceBAddr)

m.Run()
}
Expand Down
10 changes: 5 additions & 5 deletions kitexgrpc/compressor/grpc_compressor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (

"github.com/cloudwego/kitex-tests/kitex_gen/protobuf/grpc_demo/servicea"
"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils"
"github.com/cloudwego/kitex-tests/pkg/utils/clientutils"
client_opt "github.com/cloudwego/kitex/client"
"github.com/cloudwego/kitex/client/callopt"
"github.com/cloudwego/kitex/pkg/endpoint"
Expand All @@ -46,7 +46,7 @@ func TestKitexWithoutCompressor(t *testing.T) {
time.Sleep(50 * time.Millisecond)
client, err := GetClient(hostport)
test.Assert(t, err == nil, err)
defer utils.CallClose(client)
defer clientutils.CallClose(client)
resp, err := client.RunUnary()
test.Assert(t, err == nil, err)
test.Assert(t, resp != nil && resp.Message == "Kitex Hello!")
Expand All @@ -73,7 +73,7 @@ func TestKitexCompressor(t *testing.T) {
time.Sleep(50 * time.Millisecond)
client, err := GetClient(hostport)
test.Assert(t, err == nil, err)
defer utils.CallClose(client)
defer clientutils.CallClose(client)

resp, err := client.RunUnary(callopt.WithGRPCCompressor(kitex_gzip.Name))
test.Assert(t, err == nil, err)
Expand Down Expand Up @@ -105,7 +105,7 @@ func TestKitexCompressorWithGRPCClient(t *testing.T) {
defer conn.Close()
client, err := GetGRPCClient(hostport)
test.Assert(t, err == nil, err)
defer utils.CallClose(client)
defer clientutils.CallClose(client)

resp, err := client.RunUnary(grpc.UseCompressor(gzip.Name))
test.Assert(t, err == nil, err)
Expand Down Expand Up @@ -145,7 +145,7 @@ func TestKitexCompressorWithGRPCServer(t *testing.T) {

client, err := GetClient(hostport, client_opt.WithMiddleware(ServiceNameMW))
test.Assert(t, err == nil, err)
defer utils.CallClose(client)
defer clientutils.CallClose(client)

resp, err := client.RunUnary(callopt.WithGRPCCompressor(kitex_gzip.Name))
test.Assert(t, err == nil, err)
Expand Down
12 changes: 6 additions & 6 deletions kitexgrpc/multi_service/multi_service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
"github.com/cloudwego/kitex-tests/kitex_gen/protobuf/grpc_multi_service_2"
servicea2 "github.com/cloudwego/kitex-tests/kitex_gen/protobuf/grpc_multi_service_2/servicea"
"github.com/cloudwego/kitex-tests/pkg/test"
"github.com/cloudwego/kitex-tests/pkg/utils"
"github.com/cloudwego/kitex-tests/pkg/utils/clientutils"
)

type ServiceAImpl struct{}
Expand Down Expand Up @@ -94,7 +94,7 @@ func TestMultiService(t *testing.T) {

clientA, err := servicea.NewClient("ServiceA", client.WithTransportProtocol(transport.GRPC), client.WithHostPorts(hostport))
test.Assert(t, err == nil, err)
defer utils.CallClose(clientA)
defer clientutils.CallClose(clientA)

streamCliA, err := clientA.EchoA(context.Background())
test.Assert(t, err == nil, err)
Expand All @@ -106,7 +106,7 @@ func TestMultiService(t *testing.T) {

clientB, err := serviceb.NewClient("ServiceB", client.WithTransportProtocol(transport.GRPC), client.WithHostPorts(hostport))
test.Assert(t, err == nil, err)
defer utils.CallClose(clientB)
defer clientutils.CallClose(clientB)

streamCliB, err := clientB.EchoB(context.Background())
test.Assert(t, err == nil, err)
Expand All @@ -127,7 +127,7 @@ func TestUnknownException(t *testing.T) {

clientC, err := servicec.NewClient("ServiceC", client.WithTransportProtocol(transport.GRPC), client.WithHostPorts(hostport))
test.Assert(t, err == nil, err)
defer utils.CallClose(clientC)
defer clientutils.CallClose(clientC)

streamCliC, err := clientC.EchoC(context.Background())
test.Assert(t, err == nil, err)
Expand All @@ -146,7 +146,7 @@ func TestUnknownExceptionWithMultiService(t *testing.T) {
// unknown service error
clientC, err := servicec.NewClient("ServiceC", client.WithTransportProtocol(transport.GRPC), client.WithHostPorts(hostport))
test.Assert(t, err == nil, err)
defer utils.CallClose(clientC)
defer clientutils.CallClose(clientC)

streamCliC, err := clientC.EchoC(context.Background())
test.Assert(t, err == nil, err)
Expand All @@ -158,7 +158,7 @@ func TestUnknownExceptionWithMultiService(t *testing.T) {
// unknown method error
clientA, err := servicea2.NewClient("ServiceA", client.WithTransportProtocol(transport.GRPC), client.WithHostPorts(hostport))
test.Assert(t, err == nil, err)
defer utils.CallClose(clientA)
defer clientutils.CallClose(clientA)

streamCliA, err := clientA.Echo(context.Background())
test.Assert(t, err == nil, err)
Expand Down
Loading

0 comments on commit e8c9a88

Please sign in to comment.