paulanthonywilson-iphone_testify 0.0.6 → 0.1.02

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -8,3 +8,10 @@
8
8
 
9
9
  * Adding growl pass/fail images for autotesting
10
10
  * Adding UnitTests directory as part of skeleton
11
+
12
+ == 0.0.7
13
+
14
+ * added .gitignore
15
+ * detects more failure conditions in growl message: segmentation faults, more build errors
16
+ * moved bulk of Rake into separate file
17
+ * changed tasks to auto:test, an auto:test:all
data/README.rdoc CHANGED
@@ -42,11 +42,12 @@ To autocompile/autorun all tests every time code changes
42
42
 
43
43
  To compile and run tests if code has changed since the last run
44
44
 
45
- % rake
45
+ % rake auto:test
46
46
 
47
47
  To compile and run all tests even if nothing has changed since the last time
48
48
 
49
- % rake test_all
49
+ % rake auto:test:all
50
+
50
51
 
51
52
 
52
53
  == REQUIREMENTS:
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ PROJ.email = 'paul.wilson@merecomplexities.com'
24
24
  PROJ.url = 'http://github.com/paulanthonywilson/iphone_testify/'
25
25
  PROJ.version = IphoneTestify::VERSION
26
26
 
27
- PROJ.exclude << '\.gitignore'
27
+ PROJ.exclude += ['\.gitignore', '\.DS_Store', '\.gem']
28
28
  PROJ.notes.exclude = %w(^README\.txt$ ^data/)
29
29
  PROJ.readme_file = 'README.rdoc'
30
30
 
@@ -2,7 +2,7 @@
2
2
  module IphoneTestify
3
3
  GEMDIR = File.expand_path(File.dirname(__FILE__) + "/..")
4
4
  # :stopdoc:
5
- VERSION = '0.0.6'
5
+ VERSION = '0.1.02'
6
6
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
7
7
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
8
8
  # :startdoc:
@@ -7,6 +7,7 @@ module IphoneTestify
7
7
  extend FileUtils
8
8
  def self.setup
9
9
  cp_r "#{SKELETONDIR}/.", "."
10
+ mv 'gitignore', '.gitignore', :force=>true
10
11
  mkdir_p "UnitTests"
11
12
  end
12
13
  end
