Class: CommitLive::Strategies::PythonUnittest
Instance Method Summary
collapse
#check_dependencies, #configure
Instance Method Details
#cleanup ⇒ Object
52
53
54
55
56
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 52
def cleanup
if File.exists?('.results.json')
FileUtils.rm('.results.json')
end
end
|
#detect ⇒ Object
7
8
9
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 7
def detect
files.any? {|f| f.match(/.*.py$/) }
end
|
#files ⇒ Object
11
12
13
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 11
def files
@files ||= Dir.entries('.')
end
|
#print_results ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 19
def print_results
if File.exists?('.results.json')
rows = []
totalPassed = 0
totalFailed = 0
test_results = results
columns = ['Test Case', 'Status']
test_results["results"].each do |value|
newRow = [value["name"], value["type"]]
isErrorOrFail = value['type'] == 'failure' || value['type'] == 'error'
totalFailed += 1 if isErrorOrFail
newRow << value['message'] if isErrorOrFail
totalPassed += 1 if value['type'] == 'success'
rows << newRow
end
if totalFailed > 0
columns << 'Message'
end
table = Terminal::Table.new do |t|
t.headings = columns
t.rows = rows
t.style = { :all_separators => true }
end
puts table
puts "Total Passed: #{totalPassed}"
puts "Total Failed: #{totalFailed}"
end
end
|
#results ⇒ Object
48
49
50
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 48
def results
@output ||= Oj.load(File.read('.results.json'), mode: :compat)
end
|
#run(dir) ⇒ Object
15
16
17
|
# File 'lib/commit-live/tests/strategies/python-test.rb', line 15
def run(dir)
system("nosetests #{dir} --verbose --with-json --json-file=\"./.results.json\" > /dev/null 2>&1")
end
|