Clean up load tests.

This commit is contained in:
Yghor Kerscher 2017-10-31 17:45:39 +01:00
parent 8514b3d710
commit 1e0019cee3

View File

@ -20,10 +20,25 @@ def select_snapshot():
] ]
return random_element(_snapshots) return random_element(_snapshots)
class HoogleQueries(TaskSet): def select_package():
@task _packages = [
def hoogle_queries(self): "accelerate",
# TODO: Get actual common queries from server logs "adjunctions",
"aeson",
"binary",
"both",
"extensible-effects",
"hamlet",
"hdocs",
"microlens",
"range",
"sort",
"text",
"universe"
]
return random_element(_packages)
def select_hoogle_query():
_hoogle_queries = [ _hoogle_queries = [
"Ord", "Ord",
"Eq", "Eq",
@ -40,9 +55,21 @@ class HoogleQueries(TaskSet):
"bimap", "bimap",
"inject" "inject"
] ]
return random_element(_hoogle_queries)
class HoogleQueries(TaskSet):
@task
def hoogle_queries(self):
_snapshot = select_snapshot() _snapshot = select_snapshot()
for q in _hoogle_queries: _query = select_hoogle_query()
self.client.get("/" + _snapshot + "/hoogle?q=" + q, name="/:snapshot/hoogle?q=[:query]") self.client.get("/" \
+ _snapshot \
+ "/hoogle?q=" + _query \
, name="/:snapshot/hoogle?q=[:query]")
@task
def stop(self):
self.interrupt()
@task @task
def stop(self): def stop(self):
@ -52,35 +79,26 @@ class Documentation(TaskSet):
@task @task
def docs(self): def docs(self):
_snapshot = select_snapshot() _snapshot = select_snapshot()
self.client.get("/" + _snapshot + "/docs", name="/:snapshot/docs") self.client.get("/" \
+ _snapshot \
+ "/docs" \
, name="/:snapshot/docs")
@task @task
def stop(self): def stop(self):
self.interrupt() self.interrupt()
class PackageBrowser(TaskSet): class PackageBrowser(TaskSet):
@task(10) @task
def browse_package(self): def browse_package(self):
# TODO: Get packages to test from up-to-date listing on Stackage, move out of here
_packages = [
"accelerate",
"adjunctions",
"aeson",
"binary",
"both",
"extensible-effects",
"hamlet",
"hdocs",
"microlens",
"range",
"sort",
"text",
"universe"
]
_snapshot = select_snapshot() _snapshot = select_snapshot()
self.client.get("/" + _snapshot + "/package/" + random_element(_packages), name="/:snapshot/package/:package") _package = select_package()
self.client.get("/" \
+ _snapshot \
+ "/package/" + _package \
, name="/:snapshot/package/:package")
@task(2) @task
def stop(self): def stop(self):
self.interrupt() self.interrupt()