diff options
author | vitikkan <viktor.tikkanen@nokia.com> | 2016-07-07 14:23:20 +0300 |
---|---|---|
committer | Jose Lausuch <jose.lausuch@ericsson.com> | 2016-07-07 12:13:18 +0000 |
commit | aa49985bda6e5a9935973c90aa13bda40eada399 (patch) | |
tree | a8876f63fece16a2d7e3e52ca68c76ae557adca1 /utils/functest_vacation.py | |
parent | 627aed69c99bf0c3f8a0ffd4268cef74da956953 (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/functest_vacation.py')
-rw-r--r-- | utils/functest_vacation.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/utils/functest_vacation.py b/utils/functest_vacation.py new file mode 100644 index 00000000..0ba09447 --- /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' |