Skip to content

Commit fe8ffcd

Browse files
Nagapramod Mandagerejfmyers9
authored andcommitted
Externalized mountDir for easy testing
[#116222453] Signed-off-by: James Myers <[email protected]>
1 parent b942cb0 commit fe8ffcd

File tree

4 files changed

+28
-19
lines changed

4 files changed

+28
-19
lines changed

cmd/volman/main_suite_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ var driverServerPort int
2424
var debugServerAddress2 string
2525
var driverRunner *ginkgomon.Runner
2626

27+
var mountDir string
2728
var tmpDriversPath string
2829

2930
func TestVolman(t *testing.T) {
@@ -54,6 +55,9 @@ var _ = BeforeEach(func() {
5455
tmpDriversPath, err = ioutil.TempDir("", "driversPath")
5556
Expect(err).NotTo(HaveOccurred())
5657

58+
mountDir, err = ioutil.TempDir("", "mountDir")
59+
Expect(err).NotTo(HaveOccurred())
60+
5761
driverServerPort = 9750 + GinkgoParallelNode()
5862
debugServerAddress2 = fmt.Sprintf("0.0.0.0:%d", 9850+GinkgoParallelNode())
5963
driverRunner = ginkgomon.New(ginkgomon.Config{
@@ -62,6 +66,7 @@ var _ = BeforeEach(func() {
6266
driverPath,
6367
"-listenAddr", fmt.Sprintf("0.0.0.0:%d", driverServerPort),
6468
"-debugAddr", debugServerAddress2,
69+
"-mountDir", mountDir,
6570
),
6671
StartCheck: "fakedriverServer.started",
6772
})

fakedriver/cmd/fakedriver/main.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ var transport = flag.String(
3434
"Transport protocol to transmit HTTP over",
3535
)
3636

37-
func init() {
38-
// no command line parsing can happen here in go 1.6git soll
39-
}
37+
var mountDir = flag.String(
38+
"mountDir",
39+
"/tmp/volumes",
40+
"Path to directory where fake volumes are created",
41+
)
4042

4143
func main() {
4244
parseCommandLine()
@@ -49,12 +51,12 @@ func main() {
4951
if *transport == "tcp" {
5052
logger, logTap = newLogger()
5153
defer logger.Info("ends")
52-
fakeDriverServer = createFakeDriverServer(logger, *atAddress, *driversPath)
54+
fakeDriverServer = createFakeDriverServer(logger, *atAddress, *driversPath, *mountDir)
5355
} else {
5456
logger, logTap = newUnixLogger()
5557
defer logger.Info("ends")
5658

57-
fakeDriverServer = createFakeDriverUnixServer(logger, *atAddress, *driversPath)
59+
fakeDriverServer = createFakeDriverUnixServer(logger, *atAddress, *driversPath, *mountDir)
5860
}
5961

6062
servers := grouper.Members{
@@ -88,17 +90,17 @@ func processRunnerFor(servers grouper.Members) ifrit.Runner {
8890
return sigmon.New(grouper.NewOrdered(os.Interrupt, servers))
8991
}
9092

91-
func createFakeDriverServer(logger lager.Logger, atAddress string, driversPath string) ifrit.Runner {
93+
func createFakeDriverServer(logger lager.Logger, atAddress, driversPath, mountDir string) ifrit.Runner {
9294
fileSystem := fakedriver.NewRealFileSystem()
93-
client := fakedriver.NewLocalDriver(&fileSystem)
95+
client := fakedriver.NewLocalDriver(&fileSystem, mountDir)
9496
handler, err := driverhttp.NewHandler(logger, client)
9597
exitOnFailure(logger, err)
9698
return http_server.New(atAddress, handler)
9799
}
98100

99-
func createFakeDriverUnixServer(logger lager.Logger, atAddress string, driversPath string) ifrit.Runner {
101+
func createFakeDriverUnixServer(logger lager.Logger, atAddress, driversPath, mountDir string) ifrit.Runner {
100102
fileSystem := fakedriver.NewRealFileSystem()
101-
client := fakedriver.NewLocalDriver(&fileSystem)
103+
client := fakedriver.NewLocalDriver(&fileSystem, mountDir)
102104
handler, err := driverhttp.NewHandler(logger, client)
103105
exitOnFailure(logger, err)
104106
return http_server.NewUnixServer(atAddress, handler)

fakedriver/local_driver.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77

88
"strings"
99

10-
"path/filepath"
11-
1210
"github.com/cloudfoundry-incubator/volman/voldriver"
1311
"github.com/pivotal-golang/lager"
1412
)
@@ -18,17 +16,19 @@ const RootDir = "_volumes/"
1816
type LocalDriver struct { // see voldriver.resources.go
1917
volumes map[string]*volume
2018
fileSystem FileSystem
19+
mountDir string
2120
}
2221

2322
type volume struct {
2423
volumeID string
2524
mountpoint string
2625
}
2726

28-
func NewLocalDriver(fileSystem FileSystem) *LocalDriver {
27+
func NewLocalDriver(fileSystem FileSystem, mountDir string) *LocalDriver {
2928
return &LocalDriver{
3029
volumes: map[string]*volume{},
3130
fileSystem: fileSystem,
31+
mountDir: mountDir,
3232
}
3333
}
3434

@@ -179,8 +179,7 @@ func (d *LocalDriver) exists(path string) (bool, error) {
179179
}
180180

181181
func (d *LocalDriver) mountPath(logger lager.Logger, volumeId string) string {
182-
183-
dir, err := d.fileSystem.Abs(filepath.Dir(os.Args[0]))
182+
dir, err := d.fileSystem.Abs(d.mountDir)
184183
if err != nil {
185184
logger.Fatal("error getting path to executable", err)
186185
}

fakedriver/local_driver_test.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,15 @@ var _ = Describe("Local Driver", func() {
1818
var logger lager.Logger
1919
var fakeFileSystem *volmanfakes.FakeFileSystem
2020
var localDriver *fakedriver.LocalDriver
21+
var mountDir string
2122

2223
BeforeEach(func() {
2324
logger = lagertest.NewTestLogger("fakedriver-local")
2425

26+
mountDir = "/path/to/mount"
27+
2528
fakeFileSystem = &volmanfakes.FakeFileSystem{}
26-
localDriver = fakedriver.NewLocalDriver(fakeFileSystem)
29+
localDriver = fakedriver.NewLocalDriver(fakeFileSystem, mountDir)
2730
})
2831

2932
Describe("Mount", func() {
@@ -277,7 +280,7 @@ var _ = Describe("Local Driver", func() {
277280
})
278281
})
279282

280-
func getUnsuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string){
283+
func getUnsuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string) {
281284
getResponse := localDriver.Get(logger, voldriver.GetRequest{
282285
Name: volumeName,
283286
})
@@ -296,7 +299,7 @@ func getSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName
296299
return getResponse
297300
}
298301

299-
func createSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string){
302+
func createSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string) {
300303
createResponse := localDriver.Create(logger, voldriver.CreateRequest{
301304
Name: volumeName,
302305
Opts: map[string]interface{}{
@@ -306,10 +309,10 @@ func createSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeN
306309
Expect(createResponse.Err).To(Equal(""))
307310
}
308311

309-
func mountSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string, fakeFileSystem *volmanfakes.FakeFileSystem){
312+
func mountSuccessful(logger lager.Logger, localDriver voldriver.Driver, volumeName string, fakeFileSystem *volmanfakes.FakeFileSystem) {
310313
fakeFileSystem.AbsReturns("/some/temp/dir", nil)
311314
mountResponse := localDriver.Mount(logger, voldriver.MountRequest{
312-
Name: volumeName,
315+
Name: volumeName,
313316
})
314317
Expect(mountResponse.Err).To(Equal(""))
315318
Expect(mountResponse.Mountpoint).To(Equal("/some/temp/dir/_volumes/test-volume-id"))

0 commit comments

Comments
 (0)