Skip to content

Commit e3a2994

Browse files
authored
Merge pull request #650 from ackleymi/main
Adds resendreqchunksize and lastseqnumprocessed test suites, refactors test runners
2 parents f6ff247 + ab7cd32 commit e3a2994

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1157
-21
lines changed

.github/workflows/ci.yaml

Lines changed: 205 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,118 @@ jobs:
3131
version: v1.57.2
3232

3333
build:
34-
name: build
34+
name: Build Source
35+
runs-on: ubuntu-latest
36+
strategy:
37+
matrix:
38+
go: [1.21]
39+
steps:
40+
- name: Setup
41+
uses: actions/setup-go@v2
42+
with:
43+
go-version: ${{ matrix.go }}
44+
- name: Check out source
45+
uses: actions/checkout@v2
46+
- name: Build
47+
run: make build-src
48+
49+
unittest:
50+
name: Unit Tests
51+
runs-on: ubuntu-latest
52+
strategy:
53+
matrix:
54+
go: [1.21]
55+
steps:
56+
- name: Setup
57+
uses: actions/setup-go@v2
58+
with:
59+
go-version: ${{ matrix.go }}
60+
- name: Check out source
61+
uses: actions/checkout@v2
62+
- name: Start MongoDB
63+
uses: supercharge/mongodb-github-action@1.8.0
64+
with:
65+
mongodb-replica-set: replicaset
66+
- name: Unit test
67+
env:
68+
MONGODB_TEST_CXN: mongodb://localhost:27017
69+
run: make test-ci
70+
71+
servermem:
72+
name: Server MemoryStore Suite
73+
runs-on: ubuntu-latest
74+
strategy:
75+
matrix:
76+
go: [1.21]
77+
fix-version:
78+
- fix40
79+
- fix41
80+
- fix42
81+
- fix43
82+
- fix44
83+
- fix50
84+
- fix50sp1
85+
- fix50sp2
86+
steps:
87+
- name: Setup
88+
uses: actions/setup-go@v2
89+
with:
90+
go-version: ${{ matrix.go }}
91+
- name: Check out source
92+
uses: actions/checkout@v2
93+
- name: Install ruby
94+
uses: ruby/setup-ruby@v1
95+
with:
96+
ruby-version: '3.0'
97+
- name: Acceptance test
98+
env:
99+
GO111MODULE: on
100+
FIX_TEST: ${{ matrix.fix-version }}
101+
STORE_TYPE: memory
102+
ACCEPTANCE_SET: server
103+
run: make generate-ci && make build && make $FIX_TEST
104+
105+
serverfile:
106+
name: Server FileStore Suite
107+
runs-on: ubuntu-latest
108+
strategy:
109+
matrix:
110+
go: [1.21]
111+
fix-version:
112+
- fix40
113+
- fix41
114+
- fix42
115+
- fix43
116+
- fix44
117+
- fix50
118+
- fix50sp1
119+
- fix50sp2
120+
steps:
121+
- name: Setup
122+
uses: actions/setup-go@v2
123+
with:
124+
go-version: ${{ matrix.go }}
125+
- name: Check out source
126+
uses: actions/checkout@v2
127+
- name: Install ruby
128+
uses: ruby/setup-ruby@v1
129+
with:
130+
ruby-version: '3.0'
131+
- name: Acceptance test
132+
env:
133+
GO111MODULE: on
134+
FIX_TEST: ${{ matrix.fix-version }}
135+
STORE_TYPE: file
136+
ACCEPTANCE_SET: server
137+
run: make generate-ci && make build && make $FIX_TEST
138+
139+
servermongo:
140+
name: Server MongoStore Suite
35141
runs-on: ubuntu-latest
36142
strategy:
37143
matrix:
38144
go: [1.21]
39-
store-type:
40-
-
41-
- memory
42-
- file
43-
- mongo
44145
fix-version:
45-
-
46146
- fix40
47147
- fix41
48148
- fix42
@@ -66,15 +166,107 @@ jobs:
66166
uses: ruby/setup-ruby@v1
67167
with:
68168
ruby-version: '3.0'
69-
- name: Unit test
169+
- name: Acceptance test
170+
env:
171+
GO111MODULE: on
172+
MONGODB_TEST_CXN: mongodb://localhost:27017
173+
FIX_TEST: ${{ matrix.fix-version }}
174+
STORE_TYPE: mongo
175+
ACCEPTANCE_SET: server
176+
run: make generate-ci && make build && make $FIX_TEST
177+
178+
resendreqchunksize:
179+
name: ResendRequestChunkSize Suite
180+
runs-on: ubuntu-latest
181+
strategy:
182+
matrix:
183+
go: [1.21]
184+
fix-version:
185+
- fix40
186+
- fix41
187+
- fix42
188+
- fix43
189+
- fix44
190+
- fix50
191+
- fix50sp1
192+
- fix50sp2
193+
steps:
194+
- name: Setup
195+
uses: actions/setup-go@v2
196+
with:
197+
go-version: ${{ matrix.go }}
198+
- name: Check out source
199+
uses: actions/checkout@v2
200+
- name: Install ruby
201+
uses: ruby/setup-ruby@v1
202+
with:
203+
ruby-version: '3.0'
204+
- name: Acceptance test
70205
env:
206+
GO111MODULE: on
71207
FIX_TEST: ${{ matrix.fix-version }}
72-
STORE_TYPE: ${{ matrix.store-type }}
73-
run: if [ -z $FIX_TEST ] && [ -z $STORE_TYPE ]; then make build-src && make test-ci; fi
208+
STORE_TYPE: memory
209+
ACCEPTANCE_SET: resendreqchunksize
210+
run: make generate-ci && make build && make $FIX_TEST
211+
212+
lastseqnumprocessed:
213+
name: LastSeqNumProcessed Suite
214+
runs-on: ubuntu-latest
215+
strategy:
216+
matrix:
217+
go: [1.21]
218+
fix-version:
219+
- fix42
220+
- fix43
221+
- fix44
222+
- fix50
223+
- fix50sp1
224+
- fix50sp2
225+
steps:
226+
- name: Setup
227+
uses: actions/setup-go@v2
228+
with:
229+
go-version: ${{ matrix.go }}
230+
- name: Check out source
231+
uses: actions/checkout@v2
232+
- name: Install ruby
233+
uses: ruby/setup-ruby@v1
234+
with:
235+
ruby-version: '3.0'
74236
- name: Acceptance test
75237
env:
76238
GO111MODULE: on
77-
MONGODB_TEST_CXN: mongodb://localhost:27017
78239
FIX_TEST: ${{ matrix.fix-version }}
79-
STORE_TYPE: ${{ matrix.store-type }}
80-
run: if [ $FIX_TEST ] && [ $STORE_TYPE ]; then make generate-ci && make build && make $FIX_TEST; fi
240+
STORE_TYPE: memory
241+
ACCEPTANCE_SET: lastseqnumprocessed
242+
run: make generate-ci && make build && make $FIX_TEST
243+
244+
# nextexpectedseqnum:
245+
# name: NextExpectedSeqNum Suite
246+
# runs-on: ubuntu-latest
247+
# strategy:
248+
# matrix:
249+
# go: [1.21]
250+
# fix-version:
251+
# - fix44
252+
# - fix50
253+
# - fix50sp1
254+
# - fix50sp2
255+
# steps:
256+
# - name: Setup
257+
# uses: actions/setup-go@v2
258+
# with:
259+
# go-version: ${{ matrix.go }}
260+
# - name: Check out source
261+
# uses: actions/checkout@v2
262+
# - name: Install ruby
263+
# uses: ruby/setup-ruby@v1
264+
# with:
265+
# ruby-version: '3.0'
266+
# - name: Acceptance test
267+
# env:
268+
# GO111MODULE: on
269+
# FIX_TEST: ${{ matrix.fix-version }}
270+
# STORE_TYPE: memory
271+
# ACCEPTANCE_SET: nextexpectedseqnum
272+
# run: make generate-ci && make build && make $FIX_TEST

