summary refs log tree commit diff stats
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2024-09-22 14:57:03 +0300
committerGitHub <noreply@github.com>2024-09-22 13:57:03 +0200
commita55c15c651b805c5eca4475f9845a57adf6cddef (patch)
tree4116fb04b4b2fe124b2927114f5260093932aa94
parent7da2ffb7513192ccfd29f62eed613298b3a6f6f4 (diff)
downloadNim-a55c15c651b805c5eca4475f9845a57adf6cddef.tar.gz
fix tmarshalsegfault depending on execution time (#24153)
Added in #24119, the test checks if every string produced is equal, but
the value of the strings depend on the `now()` timestamp of when they
were produced. 30 of them are produced in a for loop in sequence with
each other, but the first one is set after the data is marshalled into
and unmarshalled from a file. This means the timestamp strings can
differ depending on the execution time and causes this test to be flaky.
Instead we just make 2 strings from the same data and check if they
equal each other.
-rw-r--r--tests/stdlib/tmarshalsegfault.nim5
1 files changed, 2 insertions, 3 deletions
diff --git a/tests/stdlib/tmarshalsegfault.nim b/tests/stdlib/tmarshalsegfault.nim
index a18ace6d1..71f2766c8 100644
--- a/tests/stdlib/tmarshalsegfault.nim
+++ b/tests/stdlib/tmarshalsegfault.nim
@@ -48,8 +48,7 @@ removeFile("tmarshalsegfault_data")
 state.shows.aired[ 0 ] = AiredEpisodeState( airedAt: now(), tvShowId: "1", seasonNumber: 1, number: 1, title: "string" )
 
 # 4. And formatting the airedAt date will now trigger the exception
-var s = ""
 for ep in state.shows.aired:
     let x = $ep.seasonNumber & "x" & $ep.number & " (" & $ep.airedAt & ")"
-    if s.len == 0: s = x
-    else: doAssert s == x
+    let y = $ep.seasonNumber & "x" & $ep.number & " (" & $ep.airedAt & ")"
+    doAssert x == y