nevans-iphone_testify 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,123 @@
1
+ #!/bin/bash
2
+ # RunIPhoneUnitTest.sh
3
+ # Copyright 2008 Google Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
+ # use this file except in compliance with the License. You may obtain a copy
7
+ # of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
+ # License for the specific language governing permissions and limitations under
15
+ # the License.
16
+ #
17
+ # Runs all unittests through the iPhone simulator. We don't handle running them
18
+ # on the device. To run on the device just choose "run".
19
+
20
+ set -o errexit
21
+ set -o nounset
22
+ set -o verbose
23
+
24
+ # Controlling environment variables:
25
+ # GTM_DISABLE_ZOMBIES -
26
+ # Set to a non-zero value to turn on zombie checks. You will probably
27
+ # want to turn this off if you enable leaks.
28
+ GTM_DISABLE_ZOMBIES=${GTM_DISABLE_ZOMBIES:=1}
29
+
30
+ # GTM_ENABLE_LEAKS -
31
+ # Set to a non-zero value to turn on the leaks check. You will probably want
32
+ # to disable zombies, otherwise you will get a lot of false positives.
33
+
34
+ # GTM_DISABLE_TERMINATION
35
+ # Set to a non-zero value so that the app doesn't terminate when it's finished
36
+ # running tests. This is useful when using it with external tools such
37
+ # as Instruments.
38
+
39
+ # GTM_LEAKS_SYMBOLS_TO_IGNORE
40
+ # List of comma separated symbols that leaks should ignore. Mainly to control
41
+ # leaks in frameworks you don't have control over.
42
+ # Search this file for GTM_LEAKS_SYMBOLS_TO_IGNORE to see examples.
43
+ # Please feel free to add other symbols as you find them but make sure to
44
+ # reference Radars or other bug systems so we can track them.
45
+
46
+ # GTM_REMOVE_GCOV_DATA
47
+ # Before starting the test, remove any *.gcda files for the current run so
48
+ # you won't get errors when the source file has changed and the data can't
49
+ # be merged.
50
+ #
51
+ GTM_REMOVE_GCOV_DATA=${GTM_REMOVE_GCOV_DATA:=0}
52
+
53
+ ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
54
+ ScriptName=$(basename "$0")
55
+ ThisScript="${ScriptDir}/${ScriptName}"
56
+
57
+ GTMXcodeNote() {
58
+ echo ${ThisScript}:${1}: note: GTM ${2}
59
+ }
60
+
61
+ if [ "$PLATFORM_NAME" == "iphonesimulator" ]; then
62
+ # We kill the iPhone simulator because otherwise we run into issues where
63
+ # the unittests fail becuase the simulator is currently running, and
64
+ # at this time the iPhone SDK won't allow two simulators running at the same
65
+ # time.
66
+ set +e
67
+ /usr/bin/killall "iPhone Simulator"
68
+ set -e
69
+
70
+ if [ $GTM_REMOVE_GCOV_DATA -ne 0 ]; then
71
+ if [ "${OBJECT_FILE_DIR}-${CURRENT_VARIANT}" != "-" ]; then
72
+ if [ -d "${OBJECT_FILE_DIR}-${CURRENT_VARIANT}" ]; then
73
+ GTMXcodeNote ${LINENO} "Removing any .gcda files"
74
+ (cd "${OBJECT_FILE_DIR}-${CURRENT_VARIANT}" && \
75
+ find . -type f -name "*.gcda" -print0 | xargs -0 rm -f )
76
+ fi
77
+ fi
78
+ fi
79
+
80
+ export DYLD_ROOT_PATH="$SDKROOT"
81
+ export DYLD_FRAMEWORK_PATH="$CONFIGURATION_BUILD_DIR"
82
+ export IPHONE_SIMULATOR_ROOT="$SDKROOT"
83
+ export CFFIXED_USER_HOME="$TEMP_FILES_DIR/iPhone Simulator User Dir"
84
+
85
+ # See http://developer.apple.com/technotes/tn2004/tn2124.html for an
86
+ # explanation of these environment variables.
87
+
88
+ export MallocScribble=YES
89
+ export MallocPreScribble=YES
90
+ export MallocGuardEdges=YES
91
+ export MallocStackLogging=YES
92
+ export NSAutoreleaseFreedObjectCheckEnabled=YES
93
+
94
+ # Turn on the mostly undocumented OBJC_DEBUG stuff.
95
+ export OBJC_DEBUG_FRAGILE_SUPERCLASSES=YES
96
+ export OBJC_DEBUG_UNLOAD=YES
97
+ # Turned off due to the amount of false positives from NS classes.
98
+ # export OBJC_DEBUG_FINALIZERS=YES
99
+ export OBJC_DEBUG_NIL_SYNC=YES
100
+ export OBJC_PRINT_REPLACED_METHODS=YES
101
+
102
+ if [ $GTM_DISABLE_ZOMBIES -eq 0 ]; then
103
+ GTMXcodeNote ${LINENO} "Enabling zombies"
104
+ export CFZombieLevel=3
105
+ export NSZombieEnabled=YES
106
+ fi
107
+
108
+ # Cleanup user home and documents directory
109
+ if [ -d "$CFFIXED_USER_HOME" ]; then
110
+ rm -rf "$CFFIXED_USER_HOME"
111
+ fi
112
+ mkdir "$CFFIXED_USER_HOME"
113
+ mkdir "$CFFIXED_USER_HOME/Documents"
114
+
115
+ # 6251475 iPhone simulator leaks @ CFHTTPCookieStore shutdown if
116
+ # CFFIXED_USER_HOME empty
117
+ GTM_LEAKS_SYMBOLS_TO_IGNORE="CFHTTPCookieStore"
118
+
119
+ "$TARGET_BUILD_DIR/$EXECUTABLE_PATH" -RegisterForSystemEvents
120
+ else
121
+ GTMXcodeNote ${LINENO} "Skipping running of unittests for device build."
122
+ fi
123
+ exit 0
@@ -0,0 +1 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/iphone_testify")
@@ -0,0 +1,39 @@
1
+ require 'test/unit'
2
+ require 'fileutils'
3
+ require 'tmpdir'
4
+ require File.expand_path(File.dirname(__FILE__)) + "/test_helper"
5
+
6
+ class TestSetup < Test::Unit::TestCase
7
+ include FileUtils
8
+ def setup
9
+ @testdir = Dir.tmpdir + "/iphone_testify_setup_test"
10
+ rm_rf @testdir
11
+ mkdir @testdir
12
+ cd @testdir
13
+ end
14
+
15
+ def teardown
16
+ rm_rf @testdir
17
+ end
18
+
19
+ def test_skeleton_copied
20
+ IphoneTestify::Setup::setup
21
+ %w(Rakefile autoiphonetest.rb google_testing/ google_testing/GTMDefines.h).each do |file|
22
+ assert File.exists?(@testdir + "/#{file}"), file
23
+ end
24
+ end
25
+
26
+ def test_unit_test_directory_created
27
+ IphoneTestify::Setup::setup
28
+ assert File.exists?(@testdir + "/UnitTests"), "exists"
29
+ assert File.directory?(@testdir + "/UnitTests"), "directory"
30
+ end
31
+
32
+ def test_ok_if_already_exists
33
+ IphoneTestify::Setup::setup
34
+ IphoneTestify::Setup::setup
35
+ assert File.exists?(@testdir + "/UnitTests")
36
+ assert File.exists?(@testdir + "/Rakefile")
37
+ end
38
+
39
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nevans-iphone_testify
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.14
5
+ platform: ruby
6
+ authors:
7
+ - Paul Wilson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-07 00:00:00 -07:00
13
+ default_executable: iphone_testify
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: paulanthonywilson-osx_watchfolder
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.1
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.8.4
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: bones
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.5.0
44
+ version:
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
+ email: paul.wilson@merecomplexities.com
47
+ executables:
48
+ - iphone_testify
49
+ extensions: []
50
+
51
+ extra_rdoc_files:
52
+ - History.txt
53
+ - README.rdoc
54
+ - bin/iphone_testify
55
+ - skeleton/UnitTests/put_unit_tests_here.txt
56
+ files:
57
+ - History.txt
58
+ - README.rdoc
59
+ - Rakefile
60
+ - bin/iphone_testify
61
+ - lib/iphone_testify.rb
62
+ - lib/iphone_testify/setup.rb
63
+ - skeleton/Autotest.rake
64
+ - skeleton/Rakefile
65
+ - skeleton/UnitTests/put_unit_tests_here.txt
66
+ - skeleton/autoiphonetest.rb
67
+ - skeleton/autotest.rb
68
+ - skeleton/autotest_images/fail.png
69
+ - skeleton/autotest_images/pass.png
70
+ - skeleton/gitignore
71
+ - skeleton/google_testing/GTMDefines.h
72
+ - skeleton/google_testing/GTMIPhoneUnitTestDelegate.h
73
+ - skeleton/google_testing/GTMIPhoneUnitTestDelegate.m
74
+ - skeleton/google_testing/GTMIPhoneUnitTestMain.m
75
+ - skeleton/google_testing/GTMSenTestCase.h
76
+ - skeleton/google_testing/GTMSenTestCase.m
77
+ - skeleton/google_testing/GoogleToolboxForMac.license
78
+ - skeleton/google_testing/RunIPhoneUnitTest.sh
79
+ - test/test_helper.rb
80
+ - test/test_setup.rb
81
+ has_rdoc: true
82
+ homepage: http://github.com/paulanthonywilson/iphone_testify/
83
+ licenses:
84
+ post_install_message:
85
+ rdoc_options:
86
+ - --main
87
+ - README.rdoc
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: "0"
95
+ version:
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ version:
102
+ requirements: []
103
+
104
+ rubyforge_project: !binary |
105
+ AA==
106
+
107
+ rubygems_version: 1.3.5
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: Utility to help set up and iPhone project for testing using code from {The Google Toolbox for Mac}[http://code
111
+ test_files:
112
+ - test/test_helper.rb
113
+ - test/test_setup.rb