@@ -0,0 +1,76 @@
1
+ IPHONE_SDK_VERSION = '2.2.1' unless Object::const_defined?("IPHONE_SDK_VERSION")
2
+
3
+ puts "SDK Version: #{IPHONE_SDK_VERSION}"
4
+
5
+
6
+ BUILD_STATUS_FILE=".built"
7
+
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
+
26
+ file BUILD_STATUS_FILE => Dir.glob("Classes/*.[hm]") + Dir.glob("UnitTests/*.m") do
27
+ failure_line = AutoTest::test
28
+ if failure_line
29
+ notice = ['Fail', failure_line.chomp]
30
+ else
31
+ notice = ['Pass']
32
+ end
33
+ AutoTest::growl *notice
34
+ File.open(BUILD_STATUS_FILE, 'w') {|f| f.write(notice * ": ")}
35
+ end
36
+
37
+
38
+ task 'auto:remove_built_file' do
39
+ FileUtils.rm_f(BUILD_STATUS_FILE)
40
+ end
41
+
42
+ desc "build and run the tests "
43
+ task 'auto:test:all'=>['auto:remove_built_file', 'auto:test']
44
+
45
+ desc "build and run the tests if changed"
46
+ task 'auto:test'=>[BUILD_STATUS_FILE] do
47
+ out = File.open('.built') {|f| f.read}
48
+ print out.coloured(out =~ /Pass/ ? :green : :red) + "\n"
49
+ end
50
+
51
+
52
+
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/Rakefile CHANGED
@@ -1,68 +1 @@
1
-
2
- BUILD_STATUS_FILE=".built"
3
-
4
- class String
5
- attr_accessor :colour
6
- RESET="\e[00;m"
7
-
8
- def coloured(colour = nil)
9
- colour||=@colour
10
- "#{colour_code(colour)}#{self}#{RESET}"
11
- end
12
-
13
- private
14
- def colour_code colour
15
- case colour
16
- when :red : "\e[01;31m"
17
- when :green : "\e[01;32m"
18
- end
19
- end
20
- end
21
-
22
- file BUILD_STATUS_FILE => Dir.glob("Classes/*.[hm]") + Dir.glob("UnitTests/*.m") do
23
- failure_line = test
24
- if failure_line
25
- notice = ['Fail', failure_line.chomp]
26
- else
27
- notice = ['Pass']
28
- end
29
- growl *notice
30
- File.open(BUILD_STATUS_FILE, 'w') {|f| f.write(notice * ": ")}
31
- end
32
-
33
- task :remove_built_file do
34
- FileUtils.rm_f(BUILD_STATUS_FILE)
35
- end
36
-
37
- task :test_all=>[:remove_built_file, :test]
38
-
39
- task :test=>[BUILD_STATUS_FILE] do
40
- out = File.open('.built') {|f| f.read}
41
- print out.coloured(out =~ /Pass/ ? :green : :red) + "\n"
42
- end
43
-
44
-
45
-
46
- task :default => [:test]
47
-
48
- def test
49
- output = `xcodebuild -target "Unit Test" -configuration Debug -sdk iphonesimulator2.1`
50
- failure_line = nil
51
- output.each do |line|
52
- if line =~ /error:|^Executed.*(\d+) failures/
53
- if $1.nil? || $1.to_i > 0
54
- failure_line||= line
55
- line.colour = :red
56
- else
57
- line.colour = :green
58
- end
59
- end
60
- print line.coloured
61
- end
62
- failure_line
63
- end
64
-
65
- def growl title, msg =""
66
- img = "~/.autotest_images/#{title.downcase}.png"
67
- `growlnotify -H localhost -n autotest --image #{img} -p 0 -m #{msg.inspect} #{title}`
68
- end
1
+ load 'Autotest.rake'
@@ -0,0 +1,20 @@
1
+ .built
2
+ *tm_build_errors
3
+ # xcode noise
4
+
5
+ iphone/build/*
6
+ *.pbxuser
7
+ *.mode2v3
8
+ *.mode1v3
9
+ *.perspective
10
+ *.perspectivev3
11
+
12
+
13
+ # osx noise
14
+ .DS_Store
15
+ profile
16
+
17
+
18
+ *.swp
19
+ *~.nib
20
+
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.0.6
4
+ version: 0.1.02
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-03-02 00:00:00 -08:00
12
+ date: 2009-04-13 00:00:00 -07:00
13
13
  default_executable: iphone_testify
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 2.4.0
43
+ version: 2.4.2
44
44
  version:
45
45
  description: Utility to help set up and iPhone project for testing using code from {The Google Toolbox for Mac}[http://code.google.com/p/google-toolbox-for-mac/].
46
46
  email: paul.wilson@merecomplexities.com
@@ -58,18 +58,15 @@ files:
58
58
  - README.rdoc
59
59
  - Rakefile
60
60
  - bin/iphone_testify
61
- - iphone_testify-0.0.2.gem
62
- - iphone_testify-0.0.4.gem
63
- - iphone_testify.gemspec
64
61
  - lib/iphone_testify.rb
65
62
  - lib/iphone_testify/setup.rb
66
- - skeleton/.DS_Store
63
+ - skeleton/Autotest.rake
67
64
  - skeleton/Rakefile
68
65
  - skeleton/UnitTests/put_unit_tests_here.txt
69
66
  - skeleton/autoiphonetest.rb
70
- - skeleton/autotest_images/.DS_Store
71
67
  - skeleton/autotest_images/fail.png
72
68
  - skeleton/autotest_images/pass.png
69
+ - skeleton/gitignore
73
70
  - skeleton/google_testing/GTMDefines.h
74
71
  - skeleton/google_testing/GTMIPhoneUnitTestDelegate.h
75
72
  - skeleton/google_testing/GTMIPhoneUnitTestDelegate.m
Binary file