Skip to content

Commit df67200

Browse files
Updated test server to accept fileStore tyoe
1 parent 9d2a3c2 commit df67200

File tree

5 files changed

+35
-12
lines changed

5 files changed

+35
-12
lines changed

Makefile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,21 @@ lint: linters-install
3131
build-test-srv:
3232
cd _test; go build -o echo_server ./test-server/
3333
fix40:
34-
cd _test; ./runat.sh $@.cfg 5001 "definitions/server/$@/*.def"
34+
cd _test; ./runat.sh $@.cfg 5001 "FILE" "definitions/server/$@/*.def"
3535
fix41:
36-
cd _test; ./runat.sh $@.cfg 5002 "definitions/server/$@/*.def"
36+
cd _test; ./runat.sh $@.cfg 5002 "memory" "definitions/server/$@/*.def"
3737
fix42:
38-
cd _test; ./runat.sh $@.cfg 5003 "definitions/server/$@/*.def"
38+
cd _test; ./runat.sh $@.cfg 5003 "memory" "definitions/server/$@/*.def"
3939
fix43:
40-
cd _test; ./runat.sh $@.cfg 5004 "definitions/server/$@/*.def"
40+
cd _test; ./runat.sh $@.cfg 5004 "memory" "definitions/server/$@/*.def"
4141
fix44:
42-
cd _test; ./runat.sh $@.cfg 5005 "definitions/server/$@/*.def"
42+
cd _test; ./runat.sh $@.cfg 5005 "memory" "definitions/server/$@/*.def"
4343
fix50:
44-
cd _test; ./runat.sh $@.cfg 5006 "definitions/server/$@/*.def"
44+
cd _test; ./runat.sh $@.cfg 5006 "memory" "definitions/server/$@/*.def"
4545
fix50sp1:
46-
cd _test; ./runat.sh $@.cfg 5007 "definitions/server/$@/*.def"
46+
cd _test; ./runat.sh $@.cfg 5007 "memory" "definitions/server/$@/*.def"
4747
fix50sp2:
48-
cd _test; ./runat.sh $@.cfg 5008 "definitions/server/$@/*.def"
48+
cd _test; ./runat.sh $@.cfg 5008 "memory" "definitions/server/$@/*.def"
4949

5050
ACCEPT_SUITE=fix40 fix41 fix42 fix43 fix44 fix50 fix50sp1 fix50sp2
5151
accept: $(ACCEPT_SUITE)

_test/runat.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
CFG=$1
44
PORT=$2
5-
TESTS=$3
5+
STORETYPE=$3
6+
TESTS=$4
67

7-
./echo_server $CFG &
8+
./echo_server $CFG $STORETYPE &
89
pid=$!
910

1011
ruby -I. Runner.rb 127.0.0.1 $PORT $TESTS

_test/test-server/main.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ import (
77
"log"
88
"os"
99
"os/signal"
10+
"path"
11+
"strings"
12+
"time"
1013

1114
"github.com/quickfixgo/quickfix"
15+
"github.com/quickfixgo/quickfix/config"
1216
field "github.com/quickfixgo/quickfix/gen/field"
1317
tag "github.com/quickfixgo/quickfix/gen/tag"
1418
)
@@ -131,7 +135,21 @@ func main() {
131135
return
132136
}
133137

134-
acceptor, err := quickfix.NewAcceptor(app, quickfix.NewMemoryStoreFactory(), appSettings, fileLogFactory)
138+
storeType := os.Args[2]
139+
140+
var acceptor *quickfix.Acceptor
141+
switch strings.ToUpper(storeType) {
142+
case "FILE":
143+
fileStoreRootPath := path.Join(os.TempDir(), fmt.Sprintf("FileStoreTestSuite-%d", os.Getpid()))
144+
fileStorePath := path.Join(fileStoreRootPath, fmt.Sprintf("%d", time.Now().UnixNano()))
145+
appSettings.GlobalSettings().Set(config.FileStorePath, fileStorePath)
146+
acceptor, err = quickfix.NewAcceptor(app, quickfix.NewFileStoreFactory(appSettings), appSettings, fileLogFactory)
147+
case "MEMORY":
148+
acceptor, err = quickfix.NewAcceptor(app, quickfix.NewMemoryStoreFactory(), appSettings, fileLogFactory)
149+
default:
150+
acceptor, err = quickfix.NewAcceptor(app, quickfix.NewMemoryStoreFactory(), appSettings, fileLogFactory)
151+
}
152+
135153
if err != nil {
136154
fmt.Println("Unable to create Acceptor: ", err)
137155
return

acceptor.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ type Acceptor struct {
3636
settings *Settings
3737
logFactory LogFactory
3838
storeFactory MessageStoreFactory
39+
fileFactory fileStoreFactory
3940
globalLog Log
4041
sessions map[SessionID]*session
4142
sessionGroup sync.WaitGroup

filestore.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,10 @@ func (f fileStoreFactory) Create(sessionID SessionID) (msgStore MessageStore, er
7676

7777
dirname, err := sessionSettings.Setting(config.FileStorePath)
7878
if err != nil {
79-
return nil, err
79+
dirname, err = globalSettings.Setting(config.FileStorePath)
80+
if err != nil {
81+
return nil, err
82+
}
8083
}
8184
var fsync bool
8285
if sessionSettings.HasSetting(config.FileStoreSync) {

0 commit comments

Comments
 (0)