-
Notifications
You must be signed in to change notification settings - Fork 0
/
browserplugin.py
42 lines (34 loc) · 1.22 KB
/
browserplugin.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env python
import os
from nose.plugins import Plugin
class BrowserOutput(Plugin):
name = "browserplugin"
score = 200
def setOutputStream(self, stream):
self.stream = stream
return None
def describeTest(self, test):
browser = os.getenv("SL_BROWSER")
b_version = os.getenv("SL_BROWSER_VERSION")
if b_version.strip() == "":
specific = browser
else:
specific = '-'.join([browser, b_version.strip()])
names = str(test).split()
func_name = names[0]
class_module = names[1].strip("()").split('.')
if len(class_module) < 4:
return ' '.join(class_module)
test_name = class_module[2] + ".py:" + class_module[3] + "." + func_name
return ' '.join([test_name, specific])
def addSuccess(self, test):
out = "\n" + self.describeTest(test) + " SUCCESS"
self.stream.writeln(out)
def formatFailure(self, test, err):
out = "\n" + self.describeTest(test) + " FAILURE"
self.stream.writeln(out)
return err
def formatError(self, test, err):
out = "\n" + self.describeTest(test) + " EXCEPTION"
self.stream.writeln(out)
return err