paulanthonywilson-iphone_testify 0.0.6 → 0.1.02

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 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