Makefile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,30 @@ else
3838
STORE := memory
3939
endif
4040

41+
ifdef ACCEPTANCE_SET
42+
TEST_SET := $(ACCEPTANCE_SET)
43+
else
44+
TEST_SET := server
45+
endif
46+
4147
build-test-srv:
4248
cd _test; go build -v -o echo_server ./test-server/
4349
fix40:
44-
cd _test; ./runat.sh $@.cfg 5001 $(STORE) "definitions/server/$@/*.def"
50+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5001 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
4551
fix41:
46-
cd _test; ./runat.sh $@.cfg 5002 $(STORE) "definitions/server/$@/*.def"
52+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5002 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
4753
fix42:
48-
cd _test; ./runat.sh $@.cfg 5003 $(STORE) "definitions/server/$@/*.def"
54+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5003 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
4955
fix43:
50-
cd _test; ./runat.sh $@.cfg 5004 $(STORE) "definitions/server/$@/*.def"
56+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5004 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
5157
fix44:
52-
cd _test; ./runat.sh $@.cfg 5005 $(STORE) "definitions/server/$@/*.def"
58+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5005 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
5359
fix50:
54-
cd _test; ./runat.sh $@.cfg 5006 $(STORE) "definitions/server/$@/*.def"
60+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5006 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
5561
fix50sp1:
56-
cd _test; ./runat.sh $@.cfg 5007 $(STORE) "definitions/server/$@/*.def"
62+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5007 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
5763
fix50sp2:
58-
cd _test; ./runat.sh $@.cfg 5008 $(STORE) "definitions/server/$@/*.def"
64+
cd _test; ./runat.sh cfg/$(TEST_SET)/$@.cfg 5008 $(STORE) "definitions/$(TEST_SET)/$@/*.def"
5965

