xcpretty 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.kick +17 -0
- data/.travis.yml +4 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +96 -0
- data/Rakefile +19 -0
- data/bin/xcpretty +33 -0
- data/features/simple_format.feature +21 -0
- data/features/steps/formatting_steps.rb +58 -0
- data/features/support/env.rb +35 -0
- data/features/test_format.feature +27 -0
- data/lib/xcpretty/printer.rb +105 -0
- data/lib/xcpretty/printers/rspec.rb +24 -0
- data/lib/xcpretty/printers/simple.rb +124 -0
- data/lib/xcpretty/version.rb +3 -0
- data/lib/xcpretty.rb +8 -0
- data/spec/fixtures/constants.rb +416 -0
- data/spec/fixtures/sample_xctool_output +740 -0
- data/spec/xcpretty/printers/printer_spec.rb +78 -0
- data/spec/xcpretty/printers/rspec_spec.rb +36 -0
- data/spec/xcpretty/printers/simple_spec.rb +116 -0
- data/xcpretty.gemspec +34 -0
- metadata +152 -0
@@ -0,0 +1,78 @@
|
|
1
|
+
require "xcpretty/printer"
|
2
|
+
require "fixtures/constants"
|
3
|
+
|
4
|
+
module XCPretty
|
5
|
+
|
6
|
+
module Printer
|
7
|
+
|
8
|
+
describe Printer do
|
9
|
+
|
10
|
+
include Printer
|
11
|
+
|
12
|
+
def pretty_format(text)
|
13
|
+
""
|
14
|
+
end
|
15
|
+
|
16
|
+
def executed_tests_message
|
17
|
+
format_test_summary(SAMPLE_EXECUTED_TESTS)
|
18
|
+
end
|
19
|
+
|
20
|
+
def given_tests_are_done(reporter = SAMPLE_XCTEST_SUITE_COMPLETION)
|
21
|
+
pretty_print(reporter)
|
22
|
+
end
|
23
|
+
|
24
|
+
def given_kiwi_tests_are_done
|
25
|
+
pretty_print(SAMPLE_XCTEST_SUITE_COMPLETION)
|
26
|
+
pretty_print(SAMPLE_EXECUTED_TESTS)
|
27
|
+
pretty_print(SAMPLE_KIWI_SUITE_COMPLETION)
|
28
|
+
end
|
29
|
+
|
30
|
+
before(:each) do
|
31
|
+
STDOUT.stub(:print) { |text| text }
|
32
|
+
end
|
33
|
+
|
34
|
+
it "knows when the test suite is done for OCunit / Specta" do
|
35
|
+
executed_tests_message.should == ""
|
36
|
+
|
37
|
+
given_tests_are_done
|
38
|
+
executed_tests_message.should == "\n\n#{SAMPLE_EXECUTED_TESTS}"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "knows when the test suite is done for XCtest" do
|
42
|
+
executed_tests_message.should == ""
|
43
|
+
|
44
|
+
given_tests_are_done
|
45
|
+
executed_tests_message.should == "\n\n#{SAMPLE_EXECUTED_TESTS}"
|
46
|
+
end
|
47
|
+
|
48
|
+
it "prints out Kiwi failures nicely" do
|
49
|
+
pretty_print(SAMPLE_KIWI_FAILURE)
|
50
|
+
given_tests_are_done
|
51
|
+
executed_tests_message.should include(%Q(
|
52
|
+
NumberAdditions Iterators_TimesIteratesTheExactNumberOfTimes, expected subject to equal 4, got 5
|
53
|
+
/Users/musalj/code/OSS/ObjectiveSugar/Example/ObjectiveSugarTests/NSNumberTests.m:49
|
54
|
+
|
55
|
+
|
56
|
+
#{SAMPLE_EXECUTED_TESTS}))
|
57
|
+
end
|
58
|
+
|
59
|
+
it "prints out specta failures nicely" do
|
60
|
+
pretty_print(SAMPLE_SPECTA_FAILURE)
|
61
|
+
given_tests_are_done
|
62
|
+
executed_tests_message.should include(%Q(
|
63
|
+
RACCommandSpec enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES, expected: 1, got: 0
|
64
|
+
/Users/musalj/code/OSS/ReactiveCocoa/ReactiveCocoaFramework/ReactiveCocoaTests/RACCommandSpec.m:458
|
65
|
+
|
66
|
+
|
67
|
+
#{SAMPLE_EXECUTED_TESTS}))
|
68
|
+
end
|
69
|
+
|
70
|
+
it "doesn't print executed message twice for Kiwi tests" do
|
71
|
+
Printer.instance_variable_set(:@printed_summary, false)
|
72
|
+
given_kiwi_tests_are_done
|
73
|
+
executed_tests_message.should == ""
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require "xcpretty/printer"
|
2
|
+
require "xcpretty/printers/rspec"
|
3
|
+
require "fixtures/constants"
|
4
|
+
|
5
|
+
module XCPretty
|
6
|
+
|
7
|
+
module Printer
|
8
|
+
|
9
|
+
describe RSpec do
|
10
|
+
|
11
|
+
it "prints dots in the same line" do
|
12
|
+
STDOUT.should receive(:print)
|
13
|
+
subject.pretty_print(SAMPLE_OCUNIT_TEST)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "prints dots for passing tests" do
|
17
|
+
subject.pretty_format(SAMPLE_OCUNIT_TEST).should == "."
|
18
|
+
end
|
19
|
+
|
20
|
+
it "prints F for failing tests" do
|
21
|
+
subject.pretty_format(SAMPLE_KIWI_FAILURE).should == "F"
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "doesn't output any compiling output" do
|
25
|
+
|
26
|
+
it "compiling output" do
|
27
|
+
subject.pretty_format(SAMPLE_COMPILE).should == ""
|
28
|
+
end
|
29
|
+
|
30
|
+
it "clean target/project/configuration with nested pods" do
|
31
|
+
subject.pretty_format(SAMPLE_CLEAN).should == ""
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
require "xcpretty/printer"
|
2
|
+
require "xcpretty/printers/simple"
|
3
|
+
require "fixtures/constants"
|
4
|
+
|
5
|
+
module XCPretty
|
6
|
+
|
7
|
+
module Printer
|
8
|
+
|
9
|
+
describe Simple do
|
10
|
+
|
11
|
+
it "prints to stdout" do
|
12
|
+
STDOUT.should receive(:print)
|
13
|
+
subject.pretty_print(SAMPLE_CLEAN)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "doesn't print empty lines" do
|
17
|
+
STDOUT.should_not receive(:print)
|
18
|
+
subject.pretty_print("")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "parses compiling output" do
|
22
|
+
subject.pretty_format(SAMPLE_COMPILE).should ==
|
23
|
+
"Compiling NSMutableArray+ObjectiveSugar.m"
|
24
|
+
end
|
25
|
+
|
26
|
+
it "parses another compiling output" do
|
27
|
+
subject.pretty_format(SAMPLE_ANOTHER_COMPILE).should ==
|
28
|
+
"Compiling KWNull.m"
|
29
|
+
end
|
30
|
+
|
31
|
+
it "parses precompiling output" do
|
32
|
+
subject.pretty_format(SAMPLE_PRECOMPILE).should ==
|
33
|
+
"Precompiling Pods-CocoaLumberjack-prefix.pch"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "parses another precompiling output" do
|
37
|
+
subject.pretty_format(SAMPLE_ANOTHER_PRECOMPILE).should ==
|
38
|
+
"Precompiling Pods-CrittercismSDK-prefix.pch"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "parses clean remove output" do
|
42
|
+
subject.pretty_format(SAMPLE_CLEAN_REMOVE).should == ""
|
43
|
+
end
|
44
|
+
|
45
|
+
it "kills 'Check dependencies'" do
|
46
|
+
subject.pretty_format("Check dependencies").should == ""
|
47
|
+
end
|
48
|
+
|
49
|
+
it "parses clean target/project/configuration" do
|
50
|
+
subject.pretty_format(SAMPLE_CLEAN).should ==
|
51
|
+
"Cleaning Pods/ObjectiveSugar [Debug]"
|
52
|
+
end
|
53
|
+
|
54
|
+
it "parses another clean target/project/configuration" do
|
55
|
+
subject.pretty_format(SAMPLE_ANOTHER_CLEAN).should ==
|
56
|
+
"Cleaning Pods/Pods [Debug]"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "parses build target/project/configuration with target" do
|
60
|
+
subject.pretty_format(SAMPLE_BUILD).should ==
|
61
|
+
"Building Pods/The Spacer [Debug]"
|
62
|
+
end
|
63
|
+
|
64
|
+
it "parses clean target/project/configuration with nested pods" do
|
65
|
+
subject.pretty_format(SAMPLE_CLEAN_NESTED_PODS).should ==
|
66
|
+
"Cleaning Pods/Kiwi [Debug]"
|
67
|
+
end
|
68
|
+
|
69
|
+
it "parses PhaseScriptExecution" do
|
70
|
+
subject.pretty_format(SAMPLE_RUN_SCRIPT).should ==
|
71
|
+
"Running script 'Check Pods Manifest.lock'"
|
72
|
+
end
|
73
|
+
|
74
|
+
it "parses Libtool" do
|
75
|
+
subject.pretty_format(SAMPLE_LIBTOOL).should ==
|
76
|
+
"Building library libPods-ObjectiveSugarTests-Kiwi.a"
|
77
|
+
end
|
78
|
+
|
79
|
+
it "parses CpResource" do
|
80
|
+
subject.pretty_format(SAMPLE_CPRESOURCE).should ==
|
81
|
+
"Copying ObjectiveSugar/Default-568h@2x.png"
|
82
|
+
end
|
83
|
+
|
84
|
+
it "parses CopyStringsFile" do
|
85
|
+
subject.pretty_format(SAMPLE_COPYSTRINGS).should ==
|
86
|
+
"Copying InfoPlist.strings"
|
87
|
+
end
|
88
|
+
|
89
|
+
it "parses GenerateDSYMFile" do
|
90
|
+
subject.pretty_format(SAMPLE_DSYM).should ==
|
91
|
+
"Generating DSYM file"
|
92
|
+
end
|
93
|
+
|
94
|
+
it "parses info.plist processing" do
|
95
|
+
subject.pretty_format(SAMPLE_PROCESS_INFOPLIST).should ==
|
96
|
+
"Processing The Spacer-Info.plist"
|
97
|
+
end
|
98
|
+
|
99
|
+
it "parses Ld" do
|
100
|
+
subject.pretty_format(SAMPLE_LD).should ==
|
101
|
+
"Linking ObjectiveSugar"
|
102
|
+
end
|
103
|
+
|
104
|
+
it "parses passing tests" do
|
105
|
+
subject.pretty_format(SAMPLE_OCUNIT_TEST).should ==
|
106
|
+
"RACTupleSpec _tupleByAddingObject__should_add_a_non_nil_object (0.001 seconds)"
|
107
|
+
end
|
108
|
+
|
109
|
+
it "parses failing tests" do
|
110
|
+
subject.pretty_format(SAMPLE_SPECTA_FAILURE).should ==
|
111
|
+
"RACCommandSpec enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES, expected: 1, got: 0"
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
data/xcpretty.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'xcpretty/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "xcpretty"
|
8
|
+
spec.version = XCPretty::VERSION
|
9
|
+
spec.authors = ["Marin Usalj", "Delisa Mason"]
|
10
|
+
spec.email = ["mneorr@gmail.com", "kattrali@gmail.com"]
|
11
|
+
spec.description =
|
12
|
+
%q{
|
13
|
+
Xcodebuild formatter designed to be piped with `xcodebuild`,
|
14
|
+
and thus keeping 100% compatibility.
|
15
|
+
|
16
|
+
It has modes for CI, running tests (RSpec dot-style),
|
17
|
+
and it can also mine Bitcoins.
|
18
|
+
}
|
19
|
+
spec.summary = %q{xcodebuild formatter done right}
|
20
|
+
spec.homepage = "https://github.com/mneorr/xcpretty"
|
21
|
+
spec.license = "MIT"
|
22
|
+
|
23
|
+
spec.files = `git ls-files`.split($/)
|
24
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
25
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
26
|
+
spec.require_paths = ["lib"]
|
27
|
+
|
28
|
+
spec.add_dependency "paint"
|
29
|
+
|
30
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
31
|
+
spec.add_development_dependency "rake"
|
32
|
+
spec.add_development_dependency "rspec"
|
33
|
+
spec.add_development_dependency "cucumber"
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: xcpretty
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marin Usalj
|
8
|
+
- Delisa Mason
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-12-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: paint
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.3'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.3'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: cucumber
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
description: "\n Xcodebuild formatter designed to be piped with `xcodebuild`,\n and
|
85
|
+
thus keeping 100% compatibility.\n\n It has modes for CI, running tests (RSpec
|
86
|
+
dot-style),\n and it can also mine Bitcoins.\n "
|
87
|
+
email:
|
88
|
+
- mneorr@gmail.com
|
89
|
+
- kattrali@gmail.com
|
90
|
+
executables:
|
91
|
+
- xcpretty
|
92
|
+
extensions: []
|
93
|
+
extra_rdoc_files: []
|
94
|
+
files:
|
95
|
+
- .gitignore
|
96
|
+
- .kick
|
97
|
+
- .travis.yml
|
98
|
+
- Gemfile
|
99
|
+
- LICENSE.txt
|
100
|
+
- README.md
|
101
|
+
- Rakefile
|
102
|
+
- bin/xcpretty
|
103
|
+
- features/simple_format.feature
|
104
|
+
- features/steps/formatting_steps.rb
|
105
|
+
- features/support/env.rb
|
106
|
+
- features/test_format.feature
|
107
|
+
- lib/xcpretty.rb
|
108
|
+
- lib/xcpretty/printer.rb
|
109
|
+
- lib/xcpretty/printers/rspec.rb
|
110
|
+
- lib/xcpretty/printers/simple.rb
|
111
|
+
- lib/xcpretty/version.rb
|
112
|
+
- spec/fixtures/constants.rb
|
113
|
+
- spec/fixtures/sample_xctool_output
|
114
|
+
- spec/xcpretty/printers/printer_spec.rb
|
115
|
+
- spec/xcpretty/printers/rspec_spec.rb
|
116
|
+
- spec/xcpretty/printers/simple_spec.rb
|
117
|
+
- xcpretty.gemspec
|
118
|
+
homepage: https://github.com/mneorr/xcpretty
|
119
|
+
licenses:
|
120
|
+
- MIT
|
121
|
+
metadata: {}
|
122
|
+
post_install_message:
|
123
|
+
rdoc_options: []
|
124
|
+
require_paths:
|
125
|
+
- lib
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
requirements: []
|
137
|
+
rubyforge_project:
|
138
|
+
rubygems_version: 2.0.3
|
139
|
+
signing_key:
|
140
|
+
specification_version: 4
|
141
|
+
summary: xcodebuild formatter done right
|
142
|
+
test_files:
|
143
|
+
- features/simple_format.feature
|
144
|
+
- features/steps/formatting_steps.rb
|
145
|
+
- features/support/env.rb
|
146
|
+
- features/test_format.feature
|
147
|
+
- spec/fixtures/constants.rb
|
148
|
+
- spec/fixtures/sample_xctool_output
|
149
|
+
- spec/xcpretty/printers/printer_spec.rb
|
150
|
+
- spec/xcpretty/printers/rspec_spec.rb
|
151
|
+
- spec/xcpretty/printers/simple_spec.rb
|
152
|
+
has_rdoc:
|