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 | |
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>
-rw-r--r-- | cli/commands/cli_testcase.py | 5 | ||||
-rw-r--r-- | utils/functest_vacation.py | 52 |
2 files changed, 56 insertions, 1 deletions
diff --git a/cli/commands/cli_testcase.py b/cli/commands/cli_testcase.py index d8557b96..5d546a21 100644 --- a/cli/commands/cli_testcase.py +++ b/cli/commands/cli_testcase.py @@ -13,6 +13,7 @@ import yaml import functest.ci.tier_builder as tb import functest.utils.functest_utils as ft_utils +import functest.utils.functest_vacation as vacation """ global variables """ with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: @@ -48,7 +49,9 @@ class CliTestcase: click.echo(description) def run(self, testname): - if not os.path.isfile(ENV_FILE): + if testname == 'vacation': + vacation.main() + elif not os.path.isfile(ENV_FILE): click.echo("Functest environment is not ready. " "Run first 'functest env prepare'") else: 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' |