Skip to content

Commit 96d37a9

Browse files
committed
fix(tests): Improve fibonacci test
1 parent a273570 commit 96d37a9

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

tests/performance/fibonacci/test_fibonacci.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,21 @@
22
import logging
33
import os
44

5+
fib_results = {}
6+
7+
def fib(n):
8+
if n < 2:
9+
return n
10+
elif str(n) in fib_results:
11+
return fib_results[str(n)]
12+
else:
13+
fib_results[str(n)] = fib(n - 1) + fib(n - 2)
14+
return fib_results[str(n)]
15+
516

617
def test_fibonacci(dut, request):
718
LOGGER = logging.getLogger(__name__)
819

9-
# Fibonacci results starting from fib(35) to fib(45)
10-
fib_results = [
11-
9227465,
12-
14930352,
13-
24157817,
14-
39088169,
15-
63245986,
16-
102334155,
17-
165580141,
18-
267914296,
19-
433494437,
20-
701408733,
21-
]
22-
2320
# Match "Runs: %d"
2421
res = dut.expect(r"Runs: (\d+)", timeout=60)
2522
runs = int(res.group(0).decode("utf-8").split(" ")[1])
@@ -30,7 +27,11 @@ def test_fibonacci(dut, request):
3027
res = dut.expect(r"N: (\d+)", timeout=300)
3128
fib_n = int(res.group(0).decode("utf-8").split(" ")[1])
3229
LOGGER.info("Calculating Fibonacci({})".format(fib_n))
33-
assert fib_n > 30 and fib_n < 50, "Invalid Fibonacci number"
30+
assert fib_n > 0, "Invalid Fibonacci number"
31+
32+
# Calculate Fibonacci results
33+
expected_result = fib(fib_n)
34+
LOGGER.info("Expected Fibonacci result: {}".format(expected_result))
3435

3536
list_time = []
3637

@@ -48,7 +49,7 @@ def test_fibonacci(dut, request):
4849
assert fib_result > 0, "Invalid Fibonacci result"
4950

5051
# Check if the result is correct
51-
assert fib_result == fib_results[fib_n - 35]
52+
assert fib_result == expected_result
5253

5354
# Match "Time: %lu.%03lu s"
5455
res = dut.expect(r"Time: (\d+)\.(\d+) s", timeout=300)

0 commit comments

Comments
 (0)