@@ -68,6 +68,64 @@ func TestProcessClusterDifferentLogDir(t *testing.T) {
6868 testCluster (t , insecureStarterEndpoint (2 * portIncrement ), false )
6969 }
7070
71+ check := func (rootDir string , expectedFileCount int ) {
72+ files , err := getRecursiveLogFiles (rootDir )
73+ if err != nil {
74+ t .Errorf ("Failed to get log files in %s: %v" , rootDir , err )
75+ } else if len (files ) != expectedFileCount {
76+ t .Errorf ("Expected %d log files in %s, got %d (%v)" , expectedFileCount , rootDir , len (files ), files )
77+ }
78+ }
79+ check (dataDirMaster , 0 )
80+ check (dataDirSlave1 , 0 )
81+ check (dataDirSlave2 , 0 )
82+ check (masterLogDir , 3 + 1 ) // +1 == arangodb.log (starter log)
83+ check (slave1LogDir , 3 + 1 )
84+ check (slave2LogDir , 3 + 1 )
85+
86+ if isVerbose {
87+ t .Log ("Waiting for termination" )
88+ }
89+ SendIntrAndWait (t , master , slave1 , slave2 )
90+ }
91+
92+ func TestProcessClusterDifferentLogDirNoLog2File (t * testing.T ) {
93+ removeArangodProcesses (t )
94+ needTestMode (t , testModeProcess )
95+ needStarterMode (t , starterModeCluster )
96+ dataDirMaster := SetUniqueDataDir (t )
97+ defer os .RemoveAll (dataDirMaster )
98+
99+ start := time .Now ()
100+
101+ logDir , err := ioutil .TempDir ("" , "" )
102+ if err != nil {
103+ t .Fatalf ("TempDir failed: %v" , err )
104+ }
105+
106+ masterLogDir := filepath .Join (logDir , "master" )
107+ master := Spawn (t , "${STARTER} --log.file=false --log.dir=" + masterLogDir + " " + createEnvironmentStarterOptions ())
108+ defer master .Close ()
109+
110+ slave1LogDir := filepath .Join (logDir , "slave1" )
111+ dataDirSlave1 := SetUniqueDataDir (t )
112+ defer os .RemoveAll (dataDirSlave1 )
113+ slave1 := Spawn (t , "${STARTER} --log.file=false --starter.join 127.0.0.1 --log.dir=" + slave1LogDir + " " + createEnvironmentStarterOptions ())
114+ defer slave1 .Close ()
115+
116+ slave2LogDir := filepath .Join (logDir , "slave2" )
117+ dataDirSlave2 := SetUniqueDataDir (t )
118+ defer os .RemoveAll (dataDirSlave2 )
119+ slave2 := Spawn (t , "${STARTER} --log.file=false --starter.join 127.0.0.1 --log.dir=" + slave2LogDir + " " + createEnvironmentStarterOptions ())
120+ defer slave2 .Close ()
121+
122+ if ok := WaitUntilStarterReady (t , whatCluster , 3 , master , slave1 , slave2 ); ok {
123+ t .Logf ("Cluster start took %s" , time .Since (start ))
124+ testCluster (t , insecureStarterEndpoint (0 * portIncrement ), false )
125+ testCluster (t , insecureStarterEndpoint (1 * portIncrement ), false )
126+ testCluster (t , insecureStarterEndpoint (2 * portIncrement ), false )
127+ }
128+
71129 check := func (rootDir string , expectedFileCount int ) {
72130 files , err := getRecursiveLogFiles (rootDir )
73131 if err != nil {
0 commit comments