paulanthonywilson-iphone_testify 0.1.02 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -1
- data/lib/iphone_testify.rb +1 -1
- data/skeleton/Autotest.rake +2 -52
- data/skeleton/autoiphonetest.rb +10 -6
- data/skeleton/autotest.rb +58 -0
- metadata +3 -2
data/History.txt
CHANGED
@@ -14,4 +14,8 @@
|
|
14
14
|
* added .gitignore
|
15
15
|
* detects more failure conditions in growl message: segmentation faults, more build errors
|
16
16
|
* moved bulk of Rake into separate file
|
17
|
-
* changed tasks to auto:test, an auto:test:all
|
17
|
+
* changed tasks to auto:test, an auto:test:all
|
18
|
+
|
19
|
+
== 0.1.10
|
20
|
+
|
21
|
+
* ./autoiphonetest.rb no longer goes through rake
|
data/lib/iphone_testify.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
module IphoneTestify
|
3
3
|
GEMDIR = File.expand_path(File.dirname(__FILE__) + "/..")
|
4
4
|
# :stopdoc:
|
5
|
-
VERSION = '0.1.
|
5
|
+
VERSION = '0.1.10'
|
6
6
|
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
|
7
7
|
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
|
8
8
|
# :startdoc:
|
data/skeleton/Autotest.rake
CHANGED
@@ -1,36 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
puts "SDK Version: #{IPHONE_SDK_VERSION}"
|
4
|
-
|
1
|
+
require File.dirname(__FILE__) + '/autotest'
|
5
2
|
|
6
3
|
BUILD_STATUS_FILE=".built"
|
7
4
|
|
8
|
-
class String
|
9
|
-
attr_accessor :colour
|
10
|
-
RESET="\e[00;m"
|
11
|
-
|
12
|
-
def coloured(colour = nil)
|
13
|
-
colour||=@colour
|
14
|
-
"#{colour_code(colour)}#{self}#{RESET}"
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
def colour_code colour
|
19
|
-
case colour
|
20
|
-
when :red : "\e[01;31m"
|
21
|
-
when :green : "\e[01;32m"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
5
|
|
26
6
|
file BUILD_STATUS_FILE => Dir.glob("Classes/*.[hm]") + Dir.glob("UnitTests/*.m") do
|
27
|
-
|
28
|
-
if failure_line
|
29
|
-
notice = ['Fail', failure_line.chomp]
|
30
|
-
else
|
31
|
-
notice = ['Pass']
|
32
|
-
end
|
33
|
-
AutoTest::growl *notice
|
7
|
+
notice = AutoTest::test_and_report
|
34
8
|
File.open(BUILD_STATUS_FILE, 'w') {|f| f.write(notice * ": ")}
|
35
9
|
end
|
36
10
|
|
@@ -50,27 +24,3 @@ end
|
|
50
24
|
|
51
25
|
|
52
26
|
|
53
|
-
module AutoTest
|
54
|
-
def self.test
|
55
|
-
output = `xcodebuild -target "Unit Test" -configuration Debug -sdk iphonesimulator#{IPHONE_SDK_VERSION} 2>&1`
|
56
|
-
failure_line = nil
|
57
|
-
output.each do |line|
|
58
|
-
if line =~ /error:|^Executed.*(\d+) failures|Undefined symbols|PurpleSystemEventPort|FAILED|Segmentation fault/
|
59
|
-
if $1.nil? || $1.to_i > 0
|
60
|
-
failure_line||= line
|
61
|
-
line.colour = :red
|
62
|
-
else
|
63
|
-
line.colour = :green
|
64
|
-
end
|
65
|
-
end
|
66
|
-
print line.coloured unless line =~/Merge mismatch|setenv/
|
67
|
-
end
|
68
|
-
failure_line
|
69
|
-
end
|
70
|
-
|
71
|
-
def self.growl title, msg =""
|
72
|
-
img = "~/.autotest_images/#{title.downcase}.png"
|
73
|
-
`growlnotify -H localhost -n autotest --image #{img} -p 0 -m #{msg.inspect} #{title}`
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
data/skeleton/autoiphonetest.rb
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
require File.dirname(__FILE__) + '/autotest'
|
4
|
+
|
3
5
|
require 'rubygems'
|
4
|
-
|
6
|
+
|
7
|
+
gem 'paulanthonywilson-osx_watchfolder'
|
5
8
|
gem 'rake'
|
6
9
|
|
10
|
+
require 'osx_watchfolder'
|
7
11
|
|
8
12
|
ARGV.clear
|
13
|
+
ARGV << 'auto:test:all'
|
14
|
+
|
15
|
+
|
16
|
+
AutoTest::test_and_report
|
9
17
|
|
10
|
-
fork do
|
11
|
-
ARGV << 'test_all'
|
12
|
-
load 'rake'
|
13
|
-
end
|
14
18
|
OsxWatchfolder::FolderWatcher.new("Classes", "UnitTests") do
|
15
|
-
|
19
|
+
AutoTest::test_and_report
|
16
20
|
end.start
|
@@ -0,0 +1,58 @@
|
|
1
|
+
class String
|
2
|
+
attr_accessor :colour
|
3
|
+
RESET="\e[00;m"
|
4
|
+
|
5
|
+
def coloured(colour = nil)
|
6
|
+
colour||=@colour
|
7
|
+
"#{colour_code(colour)}#{self}#{RESET}"
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
def colour_code colour
|
12
|
+
case colour
|
13
|
+
when :red : "\e[01;31m"
|
14
|
+
when :green : "\e[01;32m"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module AutoTest
|
20
|
+
def self.test_and_report
|
21
|
+
failure_line = test
|
22
|
+
report failure_line
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.report failure_line
|
26
|
+
if failure_line
|
27
|
+
notice = ['Fail', failure_line.chomp]
|
28
|
+
else
|
29
|
+
notice = ['Pass']
|
30
|
+
end
|
31
|
+
AutoTest::growl *notice
|
32
|
+
notice
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.test
|
36
|
+
puts "Build: #{Time::now}"
|
37
|
+
output = `xcodebuild -target "Unit Test" -configuration Debug -sdk iphonesimulator2.1 2>&1`
|
38
|
+
failure_line = nil
|
39
|
+
output.each do |line|
|
40
|
+
if line =~ /error:|^Executed.*(\d+) failures|Undefined symbols|PurpleSystemEventPort|FAILED|Segmentation fault/
|
41
|
+
if $1.nil? || $1.to_i > 0
|
42
|
+
failure_line||= line
|
43
|
+
line.colour = :red
|
44
|
+
else
|
45
|
+
line.colour = :green
|
46
|
+
end
|
47
|
+
end
|
48
|
+
print line.coloured unless line =~/Merge mismatch|setenv/
|
49
|
+
end
|
50
|
+
failure_line
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.growl title, msg =""
|
54
|
+
img = "~/.autotest_images/#{title.downcase}.png"
|
55
|
+
`growlnotify -H localhost -n autotest --image #{img} -p 0 -m #{msg.inspect} #{title}`
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paulanthonywilson-iphone_testify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Wilson
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-20 00:00:00 -07:00
|
13
13
|
default_executable: iphone_testify
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- skeleton/Rakefile
|
65
65
|
- skeleton/UnitTests/put_unit_tests_here.txt
|
66
66
|
- skeleton/autoiphonetest.rb
|
67
|
+
- skeleton/autotest.rb
|
67
68
|
- skeleton/autotest_images/fail.png
|
68
69
|
- skeleton/autotest_images/pass.png
|
69
70
|
- skeleton/gitignore
|