From 4cd80a88d37c4b1dfcf17fd1b4f7c8f784e66e01 Mon Sep 17 00:00:00 2001 From: Light-Alex <245212467@qq.com> Date: Wed, 17 Jul 2024 14:21:56 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=20Modification=E3=80=91cleancode=E6=B8=85=E7=90=86=20=E3=80=90?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=BA=20Modifier=E3=80=91yanchuanxiang?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/common/constants.go | 2 ++ pkg/common/fault_code.go | 23 ++++++------- pkg/common/fault_code_test.go | 57 +++++++++++++++++++++------------ pkg/device/ascendcommon_test.go | 14 +++++--- 4 files changed, 60 insertions(+), 36 deletions(-) diff --git a/pkg/common/constants.go b/pkg/common/constants.go index 87186fe7..d580943b 100644 --- a/pkg/common/constants.go +++ b/pkg/common/constants.go @@ -163,6 +163,8 @@ const ( Hex = 16 // SecondMagnification is second-level unit magnification SecondMagnification = 1000 + // SecondMagnificationFloat is second-level unit magnification float + SecondMagnificationFloat = 1000.0 ) const ( diff --git a/pkg/common/fault_code.go b/pkg/common/fault_code.go index f497d3b2..43479ece 100644 --- a/pkg/common/fault_code.go +++ b/pkg/common/fault_code.go @@ -739,7 +739,7 @@ func GetFaultTypeFromFaultDuration(logicId int32, mode string) string { hwlog.RunLog.Debugf("FaultDuration detected, event id: %s, logic id: %d, "+ "fault duration time: %.2f seconds, "+ "fault level: %s", eventId, logicId, - float64(faultDurationData.FaultDurationTime)/1000.0, + float64(faultDurationData.FaultDurationTime)/SecondMagnificationFloat, faultDurationCache.FaultHandling) faultTypes = append(faultTypes, faultDurationCache.FaultHandling) } @@ -1202,7 +1202,8 @@ func handleFaultQueue(logicID int32, eventId string) { hwlog.RunLog.Debugf("NPU logic id: %v, after timeout or recovery algorithm handling, %v fault timeout "+ "status is %v, fault duration time is %.2f seconds, fault recover duration time is %.2f seconds, "+ "fault queue is %v", logicID, eventId, faultDurationData.TimeoutStatus, - float64(faultDurationData.FaultDurationTime)/1000.0, float64(faultDurationData.FaultRecoverDurationTime)/1000.0, + float64(faultDurationData.FaultDurationTime)/SecondMagnificationFloat, + float64(faultDurationData.FaultRecoverDurationTime)/SecondMagnificationFloat, faultDurationData.FaultEventQueue) if initTimeoutStatus == false && faultDurationData.TimeoutStatus == true { @@ -1223,7 +1224,7 @@ func handleFaultQueue(logicID int32, eventId string) { if initTimeoutStatus != faultDurationData.TimeoutStatus { hwlog.RunLog.Infof("NPU logic id: %v, after timeout or recovery algorithm handling, %v fault timeout "+ "status change, now fault timeout status set %v, duration time is %.2f seconds", - logicID, eventId, faultDurationData.TimeoutStatus, float64(duration)/1000.0) + logicID, eventId, faultDurationData.TimeoutStatus, float64(duration)/SecondMagnificationFloat) } } @@ -1249,8 +1250,8 @@ func timeoutOrRecoveryAlgorithm(logicID int32, eventId string, toStatus bool) bo if duration <= timeoutThreshold*SecondMagnification { continue } - hwlog.RunLog.Debugf(faultTimeoutMsg, logicID, process, process, float64(duration)/1000.0, timeoutThreshold, - eventId, toStatus) + hwlog.RunLog.Debugf(faultTimeoutMsg, logicID, process, process, float64(duration)/SecondMagnificationFloat, + timeoutThreshold, eventId, toStatus) return handleTimeoutCondition(handleDurationInputPara{logicID, eventId, i, toStatus, duration}) } @@ -1259,19 +1260,19 @@ func timeoutOrRecoveryAlgorithm(logicID int32, eventId string, toStatus bool) bo currentHostTime := time.Now().UnixMilli() duration = currentHostTime - faultDurationData.FaultEventQueue[i*halfDivisor].AlarmRaisedTime if duration <= timeoutThreshold*SecondMagnification { - hwlog.RunLog.Debugf(faultNotTimeoutMsg, logicID, process, process, float64(duration)/1000.0, - timeoutThreshold, eventId, faultDurationData.TimeoutStatus, process) + hwlog.RunLog.Debugf(faultNotTimeoutMsg, logicID, process, process, float64(duration)/ + SecondMagnificationFloat, timeoutThreshold, eventId, faultDurationData.TimeoutStatus, process) return handleNotTimeoutCondition(handleDurationInputPara{logicID, eventId, i, toStatus, duration}) } - hwlog.RunLog.Debugf(faultTimeoutMsg, logicID, process, process, float64(duration)/1000.0, timeoutThreshold, - eventId, toStatus) + hwlog.RunLog.Debugf(faultTimeoutMsg, logicID, process, process, float64(duration)/SecondMagnificationFloat, + timeoutThreshold, eventId, toStatus) return handleTimeoutCondition(handleDurationInputPara{logicID, eventId, i, toStatus, duration}) } if halfDivisor*i == faultQueueLen { - hwlog.RunLog.Debugf(faultNotTimeoutMsg, logicID, process, process, float64(duration)/1000.0, timeoutThreshold, - eventId, faultDurationMap[eventId].Duration[logicID].TimeoutStatus, process) + hwlog.RunLog.Debugf(faultNotTimeoutMsg, logicID, process, process, float64(duration)/SecondMagnificationFloat, + timeoutThreshold, eventId, faultDurationMap[eventId].Duration[logicID].TimeoutStatus, process) return handleNotTimeoutCondition(handleDurationInputPara{logicID, eventId, i, toStatus, duration}) } diff --git a/pkg/common/fault_code_test.go b/pkg/common/fault_code_test.go index 6fd7b4ca..e818b4cc 100644 --- a/pkg/common/fault_code_test.go +++ b/pkg/common/fault_code_test.go @@ -587,9 +587,10 @@ func TestHandleFaultQueueCase01(t *testing.T) { handleFaultQueue(logicID, linkDownFaultCodeStr) faultDurationData := faultDurationMap[linkDownFaultCodeStr].Duration[logicID] + faultDurationTime := int64(31) convey.So(faultDurationData.TimeoutStatus, convey.ShouldEqual, true) convey.So(faultDurationData.FaultEventQueue, convey.ShouldResemble, expectVal) - convey.So(faultDurationData.FaultDurationTime, convey.ShouldEqual, 31*SecondMagnification) + convey.So(faultDurationData.FaultDurationTime, convey.ShouldEqual, faultDurationTime*SecondMagnification) convey.So(faultDurationData.FaultRecoverDurationTime, convey.ShouldEqual, 0) }) } @@ -769,9 +770,10 @@ func TestHandleFaultQueueCase06(t *testing.T) { handleFaultQueue(logicID, linkDownFaultCodeStr) faultDurationData := faultDurationMap[linkDownFaultCodeStr].Duration[logicID] + faultDurationTime := int64(31) convey.So(faultDurationData.TimeoutStatus, convey.ShouldEqual, true) convey.So(faultDurationData.FaultEventQueue, convey.ShouldResemble, expectVal) - convey.So(faultDurationData.FaultDurationTime, convey.ShouldEqual, 31*SecondMagnification) + convey.So(faultDurationData.FaultDurationTime, convey.ShouldEqual, faultDurationTime*SecondMagnification) convey.So(faultDurationData.FaultRecoverDurationTime, convey.ShouldEqual, 61*SecondMagnification) }) } @@ -855,9 +857,10 @@ func TestLoadGraceToleranceCustomization(t *testing.T) { WaitProcessReadCMTime = time.Duration(0) WaitFaultSelfHealingTime = time.Duration(0) loadGraceToleranceCustomization(graceToleranceCustomization) - convey.So(WaitDeviceResetTime, convey.ShouldEqual, 150) - convey.So(WaitProcessReadCMTime, convey.ShouldEqual, 30) - convey.So(WaitFaultSelfHealingTime, convey.ShouldEqual, 15) + expectResetTime, expectReadCMTime, expectSelfHealingTime := 150, 30, 15 + convey.So(WaitDeviceResetTime, convey.ShouldEqual, expectResetTime) + convey.So(WaitProcessReadCMTime, convey.ShouldEqual, expectReadCMTime) + convey.So(WaitFaultSelfHealingTime, convey.ShouldEqual, expectSelfHealingTime) }) convey.Convey("test loadGraceToleranceCustomization abnormal condition success", t, func() { @@ -870,9 +873,10 @@ func TestLoadGraceToleranceCustomization(t *testing.T) { WaitProcessReadCMTime = time.Duration(0) WaitFaultSelfHealingTime = time.Duration(0) loadGraceToleranceCustomization(graceToleranceCustomization) - convey.So(WaitDeviceResetTime, convey.ShouldEqual, 150) - convey.So(WaitProcessReadCMTime, convey.ShouldEqual, 30) - convey.So(WaitFaultSelfHealingTime, convey.ShouldEqual, 15) + expectResetTime, expectReadCMTime, expectSelfHealingTime := 150, 30, 15 + convey.So(WaitDeviceResetTime, convey.ShouldEqual, expectResetTime) + convey.So(WaitProcessReadCMTime, convey.ShouldEqual, expectReadCMTime) + convey.So(WaitFaultSelfHealingTime, convey.ShouldEqual, expectSelfHealingTime) }) } @@ -1198,10 +1202,11 @@ func TestGetFaultTypeFromFaultFrequency(t *testing.T) { convey.Convey("test GetFaultTypeFromFaultFrequency success case1", t, func() { logicId := int32(0) faultCode := "80E18005" + timeDiff := int64(2) faultFrequencyMap = map[string]*FaultFrequencyCache{ strings.ToLower(faultCode): { Frequency: map[int32][]int64{ - logicId: {time.Now().Unix() - 2}, + logicId: {time.Now().Unix() - timeDiff}, }, FaultFrequency: FaultFrequency{ TimeWindow: 86400, @@ -1216,10 +1221,12 @@ func TestGetFaultTypeFromFaultFrequency(t *testing.T) { convey.Convey("test GetFaultTypeFromFaultFrequency success case2", t, func() { logicId := int32(0) faultCode := "80E18005" + firstTime, secondTime, thirdTime := int64(10), int64(8), int64(2) faultFrequencyMap = map[string]*FaultFrequencyCache{ strings.ToLower(faultCode): { Frequency: map[int32][]int64{ - logicId: {time.Now().Unix() - 10, time.Now().Unix() - 8, time.Now().Unix() - 2}, + logicId: {time.Now().Unix() - firstTime, time.Now().Unix() - secondTime, + time.Now().Unix() - thirdTime}, }, FaultFrequency: FaultFrequency{ TimeWindow: 86400, @@ -1241,13 +1248,14 @@ func TestGetFaultTypeFromFaultDurationPart1(t *testing.T) { convey.Convey("test GetFaultTypeFromFaultDuration success part1", t, func() { logicId := int32(0) faultCode := "80E0180F" + faultDurationTime := int64(121) faultDurationMap = map[string]*FaultDurationCache{ strings.ToLower(faultCode): { Duration: map[int32]FaultDurationData{ logicId: { TimeoutStatus: true, FaultEventQueue: []common.DevFaultInfo{}, - FaultDurationTime: 121 * SecondMagnification, + FaultDurationTime: faultDurationTime * SecondMagnification, FaultRecoverDurationTime: 0, }, }, @@ -1267,13 +1275,14 @@ func TestGetFaultTypeFromFaultDurationPart2(t *testing.T) { convey.Convey("test GetFaultTypeFromFaultDuration success part2", t, func() { logicId := int32(0) faultCode := "81078603" + faultDurationTime := int64(25) faultDurationMap = map[string]*FaultDurationCache{ strings.ToLower(faultCode): { Duration: map[int32]FaultDurationData{ logicId: { TimeoutStatus: false, FaultEventQueue: []common.DevFaultInfo{}, - FaultDurationTime: 25 * SecondMagnification, + FaultDurationTime: faultDurationTime * SecondMagnification, FaultRecoverDurationTime: 0, }, }, @@ -1294,10 +1303,12 @@ func TestGetFaultType(t *testing.T) { logicId := int32(0) faultCode := "80E0180F" faultCodes := []int64{0x80E0180F, 0x80C98002} + firstTime, secondTime, thirdTime := int64(10), int64(8), int64(2) faultFrequencyMap = map[string]*FaultFrequencyCache{ strings.ToLower(faultCode): { Frequency: map[int32][]int64{ - logicId: {time.Now().Unix() - 10, time.Now().Unix() - 8, time.Now().Unix() - 2}, + logicId: {time.Now().Unix() - firstTime, time.Now().Unix() - secondTime, + time.Now().Unix() - thirdTime}, }, FaultFrequency: FaultFrequency{ TimeWindow: 86400, @@ -1306,13 +1317,14 @@ func TestGetFaultType(t *testing.T) { }, }, } + faultDurationTime := int64(121) faultDurationMap = map[string]*FaultDurationCache{ strings.ToLower(faultCode): { Duration: map[int32]FaultDurationData{ logicId: { TimeoutStatus: true, FaultEventQueue: []common.DevFaultInfo{}, - FaultDurationTime: 121 * SecondMagnification, + FaultDurationTime: faultDurationTime * SecondMagnification, FaultRecoverDurationTime: 0, }, }, @@ -1337,13 +1349,14 @@ func TestGetNetworkFaultType(t *testing.T) { logicId := int32(0) faultCode := "81078603" faultCodes := []int64{0x81078603} + faultDurationTime := int64(31) faultDurationMap = map[string]*FaultDurationCache{ strings.ToLower(faultCode): { Duration: map[int32]FaultDurationData{ logicId: { TimeoutStatus: true, FaultEventQueue: []common.DevFaultInfo{}, - FaultDurationTime: 31 * SecondMagnification, + FaultDurationTime: faultDurationTime * SecondMagnification, FaultRecoverDurationTime: 0, }, }, @@ -1360,19 +1373,20 @@ func TestGetNetworkFaultType(t *testing.T) { // TestSetAlarmRaisedTime for test setAlarmRaisedTime func TestSetAlarmRaisedTime(t *testing.T) { + alarmRaisedTime := int64(123) convey.Convey("test setAlarmRaisedTime success case1", t, func() { device := NpuDevice{ FaultCodes: []int64{0x80C98002, 0x80C98003}, - AlarmRaisedTime: 123, + AlarmRaisedTime: alarmRaisedTime, } setAlarmRaisedTime(&device) - convey.So(device.AlarmRaisedTime, convey.ShouldEqual, 123) + convey.So(device.AlarmRaisedTime, convey.ShouldEqual, alarmRaisedTime) }) convey.Convey("test setAlarmRaisedTime success case2", t, func() { device := NpuDevice{ FaultCodes: []int64{}, - AlarmRaisedTime: 123, + AlarmRaisedTime: alarmRaisedTime, } setAlarmRaisedTime(&device) convey.So(device.AlarmRaisedTime, convey.ShouldEqual, 0) @@ -1390,19 +1404,20 @@ func TestSetAlarmRaisedTime(t *testing.T) { // TestSetNetworkAlarmRaisedTime for test setNetworkAlarmRaisedTime func TestSetNetworkAlarmRaisedTime(t *testing.T) { + networkAlarmRaisedTime := int64(125) convey.Convey("test setNetworkAlarmRaisedTime success case1", t, func() { device := NpuDevice{ NetworkFaultCodes: []int64{0x81078603}, - NetworkAlarmRaisedTime: 125, + NetworkAlarmRaisedTime: networkAlarmRaisedTime, } setNetworkAlarmRaisedTime(&device) - convey.So(device.NetworkAlarmRaisedTime, convey.ShouldEqual, 125) + convey.So(device.NetworkAlarmRaisedTime, convey.ShouldEqual, networkAlarmRaisedTime) }) convey.Convey("test setNetworkAlarmRaisedTime success case2", t, func() { device := NpuDevice{ NetworkFaultCodes: []int64{}, - NetworkAlarmRaisedTime: 125, + NetworkAlarmRaisedTime: networkAlarmRaisedTime, } setNetworkAlarmRaisedTime(&device) convey.So(device.NetworkAlarmRaisedTime, convey.ShouldEqual, 0) diff --git a/pkg/device/ascendcommon_test.go b/pkg/device/ascendcommon_test.go index 85667c58..b6bcddfb 100644 --- a/pkg/device/ascendcommon_test.go +++ b/pkg/device/ascendcommon_test.go @@ -422,13 +422,19 @@ func TestGetResetFailedTimes(t *testing.T) { func TestRemoveDuplicateErr(t *testing.T) { convey.Convey("test remove duplicate errors", t, func() { - oldErrors := []int64{0x80C98008, 0x80C98002, 0x80C98003, 0x80C98009, 0x80CB8002, 0x80CB8008, 0x80CB8009} + code98008 := int64(0x80C98008) + codeB8008 := int64(0x80CB8008) + code98002 := int64(0x80C98002) + code98003 := int64(0x80C98003) + code98009 := int64(0x80C98009) + codeB8002 := int64(0x80CB8002) + codeB8009 := int64(0x80CB8009) + oldErrors := []int64{code98008, code98002, code98003, code98009, codeB8002, codeB8008, codeB8009} tool := NewHwAscend910Manager() newErrors := tool.removeDuplicateErr(oldErrors) convey.So(len(oldErrors), convey.ShouldEqual, len(newErrors)) - baseErrors := []int64{0x80C98008, 0x80CB8008} - oldErrors = []int64{0x80C98008, 0x80C98008, 0x80C98008, 0x80C98008, 0x80C98008, 0x80C98008, - 0x80CB8008, 0x80CB8008} + baseErrors := []int64{code98008, codeB8008} + oldErrors = []int64{code98008, code98008, code98008, code98008, code98008, code98008, codeB8008, codeB8008} newErrors = tool.removeDuplicateErr(oldErrors) convey.So(len(baseErrors), convey.ShouldEqual, len(newErrors)) }) -- Gitee