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,29 +20,56 @@ def select_snapshot():
]
return random_element(_snapshots)
def select_package():
_packages = [
"accelerate",
"adjunctions",
"aeson",
"binary",
"both",
"extensible-effects",
"hamlet",
"hdocs",
"microlens",
"range",
"sort",
"text",
"universe"
]
return random_element(_packages)
def select_hoogle_query():
_hoogle_queries = [
"Ord",
"Eq",
"Num",
"pack",
"Text -> String",
"fmap",
"a -> a",
"traverse",
"bracket",
"^.",
">>>",
"<$>",
"bimap",
"inject"
]
return random_element(_hoogle_queries)
class HoogleQueries(TaskSet):
@task
def hoogle_queries(self):
# TODO: Get actual common queries from server logs
_hoogle_queries = [
"Ord",
"Eq",
"Num",
"pack",
"Text -> String",
"fmap",
"a -> a",
"traverse",
"bracket",
"^.",
">>>",
"<$>",
"bimap",
"inject"
]
_snapshot = select_snapshot()
for q in _hoogle_queries:
self.client.get("/" + _snapshot + "/hoogle?q=" + q, name="/:snapshot/hoogle?q=[:query]")
_query = select_hoogle_query()
self.client.get("/" \
+ _snapshot \
+ "/hoogle?q=" + _query \
, name="/:snapshot/hoogle?q=[:query]")
@task
def stop(self):
self.interrupt()
@task
def stop(self):
@ -52,35 +79,26 @@ class Documentation(TaskSet):
@task
def docs(self):
_snapshot = select_snapshot()
self.client.get("/" + _snapshot + "/docs", name="/:snapshot/docs")
self.client.get("/" \
+ _snapshot \
+ "/docs" \
, name="/:snapshot/docs")
@task
def stop(self):
self.interrupt()
class PackageBrowser(TaskSet):
@task(10)
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()
self.client.get("/" + _snapshot + "/package/" + random_element(_packages), name="/:snapshot/package/:package")
@task(2)
class PackageBrowser(TaskSet):
@task
def browse_package(self):
_snapshot = select_snapshot()
_package = select_package()
self.client.get("/" \
+ _snapshot \
+ "/package/" + _package \
, name="/:snapshot/package/:package")
@task
def stop(self):
self.interrupt()
@ -88,11 +106,11 @@ class Snapshots(TaskSet):
@task
def updateSnapshots(self):
self.client.get("/download/snapshots.json")
@task
def stop(self):
self.interrupt()
class TopLevelPages(TaskSet):
@task(20)
def install(self):
@ -101,7 +119,7 @@ class TopLevelPages(TaskSet):
@task(10)
def lts(self):
self.client.get("/lts")
@task(5)
def nightly(self):
self.client.get("/nightly")