diff --git a/commands_test.go b/commands_test.go index 457fa057..5181174d 100644 --- a/commands_test.go +++ b/commands_test.go @@ -457,6 +457,7 @@ var _ = Describe("Commands", func() { }) It("should Object", func() { + start := time.Now() set := client.Set(ctx, "key", "hello", 0) Expect(set.Err()).NotTo(HaveOccurred()) Expect(set.Val()).To(Equal("OK")) @@ -470,7 +471,13 @@ var _ = Describe("Commands", func() { idleTime := client.ObjectIdleTime(ctx, "key") Expect(idleTime.Err()).NotTo(HaveOccurred()) - Expect(idleTime.Val()).To(Equal(time.Duration(0))) + + //Redis returned milliseconds/1000, which may cause ObjectIdleTime to be at a critical value, + //should be +1s to deal with the critical value problem. + //if too much time (>1s) is used during command execution, it may also cause the test to fail. + //so the ObjectIdleTime result should be <=now-start+1s + //link: https://github.com/redis/redis/blob/5b48d900498c85bbf4772c1d466c214439888115/src/object.c#L1265-L1272 + Expect(idleTime.Val()).To(BeNumerically("<=", time.Now().Sub(start) + time.Second)) }) It("should Persist", func() {