Skip to content

Commit 23cc430

Browse files
authored
Merge pull request #746 from razor-network/v1.0.3-patch1-incentnet
Hotfix log files (#738)
2 parents a5be2fb + 0f6dbae commit 23cc430

File tree

4 files changed

+53
-12
lines changed

4 files changed

+53
-12
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ In the above example for the collection `ethCollectionMean`, new custom job havi
741741

742742
### Logs
743743

744-
User can pass a separate flag --logFile followed with any name for log file along with command. The logs will be stored in ```.razor``` directory.
744+
User can pass a separate flag --logFile followed with any name for log file along with command. The logs will be stored in ```.razor/logs``` directory.
745745

746746
razor cli
747747
```

cmd/vote_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ func TestGetLastProposedEpoch(t *testing.T) {
319319
Data: []byte{4, 2},
320320
},
321321
},
322+
time: 10,
322323
contractAbi: abi.ABI{},
323324
unpackErr: errors.New("unpack error"),
324325
},

path/path.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,21 @@ func (PathUtils) GetLogFilePath(fileName string) (string, error) {
2525
if err != nil {
2626
return "", err
2727
}
28-
filePath := home + "/" + fileName + ".log"
29-
f, err := OSUtilsInterface.OpenFile(filePath, os.O_CREATE|os.O_WRONLY, 0600)
28+
fileDir := home + "/logs"
29+
if _, err := OSUtilsInterface.Stat(fileDir); OSUtilsInterface.IsNotExist(err) {
30+
mkdirErr := OSUtilsInterface.Mkdir(fileDir, 0700)
31+
if mkdirErr != nil {
32+
return "", mkdirErr
33+
}
34+
}
35+
36+
logFilepath := fileDir + "/" + fileName + ".log"
37+
f, err := OSUtilsInterface.OpenFile(logFilepath, os.O_CREATE|os.O_WRONLY, 0600)
3038
if err != nil {
3139
return "", err
3240
}
3341
defer f.Close()
34-
return filePath, nil
42+
return logFilepath, nil
3543
}
3644

3745
//This function returns the config file path

path/path_test.go

+40-8
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,17 @@ func TestGetDefaultPath(t *testing.T) {
9595
}
9696

9797
func TestGetLogFilePath(t *testing.T) {
98-
var fileName string
98+
var fileInfo fs.FileInfo
99+
99100
type args struct {
100-
path string
101-
pathErr error
102-
file *os.File
103-
fileErr error
101+
fileName string
102+
path string
103+
pathErr error
104+
file *os.File
105+
fileErr error
106+
statErr error
107+
isNotExist bool
108+
mkdirErr error
104109
}
105110
tests := []struct {
106111
name string
@@ -111,9 +116,10 @@ func TestGetLogFilePath(t *testing.T) {
111116
{
112117
name: "Test 1: When GetLogFilePath() executes successfully",
113118
args: args{
114-
path: "./home/.razor",
119+
fileName: "xyz",
120+
path: "./home/.razor",
115121
},
116-
want: "./home/.razor/.log",
122+
want: "./home/.razor/logs/xyz.log",
117123
wantErr: nil,
118124
},
119125
{
@@ -133,6 +139,28 @@ func TestGetLogFilePath(t *testing.T) {
133139
want: "",
134140
wantErr: errors.New("error in getting file"),
135141
},
142+
{
143+
name: "Test 4: When there is stat error but not mkdir error",
144+
args: args{
145+
fileName: "xyz",
146+
path: "./home/.razor",
147+
statErr: errors.New("file not exists"),
148+
isNotExist: true,
149+
},
150+
want: "./home/.razor/logs/xyz.log",
151+
wantErr: nil,
152+
},
153+
{
154+
name: "Test 5: When there is stat error and mkdir error",
155+
args: args{
156+
path: "./home/.razor",
157+
statErr: errors.New("file not exists"),
158+
isNotExist: true,
159+
mkdirErr: errors.New("mkdir error"),
160+
},
161+
want: "",
162+
wantErr: errors.New("mkdir error"),
163+
},
136164
}
137165
for _, tt := range tests {
138166
t.Run(tt.name, func(t *testing.T) {
@@ -144,8 +172,12 @@ func TestGetLogFilePath(t *testing.T) {
144172

145173
pathMock.On("GetDefaultPath").Return(tt.args.path, tt.args.pathErr)
146174
osMock.On("OpenFile", mock.Anything, mock.Anything, mock.Anything).Return(tt.args.file, tt.args.fileErr)
175+
osMock.On("Stat", mock.AnythingOfType("string")).Return(fileInfo, tt.args.statErr)
176+
osMock.On("IsNotExist", mock.Anything).Return(tt.args.isNotExist)
177+
osMock.On("Mkdir", mock.Anything, mock.Anything).Return(tt.args.mkdirErr)
178+
147179
pa := PathUtils{}
148-
got, err := pa.GetLogFilePath(fileName)
180+
got, err := pa.GetLogFilePath(tt.args.fileName)
149181
if got != tt.want {
150182
t.Errorf("GetLogFilePath(), got = %v, want = %v", got, tt.want)
151183
}

0 commit comments

Comments
 (0)