Added simple stress test in python

This commit is contained in:
Henrik Kinnunen 2010-03-20 00:29:39 +01:00
parent f150f727b2
commit 43837f82e1

87
src/tests/stress_test.py Executable file
View file

@ -0,0 +1,87 @@
#!/usr/bin/env python
# This is a simple stress test:
# * resize
# * move
# * title change
# * create/delete window test
import gtk
import gobject
import random
import time
def rotate_left(values):
"""Rotate values left"""
new_values = values[1:len(values)]
new_values.append(values[0])
return new_values
class App:
def __init__(self):
self.titles = [ "fluxbox",
">>",
">>"*4,
">>"*8,
">>"*16,
">>"*24,
">>"*32,
">>"*64,
"more to come" ]
seed = int(time.time())
print "Seed:",seed
random.seed(seed)
self.window = None
self.create_window()
# Setup timers
gobject.timeout_add(100, self.change_title)
gobject.timeout_add(200, self.change_size)
gobject.timeout_add(300, self.change_position)
gobject.timeout_add(1000, self.create_window)
def create_window(self):
"""Destroys the old window and creates a new window"""
if self.window is not None:
self.window.destroy()
self.window = gtk.Window()
self.window.connect("delete-event", gtk.main_quit)
self.window.resize(300, 100)
self.window.set_title("fluxbox")
self.window.show()
return True
def change_title(self):
"""Changes the title of the window"""
self.window.set_title(self.titles[0])
self.titles = rotate_left(self.titles)
return True
def change_size(self):
"""Changes the size of the window"""
self.window.resize(random.randrange(1, 1000),
random.randrange(1, 1000))
return True
def change_position(self):
"""Changes the position of the window"""
self.window.move(random.randrange(-100, 1000),
random.randrange(-100, 1000))
return True
if __name__ == "__main__":
app = App()
gtk.main()