aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorvitikkan <viktor.tikkanen@nokia.com>2016-07-07 14:23:20 +0300
committerJose Lausuch <jose.lausuch@ericsson.com>2016-07-07 12:13:18 +0000
commitaa49985bda6e5a9935973c90aa13bda40eada399 (patch)
treea8876f63fece16a2d7e3e52ca68c76ae557adca1 /utils
parent627aed69c99bf0c3f8a0ffd4268cef74da956953 (diff)
Added 'vacation' test case
Running this test case illustrates how Functest code base and performance tend to grow when trying to catch more and more bugs in OPNFV environment. The case is not bound to any tier. Change-Id: Ib3c2f3f3d9d78c1251fbb35e6ea6afd3cf1afbdb Signed-off-by: vitikkan <viktor.tikkanen@nokia.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/functest_vacation.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/utils/functest_vacation.py b/utils/functest_vacation.py
new file mode 100644
index 000000000..0ba094477
--- /dev/null
+++ b/utils/functest_vacation.py
@@ -0,0 +1,52 @@
+from os import environ
+from curses import initscr, curs_set, newwin, endwin,\
+ KEY_RIGHT, KEY_LEFT, KEY_DOWN, KEY_UP
+from random import randrange
+
+
+def main():
+ environ["TERM"] = 'Eterm'
+ initscr()
+ curs_set(0)
+ try:
+ win = newwin(16, 60, 0, 0)
+ win.keypad(True)
+ win.nodelay(True)
+ win.border('|', '|', '-', '-', '+', '+', '+', '+')
+ win.addch(4, 44, '@')
+ win.addstr(0, 5, ' Eat all the OPNFV bugs by FunTest! ')
+ win.addstr(15, 7, ' Left,Right,Up,Down: move; other keys: quit ')
+ snake = [[20, 7], [19, 7], [18, 7], [17, 7],
+ [16, 7], [15, 7], [14, 7], [13, 7]]
+ key = KEY_RIGHT
+ body = '~FUNTEST'
+ ind = 0
+ while key != 27:
+ win.addstr(0, 44, ' Score: '+str(len(snake)-len(body))+' ')
+ win.timeout(140 - 2 * len(snake))
+ getkey = win.getch()
+ key = key if getkey == -1 else getkey
+ snake.insert(
+ 0, [snake[0][0]+(key == KEY_RIGHT and 1 or
+ key == KEY_LEFT and -1),
+ snake[0][1]+(key == KEY_DOWN and 1 or
+ key == KEY_UP and -1)])
+ win.addch(snake[len(snake)-1][1], snake[len(snake)-1][0], ' ')
+ if win.inch(snake[0][1], snake[0][0]) & 255 == 32:
+ snake.pop()
+ elif win.inch(snake[0][1], snake[0][0]) & 255 == ord('@'):
+ c = [n for n in [[randrange(1, 58, 1), randrange(1, 14, 1)]
+ for x in range(len(snake))] if n not in snake]
+ win.addch(c == [] and 4 or c[0][1],
+ c == [] and 44 or c[0][0], '@')
+ else:
+ break
+ ind += 1
+ win.addch(snake[0][1], snake[0][0], body[ind % len(body)])
+ finally:
+ endwin()
+
+ print '\nSnake.PY-26lines by Kris Cieslak (defaultset.blogspot.com).'
+ print 'OPNFV adaptation by Functest dream team.'
+ print 'Thanks for playing, your score: '+str(len(snake)-len(body)-1)+'.'
+ print 'Find and fix more bugs in your real OPNFV setup!\n'