6066
ACCEPT_SUITE=fix40 fix41 fix42 fix43 fix44 fix50 fix50sp1 fix50sp2
6167
accept: $(ACCEPT_SUITE)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5003
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIX.4.2
10+
DataDictionary=../spec/FIX42.xml
11+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5004
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIX.4.3
10+
DataDictionary=../spec/FIX43.xml
11+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5005
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIX.4.4
10+
DataDictionary=../spec/FIX44.xml
11+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5006
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIXT.1.1
10+
SessionQualifier=FIX50
11+
DefaultApplVerID=FIX.5.0
12+
TransportDataDictionary=../spec/FIXT11.xml
13+
AppDataDictionary=../spec/FIX50.xml
14+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5007
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIXT.1.1
10+
SessionQualifier=FIX50SP1
11+
DefaultApplVerID=FIX.5.0SP1
12+
TransportDataDictionary=../spec/FIXT11.xml
13+
AppDataDictionary=../spec/FIX50SP1.xml
14+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5008
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIXT.1.1
10+
SessionQualifier=FIX50SP2
11+
DefaultApplVerID=FIX.5.0SP2
12+
TransportDataDictionary=../spec/FIXT11.xml
13+
AppDataDictionary=../spec/FIX50SP2.xml
14+
EnableLastMsgSeqNumProcessed=Y
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5001
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIX.4.0
10+
DataDictionary=../spec/FIX40.xml
11+
ResendRequestChunkSize=5
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[DEFAULT]
2+
SocketAcceptPort=5002
3+
SenderCompID=ISLD
4+
TargetCompID=TW
5+
ResetOnLogon=Y
6+
FileLogPath=tmp
7+
8+
[SESSION]
9+
BeginString=FIX.4.1
10+
DataDictionary=../spec/FIX41.xml
11+
ResendRequestChunkSize=5

0 commit comments

Comments
 (0)