Skip to content

Commit

Permalink
Merge pull request #650 from ackleymi/main
Browse files Browse the repository at this point in the history
Adds resendreqchunksize and lastseqnumprocessed test suites, refactors test runners
  • Loading branch information
ackleymi authored Jul 3, 2024
2 parents f6ff247 + ab7cd32 commit e3a2994
Show file tree
Hide file tree
Showing 47 changed files with 1,157 additions and 21 deletions.
218 changes: 205 additions & 13 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,118 @@ jobs:
version: v1.57.2

build:
name: build
name: Build Source
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Build
run: make build-src

unittest:
name: Unit Tests
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Start MongoDB
uses: supercharge/[email protected]
with:
mongodb-replica-set: replicaset
- name: Unit test
env:
MONGODB_TEST_CXN: mongodb://localhost:27017
run: make test-ci

servermem:
name: Server MemoryStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST

serverfile:
name: Server FileStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: file
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST

servermongo:
name: Server MongoStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
store-type:
-
- memory
- file
- mongo
fix-version:
-
- fix40
- fix41
- fix42
Expand All @@ -66,15 +166,107 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Unit test
- name: Acceptance test
env:
GO111MODULE: on
MONGODB_TEST_CXN: mongodb://localhost:27017
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: mongo
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST

resendreqchunksize:
name: ResendRequestChunkSize Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: ${{ matrix.store-type }}
run: if [ -z $FIX_TEST ] && [ -z $STORE_TYPE ]; then make build-src && make test-ci; fi
STORE_TYPE: memory
ACCEPTANCE_SET: resendreqchunksize
run: make generate-ci && make build && make $FIX_TEST

lastseqnumprocessed:
name: LastSeqNumProcessed Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
MONGODB_TEST_CXN: mongodb://localhost:27017
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: ${{ matrix.store-type }}
run: if [ $FIX_TEST ] && [ $STORE_TYPE ]; then make generate-ci && make build && make $FIX_TEST; fi
STORE_TYPE: memory
ACCEPTANCE_SET: lastseqnumprocessed
run: make generate-ci && make build && make $FIX_TEST

# nextexpectedseqnum:
# name: NextExpectedSeqNum Suite
# runs-on: ubuntu-latest
# strategy:
# matrix:
# go: [1.21]
# fix-version:
# - fix44
# - fix50
# - fix50sp1
# - fix50sp2
# steps:
# - name: Setup
# uses: actions/setup-go@v2
# with:
# go-version: ${{ matrix.go }}
# - name: Check out source
# uses: actions/checkout@v2
# - name: Install ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '3.0'
# - name: Acceptance test
# env:
# GO111MODULE: on
# FIX_TEST: ${{ matrix.fix-version }}
# STORE_TYPE: memory
# ACCEPTANCE_SET: nextexpectedseqnum
# run: make generate-ci && make build && make $FIX_TEST
22 changes: 14 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,30 @@ else
STORE := memory
endif

ifdef ACCEPTANCE_SET
TEST_SET := $(ACCEPTANCE_SET)
else
TEST_SET := server
endif

build-test-srv:
cd _test; go build -v -o echo_server ./test-server/
fix40:
cd _test; ./runat.sh $@.cfg 5001 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5001 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix41:
cd _test; ./runat.sh $@.cfg 5002 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5002 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix42:
cd _test; ./runat.sh $@.cfg 5003 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5003 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix43:
cd _test; ./runat.sh $@.cfg 5004 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5004 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix44:
cd _test; ./runat.sh $@.cfg 5005 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5005 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix50:
cd _test; ./runat.sh $@.cfg 5006 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5006 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix50sp1:
cd _test; ./runat.sh $@.cfg 5007 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5007 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
fix50sp2:
cd _test; ./runat.sh $@.cfg 5008 $(STORE) "definitions/server/$@/*.def"
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5008 $(STORE) "definitions/$(TEST_SET)/$@/*.def"

ACCEPT_SUITE=fix40 fix41 fix42 fix43 fix44 fix50 fix50sp1 fix50sp2
accept: $(ACCEPT_SUITE)
Expand Down
11 changes: 11 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix42.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[DEFAULT]
SocketAcceptPort=5003
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIX.4.2
DataDictionary=../spec/FIX42.xml
EnableLastMsgSeqNumProcessed=Y
11 changes: 11 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix43.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[DEFAULT]
SocketAcceptPort=5004
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIX.4.3
DataDictionary=../spec/FIX43.xml
EnableLastMsgSeqNumProcessed=Y
11 changes: 11 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix44.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[DEFAULT]
SocketAcceptPort=5005
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIX.4.4
DataDictionary=../spec/FIX44.xml
EnableLastMsgSeqNumProcessed=Y
14 changes: 14 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix50.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[DEFAULT]
SocketAcceptPort=5006
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIXT.1.1
SessionQualifier=FIX50
DefaultApplVerID=FIX.5.0
TransportDataDictionary=../spec/FIXT11.xml
AppDataDictionary=../spec/FIX50.xml
EnableLastMsgSeqNumProcessed=Y
14 changes: 14 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix50sp1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[DEFAULT]
SocketAcceptPort=5007
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIXT.1.1
SessionQualifier=FIX50SP1
DefaultApplVerID=FIX.5.0SP1
TransportDataDictionary=../spec/FIXT11.xml
AppDataDictionary=../spec/FIX50SP1.xml
EnableLastMsgSeqNumProcessed=Y
14 changes: 14 additions & 0 deletions _test/cfg/lastseqnumprocessed/fix50sp2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[DEFAULT]
SocketAcceptPort=5008
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIXT.1.1
SessionQualifier=FIX50SP2
DefaultApplVerID=FIX.5.0SP2
TransportDataDictionary=../spec/FIXT11.xml
AppDataDictionary=../spec/FIX50SP2.xml
EnableLastMsgSeqNumProcessed=Y
11 changes: 11 additions & 0 deletions _test/cfg/resendreqchunksize/fix40.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[DEFAULT]
SocketAcceptPort=5001
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIX.4.0
DataDictionary=../spec/FIX40.xml
ResendRequestChunkSize=5
11 changes: 11 additions & 0 deletions _test/cfg/resendreqchunksize/fix41.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[DEFAULT]
SocketAcceptPort=5002
SenderCompID=ISLD
TargetCompID=TW
ResetOnLogon=Y
FileLogPath=tmp

[SESSION]
BeginString=FIX.4.1
DataDictionary=../spec/FIX41.xml
ResendRequestChunkSize=5
1 change: 1 addition & 0 deletions _test/fix42.cfg → _test/cfg/resendreqchunksize/fix42.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ FileLogPath=tmp
[SESSION]
BeginString=FIX.4.2
DataDictionary=../spec/FIX42.xml
ResendRequestChunkSize=5
Loading

0 comments on commit e3a2994

Please sign in to comment.