xcpretty 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9e545d9dce2b78bc9b2e752084c12eea449548c
4
- data.tar.gz: 66f8241eb6083b21bad323f67b523487beb8ddd2
3
+ metadata.gz: 093859ed58db9406724d77694f6664b45e24e716
4
+ data.tar.gz: 1170dd4c63ab10c2d3ea785f99db697cb9b4dfdd
5
5
  SHA512:
6
- metadata.gz: bcbddd17addbb98fdf571bec535dfe1a1bdaf82e25c2d735988c8b2b012be022251365f129d9de7ba6a97ae2edc4f601acf802778af0940dfe4ed2961489bf2c
7
- data.tar.gz: 8449afa6fea052c28f75667785072ca269c2c1a04e87feada85f90ff5e5f53f19d49780345a5b89003e28a1d40ac3fdd669bb56f1e9823a0b85133e8c8fd6672
6
+ metadata.gz: 8b632dcdfd5b2c3eb2b874a2d0a6a3500290907565a1e70d8e1a2814aa2b5958269f7d80e7f861439c2a1e0da0b7c94d57491893b441e9ea020c43a8c7db6e8b
7
+ data.tar.gz: c55f5c50f4e1d832ed84df1c67a07cbab241acd2aeb4046533df524862e08ef4f3b8374507064758e9f2eb387a952454386274f79f96e0e6ec1407c15e7a1806
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  *.gem
2
2
  *.rbc
3
3
  .bundle
4
+ .vendor
4
5
  .config
5
6
  .yardoc
6
7
  .rspec
@@ -1,11 +1,12 @@
1
1
  language: ruby
2
2
  sudo: false
3
- install:
4
- - bundle install
5
3
 
6
4
  rvm:
7
5
  - 2.1.1
8
6
  - 2.0.0
9
7
 
10
- script: rake ci
8
+ script:
9
+ - rake spec
10
+ - rake cucumber
11
+ - rake lint
11
12
 
data/Rakefile CHANGED
@@ -1,26 +1,17 @@
1
- require "bundler/gem_tasks"
2
- require 'rubocop/rake_task'
3
- require 'rspec/core/rake_task'
4
- require 'cucumber/rake/task'
1
+ require 'bundler/gem_tasks'
5
2
 
6
3
  task :kick do
7
4
  sh 'bundle exec kicker -r ruby'
8
5
  end
9
6
 
10
- Cucumber::Rake::Task.new(:cucumber) do |task|
7
+ task :spec do
8
+ sh 'bundle exec rspec --color --format=doc'
11
9
  end
12
10
 
13
- RSpec::Core::RakeTask.new(:spec) do |task|
14
- task.rspec_opts = %w(--color --format=doc)
11
+ task :cucumber do
12
+ sh 'bundle exec cucumber'
15
13
  end
16
14
 
17
- RuboCop::RakeTask.new(:lint) do |task|
18
- task.fail_on_error = false
15
+ task :lint do
16
+ sh 'bundle exec rubocop'
19
17
  end
20
-
21
- task :ci do
22
- Rake::Task[:spec].invoke
23
- Rake::Task[:cucumber].invoke
24
- Rake::Task[:lint].invoke
25
- end
26
-
@@ -167,6 +167,11 @@ Feature: Showing build output in simple format
167
167
  When I pipe to xcpretty with "--simple --no-color"
168
168
  Then I should see a successful code signing message
169
169
 
170
+ Scenario: Showing target will not be code signed warning
171
+ Given I have a target which will not be code signed
172
+ When I pipe to xcpretty with "--simple --color"
173
+ Then I should see a target will not be code signed warning
174
+
170
175
  Scenario: Showing preprocess
171
176
  Given I have a file to preprocess
172
177
  When I pipe to xcpretty with "--simple --no-color"
@@ -207,3 +212,17 @@ Feature: Showing build output in simple format
207
212
  When I pipe to xcpretty with "--simple --color"
208
213
  Then I should see a yellow warning message
209
214
 
215
+ Scenario: Showing provisioning profile doesn't support capability
216
+ Given the provisioning profile doesn't support capability
217
+ When I pipe to xcpretty with "--simple --no-color"
218
+ Then I should see the profile doesn't support capability message
219
+
220
+ Scenario: Showing provisioning profile doesn't include entitlement
221
+ Given the provisioning profile doesn't include entitlement
222
+ When I pipe to xcpretty with "--simple --no-color"
223
+ Then I should see the profile doesn't include entitlement message
224
+
225
+ Scenario: Showing code signing is required error
226
+ Given the target requires code signing
227
+ When I pipe to xcpretty with "--simple --no-color"
228
+ Then I should see the code signing is requried message
@@ -68,6 +68,10 @@ Given(/^I have a framework to code sign$/) do
68
68
  add_run_input SAMPLE_CODESIGN_FRAMEWORK
69
69
  end
70
70
 
71
+ Given(/^I have a target which will not be code signed$/) do
72
+ add_run_input SAMPLE_WILL_NOT_BE_CODE_SIGNED
73
+ end
74
+
71
75
  Given(/^I have a file to preprocess$/) do
72
76
  add_run_input SAMPLE_PREPROCESS
73
77
  end
@@ -128,6 +132,18 @@ Given(/^I have completed a clean$/) do
128
132
  add_run_input SAMPLE_CLEAN_SUCCEEDED
129
133
  end
130
134
 
135
+ Given(/^the provisioning profile doesn't support capability$/) do
136
+ add_run_input SAMPLE_PROFILE_DOESNT_SUPPORT_CAPABILITY_ERROR
137
+ end
138
+
139
+ Given(/^the provisioning profile doesn't include entitlement$/) do
140
+ add_run_input SAMPLE_PROFILE_DOESNT_INCLUDE_ENTITLEMENT_ERROR
141
+ end
142
+
143
+ Given(/^the target requires code signing$/) do
144
+ add_run_input SAMPLE_CODE_SIGNING_IS_REQUIRED_ERROR
145
+ end
146
+
131
147
  Then(/^I should see a "(\w+)" completion message$/) do |phase|
132
148
  run_output.should start_with("▸ #{phase.capitalize} Succeeded")
133
149
  end
@@ -185,6 +201,10 @@ Then(/^I should see a successful code signing message$/) do
185
201
  run_output.should start_with("▸ Signing")
186
202
  end
187
203
 
204
+ Then(/^I should see a target will not be code signed warning$/) do
205
+ run_output.should include(yellow("⚠️ FrameworkName will not be code signed because its settings don't specify a development team."))
206
+ end
207
+
188
208
  Then(/^I should see a successful preprocessing message$/) do
189
209
  run_output.should start_with("▸ Preprocessing")
190
210
  end
@@ -336,3 +356,15 @@ Then(/^I should see text matching "(.*?)"$/) do |text|
336
356
  run_output.lines.to_a.last.strip.should == text
337
357
  end
338
358
 
359
+ Then(/^I should see the profile doesn't support capability message$/) do
360
+ run_output.should include("Provisioning profile \"Profile Name\" doesn't support the Push Notifications capability.")
361
+ end
362
+
363
+ Then(/^I should see the profile doesn't include entitlement message$/) do
364
+ run_output.should include("Provisioning profile \"Profile Name\" doesn't include the aps-environment entitlement.")
365
+ end
366
+
367
+ Then(/^I should see the code signing is requried message$/) do
368
+ run_output.should include("Code signing is required for product type 'Application' in SDK 'iOS 10.0'")
369
+ end
370
+
@@ -148,6 +148,10 @@ module XCPretty
148
148
  "> #{file_paths.map { |path| path.split('/').last }.join("\n> ")}\n"
149
149
  end
150
150
 
151
+ def format_will_not_be_code_signed(message)
152
+ "#{yellow(warning_symbol + " " + message)}"
153
+ end
154
+
151
155
 
152
156
  private
153
157
 
@@ -187,3 +191,4 @@ module XCPretty
187
191
 
188
192
  end
189
193
  end
194
+
@@ -98,12 +98,12 @@ module XCPretty
98
98
  # $2 = test_suite
99
99
  # $3 = test_case
100
100
  # $4 = reason
101
- TEST_FAILURE_MATCHER = /^\s*(.+:\d+):\serror:\s[\+\-]\[(.*)\s(.*)\]\s:(?:\s'.*'\s\[FAILED\],)?\s(.*)/
101
+ FAILING_TEST_MATCHER = /^\s*(.+:\d+):\serror:\s[\+\-]\[(.*)\s(.*)\]\s:(?:\s'.*'\s\[FAILED\],)?\s(.*)/
102
102
 
103
103
  # @regex Captured groups
104
104
  # $1 = file
105
105
  # $2 = reason
106
- TEST_UI_FAILURE_MATCHER = /Assertion\sFailure:\s(.+:\d+):\s(.*)/
106
+ UI_FAILING_TEST_MATCHER = /^\s{4}t = \s+\d+\.\d+s\s+Assertion Failure: (.*:\d+): (.*)$/
107
107
 
108
108
  # @regex Captured groups
109
109
  # $1 = dsym
@@ -123,24 +123,24 @@ module XCPretty
123
123
  # $1 = suite
124
124
  # $2 = test_case
125
125
  # $3 = time
126
- FAILING_TEST_MATCHER = /^\s*Test Case\s'-\[(.*)\s(.*)\]'\sfailed\s\((\d*\.\d{3})\sseconds\)/
126
+ TEST_CASE_PASSED_MATCHER = /^\s*Test Case\s'-\[(.*)\s(.*)\]'\spassed\s\((\d*\.\d{3})\sseconds\)/
127
+
127
128
 
128
129
  # @regex Captured groups
129
130
  # $1 = suite
130
131
  # $2 = test_case
131
- # $3 = time
132
- PASSING_TEST_MATCHER = /^\s*Test Case\s'-\[(.*)\s(.*)\]'\spassed\s\((\d*\.\d{3})\sseconds\)/
132
+ TEST_CASE_STARTED_MATCHER = /^Test Case '-\[(.*) (.*)\]' started.$/
133
133
 
134
134
  # @regex Captured groups
135
135
  # $1 = suite
136
136
  # $2 = test_case
137
- PENDING_TEST_MATCHER = /^Test Case\s'-\[(.*)\s(.*)PENDING\]'\spassed/
137
+ TEST_CASE_PENDING_MATCHER = /^Test Case\s'-\[(.*)\s(.*)PENDING\]'\spassed/
138
138
 
139
139
  # @regex Captured groups
140
140
  # $1 = suite
141
141
  # $2 = test_case
142
142
  # $3 = time
143
- MEASURING_TEST_MATCHER = /^[^:]*:[^:]*:\sTest Case\s'-\[(.*)\s(.*)\]'\smeasured\s\[Time,\sseconds\]\saverage:\s(\d*\.\d{3}),/
143
+ TEST_CASE_MEASURED_MATCHER = /^[^:]*:[^:]*:\sTest Case\s'-\[(.*)\s(.*)\]'\smeasured\s\[Time,\sseconds\]\saverage:\s(\d*\.\d{3}),/
144
144
 
145
145
  PHASE_SUCCESS_MATCHER = /^\*\*\s(.*)\sSUCCEEDED\s\*\*/
146
146
 
@@ -176,7 +176,7 @@ module XCPretty
176
176
  # @regex Captured groups
177
177
  # $1 = suite
178
178
  # $2 = time
179
- TESTS_RUN_START_MATCHER = /^\s*Test Suite '(?:.*\/)?(.*[ox]ctest.*)' started at(.*)/
179
+ TEST_SUITE_STARTED_MATCHER = /^\s*Test Suite '(?:.*\/)?(.*[ox]ctest.*)' started at(.*)/
180
180
 
181
181
  # @regex Captured groups
182
182
  # $1 test suite name
@@ -211,6 +211,10 @@ module XCPretty
211
211
  # @regex Captured groups
212
212
  # $1 = whole warning
213
213
  GENERIC_WARNING_MATCHER = /^warning:\s(.*)$/
214
+
215
+ # @regex Captured groups
216
+ # $1 = whole warning
217
+ WILL_NOT_BE_CODE_SIGNED_MATCHER = /^(.* will not be code signed because .*)$/
214
218
  end
215
219
 
216
220
  module Errors
@@ -222,6 +226,10 @@ module XCPretty
222
226
  # $1 = whole error
223
227
  CODESIGN_ERROR_MATCHER = /^(Code\s?Sign error:.*)$/
224
228
 
229
+ # @regex Captured groups
230
+ # $1 = whole error
231
+ CODE_SIGNING_REQUIRED_MATCHER = /^(Code signing is required for product type .* in SDK .*)$/
232
+
225
233
  # @regex Captured groups
226
234
  # $1 = file_path
227
235
  # $2 = file_name
@@ -232,6 +240,10 @@ module XCPretty
232
240
  # $1 cursor (with whitespaces and tildes)
233
241
  CURSOR_MATCHER = /^([\s~]*\^[\s~]*)$/
234
242
 
243
+ # @regex Captured groups
244
+ # $1 = whole message
245
+ PROFILE_DOESNT_SUPPORT_OR_INCLUDE = /^(Provisioning profile .* doesn't .*)$/
246
+
235
247
  # @regex Captured groups
236
248
  # $1 = whole error.
237
249
  # it varies a lot, not sure if it makes sense to catch everything separately
@@ -318,6 +330,8 @@ module XCPretty
318
330
  formatter.format_codesign($1)
319
331
  when CODESIGN_ERROR_MATCHER
320
332
  formatter.format_error($1)
333
+ when CODE_SIGNING_REQUIRED_MATCHER
334
+ formatter.format_error($1)
321
335
  when COMPILE_MATCHER
322
336
  formatter.format_compile($2, $1)
323
337
  when COMPILE_COMMAND_MATCHER
@@ -332,9 +346,13 @@ module XCPretty
332
346
  formatter.format_copy_plist_file($1, $2)
333
347
  when CPRESOURCE_MATCHER
334
348
  formatter.format_cpresource($1)
349
+ when PROFILE_DOESNT_SUPPORT_OR_INCLUDE
350
+ formatter.format_error($1)
335
351
  when EXECUTED_MATCHER
336
352
  format_summary_if_needed(text)
337
- when TEST_FAILURE_MATCHER
353
+ when UI_FAILING_TEST_MATCHER
354
+ formatter.format_failing_test(@test_suite, @test_case, $2, $1)
355
+ when FAILING_TEST_MATCHER
338
356
  formatter.format_failing_test($2, $3, $4, $1)
339
357
  when FATAL_ERROR_MATCHER
340
358
  formatter.format_error($1)
@@ -350,17 +368,11 @@ module XCPretty
350
368
  formatter.format_libtool($1)
351
369
  when LINKING_MATCHER
352
370
  formatter.format_linking($1, $2, $3)
353
- when MEASURING_TEST_MATCHER
371
+ when TEST_CASE_MEASURED_MATCHER
354
372
  formatter.format_measuring_test($1, $2, $3)
355
- when PENDING_TEST_MATCHER
373
+ when TEST_CASE_PENDING_MATCHER
356
374
  formatter.format_pending_test($1, $2)
357
- when FAILING_TEST_MATCHER
358
- if @current_assertion_failure
359
- formatter.format_failing_test($1, $2, @current_assertion_failure[:reason], @current_assertion_failure[:file])
360
- else
361
- formatter.format_failing_test($1, $2, '', '')
362
- end
363
- when PASSING_TEST_MATCHER
375
+ when TEST_CASE_PASSED_MATCHER
364
376
  formatter.format_passing_test($1, $2, $3)
365
377
  when PODS_ERROR_MATCHER
366
378
  formatter.format_error($1)
@@ -380,7 +392,7 @@ module XCPretty
380
392
  formatter.format_pbxcp($1)
381
393
  when TESTS_RUN_COMPLETION_MATCHER
382
394
  formatter.format_test_run_finished($1, $3)
383
- when TESTS_RUN_START_MATCHER
395
+ when TEST_SUITE_STARTED_MATCHER
384
396
  formatter.format_test_run_started($1)
385
397
  when TEST_SUITE_START_MATCHER
386
398
  formatter.format_test_suite_started($1)
@@ -396,6 +408,8 @@ module XCPretty
396
408
  formatter.format_shell_command($1, $2)
397
409
  when GENERIC_WARNING_MATCHER
398
410
  formatter.format_warning($1)
411
+ when WILL_NOT_BE_CODE_SIGNED_MATCHER
412
+ formatter.format_will_not_be_code_signed($1)
399
413
  else
400
414
  ""
401
415
  end
@@ -405,27 +419,19 @@ module XCPretty
405
419
 
406
420
  def update_test_state(text)
407
421
  case text
408
- when TESTS_RUN_START_MATCHER
422
+ when TEST_SUITE_STARTED_MATCHER
409
423
  @tests_done = false
410
424
  @formatted_summary = false
411
425
  @failures = {}
412
- @assertion_failure = []
413
- @current_assertion_failure = {}
426
+ when TEST_CASE_STARTED_MATCHER
427
+ @test_suite = $1
428
+ @test_case = $2
414
429
  when TESTS_RUN_COMPLETION_MATCHER
415
430
  @tests_done = true
416
- when TEST_UI_FAILURE_MATCHER
417
- @current_assertion_failure = {
418
- file: $1,
419
- reason: $2
420
- }
421
431
  when FAILING_TEST_MATCHER
422
- if @current_assertion_failure
423
- store_failure(@current_assertion_failure[:file], $1, $2, @current_assertion_failure[:reason])
424
- else
425
- store_failure(nil, $1, $2, '')
426
- end
427
- when TEST_FAILURE_MATCHER
428
- store_failure($1, $2, $3, $4)
432
+ store_failure(file: $1, test_suite: $2, test_case: $3, reason: $4)
433
+ when UI_FAILING_TEST_MATCHER
434
+ store_failure(file: $1, test_suite: @test_suite, test_case: @test_case, reason: $2)
429
435
  end
430
436
  end
431
437
 
@@ -543,7 +549,7 @@ module XCPretty
543
549
  @formatting_linker_failure = false
544
550
  end
545
551
 
546
- def store_failure(file, test_suite, test_case, reason)
552
+ def store_failure(file: nil, test_suite: nil, test_case: nil, reason: nil)
547
553
  failures_per_suite[test_suite] ||= []
548
554
  failures_per_suite[test_suite] << {
549
555
  file_path: file,
@@ -573,3 +579,4 @@ module XCPretty
573
579
 
574
580
  end
575
581
  end
582
+
@@ -50,7 +50,8 @@ module XCPretty
50
50
  File.open(@filepath, 'w') do |f|
51
51
  # WAT: get rid of these locals. BTW Cucumber fails if you remove them
52
52
  output_string = @tests.join("\n")
53
- output_string += "\nFINISHED RUNNING #{@test_count} TESTS WITH #{@fail_count} FAILURES"
53
+ output_string +=
54
+ "\nFINISHED RUNNING #{@test_count} TESTS WITH #{@fail_count} FAILURES"
54
55
  f.write output_string
55
56
  end
56
57
  end
@@ -1,4 +1,4 @@
1
1
  module XCPretty
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
4
4
 
@@ -6,20 +6,47 @@ SAMPLE_OCUNIT_TEST_RUN_BEGINNING = "Test Suite '/Users/musalj/Library/Developer/
6
6
  SAMPLE_KIWI_TEST_RUN_BEGINNING = "Test Suite 'ObjectiveRecordTests.xctest' started at 2013-12-10 06:15:39 +0000"
7
7
  SAMPLE_SPECTA_TEST_RUN_BEGINNING = " Test Suite 'KIFTests.xctest' started at 2014-02-28 15:43:42 +0000"
8
8
  SAMPLE_OCUNIT_TEST_RUN_COMPLETION = "Test Suite '/Users/musalj/Library/Developer/Xcode/DerivedData/ReactiveCocoa-eznxkbqvgfsnrvetemqloysuwagb/Build/Products/Test/ReactiveCocoaTests.octest(Tests)' finished at 2013-12-10 07:03:03 +0000."
9
- SAMPLE_OCUNIT_TEST_ASSERTION_FAILURE = " t = 22.27s Assertion Failure: <unknown>:0: UI Testing Failure - Unable to find hit point for element Button 0x608001165880: {{74.0, -54.0}, {44.0, 38.0}}, label: 'Disconnect'"
10
9
  SAMPLE_OCUNIT_FAILED_TEST_RUN_COMPLETION = "Test Suite '/Users/dm/someplace/Macadamia.octest' failed at 2014-09-24 23:09:20 +0000."
11
10
  SAMPLE_OCUNIT_PASSED_TEST_RUN_COMPLETION = "Test Suite 'Hazelnuts.xctest' passed at 2014-09-24 23:09:20 +0000."
12
11
  SAMPLE_KIWI_TEST_RUN_COMPLETION = "Test Suite 'ObjectiveRecordTests.xctest' finished at 2013-12-10 06:15:42 +0000."
13
12
  SAMPLE_SPECTA_TEST_RUN_COMPLETION = " Test Suite 'KIFTests.xctest' finished at 2014-02-28 15:44:32 +0000."
14
13
 
15
14
  SAMPLE_OCUNIT_SUITE_BEGINNING = "Test Suite 'RACKVOWrapperSpec' started at 2013-12-10 21:06:10 +0000"
16
- SAMPLE_OCUNIT_CASE_BEGINNING = "Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' started."
17
- SAMPLE_OCUNIT_CASE_FAILURE = "Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' failed (22.490 seconds)."
18
15
  SAMPLE_SPECTA_SUITE_BEGINNING = " Test Suite 'All tests' started at 2014-02-28 19:07:41 +0000"
19
16
  SAMPLE_KIWI_SUITE_COMPLETION = "Test Suite 'All tests' finished at 2013-12-08 04:26:49 +0000."
20
17
  SAMPLE_OCUNIT_SUITE_COMPLETION = "Test Suite '/Users/musalj/Library/Developer/Xcode/DerivedData/ReactiveCocoa-eznxkbqvgfsnrvetemqloysuwagb/Build/Products/Test/ReactiveCocoaTests.octest(Tests)' finished at 2013-12-08 22:09:37 +0000."
21
18
  SAMPLE_XCTEST_SUITE_COMPLETION = "Test Suite 'ObjectiveSugarTests.xctest' finished at 2013-12-09 04:42:13 +0000."
22
19
 
20
+ SAMPLE_UITEST_CASE_WITH_FAILURE = %Q(\
21
+ Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' started.
22
+ t = 0.00s Start Test at 2016-08-18 09:07:17.822
23
+ t = 0.00s Set Up
24
+ t = 0.00s Launch com.vmware.horizon
25
+ t = 1.38s Wait for app to idle
26
+ Wait for connect to desktop done
27
+ t = 19.06s Snapshot accessibility hierarchy for com.vmware.horizon
28
+ t = 20.31s Find: Descendants matching type Window
29
+ t = 20.32s Find: Elements matching predicate '"rdsh1" IN identifiers'
30
+ Connect to desktop done
31
+ t = 20.32s Click "Disconnect" Button
32
+ t = 20.32s Wait for app to idle
33
+ t = 20.39s Find the "Disconnect" Button
34
+ t = 20.39s Snapshot accessibility hierarchy for com.vmware.horizon
35
+ t = 20.53s Find: Descendants matching type Window
36
+ t = 20.53s Find: Elements matching predicate '"rdsh1" IN identifiers'
37
+ t = 21.54s Find the "Disconnect" Button (retry 1)
38
+ t = 21.54s Snapshot accessibility hierarchy for com.vmware.horizon
39
+ t = 21.80s Find: Descendants matching type Window
40
+ t = 21.80s Find: Elements matching predicate '"rdsh1" IN identifiers'
41
+ t = 21.81s Find: Descendants matching type Toolbar
42
+ t = 21.81s Find: Descendants matching type Button
43
+ t = 21.81s Find: Elements matching predicate '"Disconnect" IN identifiers'
44
+ t = 21.81s Synthesize event
45
+ t = 22.27s Assertion Failure: <unknown>:0: UI Testing Failure - Unable to find hit point for element Button 0x608001165880: {{74.0, -54.0}, {44.0, 38.0}}, label: 'Disconnect'
46
+ t = 22.29s Tear Down
47
+ Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' failed (22.490 seconds).
48
+ )
49
+ SAMPLE_XCTEST_FAILURE = ""
23
50
  SAMPLE_KIWI_FAILURE = "/Users/musalj/code/OSS/ObjectiveSugar/Example/ObjectiveSugarTests/NSNumberTests.m:49: error: -[NumberAdditions Iterators_TimesIteratesTheExactNumberOfTimes] : 'Iterators, times: iterates the exact number of times' [FAILED], expected subject to equal 4, got 5"
24
51
  SAMPLE_OLD_SPECTA_FAILURE = "/Users/musalj/code/OSS/ReactiveCocoa/ReactiveCocoaFramework/ReactiveCocoaTests/RACCommandSpec.m:458: error: -[RACCommandSpec enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES] : expected: 1, got: 0"
25
52
  SAMPLE_SPECTA_FAILURE = " Test Case '-[SKWelcomeViewControllerSpecSpec SKWelcomeViewController_When_a_user_opens_the_app_from_a_clean_installation_displays_the_welcome_screen]' started. \n/Users/vickeryj/Code/ipad-register/KIFTests/Specs/SKWelcomeViewControllerSpec.m:11: error: -[SKWelcomeViewControllerSpecSpec SKWelcomeViewController_When_a_user_opens_the_app_from_a_clean_installation_displays_the_welcome_screen] : The step timed out after 2.00 seconds: Failed to find accessibility element with the label \"The asimplest way to make smarter business decisions\""
@@ -36,7 +63,6 @@ Clean.Remove clean /Users/musalj/Library/Developer/Xcode/DerivedData/ObjectiveSu
36
63
  builtin-rm -rf /Users/musalj/Library/Developer/Xcode/DerivedData/ObjectiveSugar-ayzdhqmmwtqgysdpznmovjlupqjy/Build/Intermediates/ObjectiveSugar.build/Debug-iphonesimulator/ObjectiveSugarTests.build
37
64
  )
38
65
  SAMPLE_EXECUTED_TESTS = "Executed 4 tests, with 0 failures (0 unexpected) in 0.003 (0.004) seconds"
39
- SAMPLE_EXECUTED_TESTS_WITH_FAILURE = "Executed 1 test, with 1 failure (0 unexpected) in 22.490 (22.513) seconds"
40
66
  SAMPLE_SPECTA_EXECUTED_TESTS = " Executed 4 tests, with 0 failures (0 unexpected) in 10.192 (10.193) seconds"
41
67
  SAMPLE_OCUNIT_TEST = "Test Case '-[RACCommandSpec enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES]' passed (0.001 seconds)."
42
68
  SAMPLE_SPECTA_TEST = " Test Case '-[SKWelcomeActivationViewControllerSpecSpec SKWelcomeActivationViewController_When_a_user_enters_their_details_lets_them_enter_a_valid_manager_code]' passed (0.725 seconds)."
@@ -603,6 +629,17 @@ SAMPLE_COMPILE_ERROR_WITH_TILDES = %Q(
603
629
  ~~ ^~~~~~~
604
630
  )
605
631
 
632
+ SAMPLE_PROFILE_DOESNT_SUPPORT_CAPABILITY_ERROR = %Q(
633
+ Provisioning profile "Profile Name" doesn't support the Push Notifications capability.
634
+ )
635
+
636
+ SAMPLE_PROFILE_DOESNT_INCLUDE_ENTITLEMENT_ERROR = %Q(
637
+ Provisioning profile "Profile Name" doesn't include the aps-environment entitlement.
638
+ )
639
+
640
+ SAMPLE_CODE_SIGNING_IS_REQUIRED_ERROR = %Q(
641
+ Code signing is required for product type 'Application' in SDK 'iOS 10.0'
642
+ )
606
643
 
607
644
  ################################################################################
608
645
  # WARNINGS
@@ -615,3 +652,6 @@ SAMPLE_FORMAT_WARNING = %Q(
615
652
  %d
616
653
  1 warning generated.
617
654
  )
655
+
656
+ SAMPLE_WILL_NOT_BE_CODE_SIGNED = "FrameworkName will not be code signed because its settings don't specify a development team."
657
+
@@ -12,11 +12,11 @@ module XCPretty
12
12
  end
13
13
 
14
14
  it "initializes with unicode" do
15
- @formatter.use_unicode?.should be_truthy
15
+ @formatter.use_unicode?.should == true
16
16
  end
17
17
 
18
18
  it "initializes with color" do
19
- @formatter.colorize?.should be_truthy
19
+ @formatter.colorize?.should == true
20
20
  end
21
21
 
22
22
  it "outputs to new lines by default" do
@@ -91,6 +91,10 @@ module XCPretty
91
91
  )
92
92
  end
93
93
 
94
+ it "formats will not be code signed warnings" do
95
+ @formatter.format_will_not_be_code_signed(SAMPLE_WILL_NOT_BE_CODE_SIGNED).should == "#{@formatter.yellow("⚠️ FrameworkName will not be code signed because its settings don't specify a development team.")}"
96
+ end
97
+
94
98
 
95
99
  it "formats failures per suite" do
96
100
  Syntax.stub(:highlight) { |snippet| snippet.contents }
@@ -7,6 +7,7 @@ require 'fixtures/constants'
7
7
  module XCPretty
8
8
 
9
9
  describe Parser do
10
+
10
11
  before(:each) do
11
12
  @formatter = Formatter.new(false, false)
12
13
  @parser = Parser.new(@formatter)
@@ -167,6 +168,16 @@ module XCPretty
167
168
  @parser.parse(SAMPLE_LIBTOOL)
168
169
  end
169
170
 
171
+ it "parses uitest failing tests" do
172
+ @formatter.should receive(:format_failing_test).with(
173
+ "viewUITests.vmtAboutWindow",
174
+ "testConnectToDesktop",
175
+ "UI Testing Failure - Unable to find hit point for element Button 0x608001165880: {{74.0, -54.0}, {44.0, 38.0}}, label: 'Disconnect'",
176
+ "<unknown>:0"
177
+ )
178
+ @parser.parse(SAMPLE_UITEST_CASE_WITH_FAILURE)
179
+ end
180
+
170
181
  it "parses specta failing tests" do
171
182
  @formatter.should receive(:format_failing_test).with("SKWelcomeViewControllerSpecSpec",
172
183
  "SKWelcomeViewController_When_a_user_opens_the_app_from_a_clean_installation_displays_the_welcome_screen",
@@ -320,12 +331,6 @@ module XCPretty
320
331
  @parser.parse(SAMPLE_OCUNIT_PASSED_TEST_RUN_COMPLETION)
321
332
  end
322
333
 
323
- it "parses ocunit test assertion failure" do
324
- @formatter.should receive(:format_failing_test).with('viewUITests.vmtAboutWindow', 'testConnectToDesktop', "UI Testing Failure - Unable to find hit point for element Button 0x608001165880: {{74.0, -54.0}, {44.0, 38.0}}, label: 'Disconnect'", '<unknown>:0')
325
- @parser.parse(SAMPLE_OCUNIT_TEST_ASSERTION_FAILURE)
326
- @parser.parse(SAMPLE_OCUNIT_CASE_FAILURE)
327
- end
328
-
329
334
  it "parses ocunit test run failed" do
330
335
  @formatter.should receive(:format_test_run_finished).with('Macadamia.octest', '2014-09-24 23:09:20 +0000.')
331
336
  @parser.parse(SAMPLE_OCUNIT_FAILED_TEST_RUN_COMPLETION)
@@ -468,6 +473,21 @@ module XCPretty
468
473
  @formatter.should_not receive(:format_compile_error)
469
474
  @parser.parse("hohohoooo")
470
475
  end
476
+
477
+ it "parses provisioning profile doesn't support capability error" do
478
+ @formatter.should receive(:format_error)
479
+ @parser.parse(SAMPLE_PROFILE_DOESNT_SUPPORT_CAPABILITY_ERROR)
480
+ end
481
+
482
+ it "parses provisioning profile doesn't include entitlement error" do
483
+ @formatter.should receive(:format_error)
484
+ @parser.parse(SAMPLE_PROFILE_DOESNT_INCLUDE_ENTITLEMENT_ERROR)
485
+ end
486
+
487
+ it "parses code signing is required error" do
488
+ @formatter.should receive(:format_error)
489
+ @parser.parse(SAMPLE_CODE_SIGNING_IS_REQUIRED_ERROR)
490
+ end
471
491
  end
472
492
 
473
493
  context "warnings" do
@@ -492,6 +512,11 @@ module XCPretty
492
512
  @formatter.should receive(:format_ld_warning).with("ld: embedded dylibs/frameworks only run on iOS 8 or later")
493
513
  @parser.parse("ld: warning: embedded dylibs/frameworks only run on iOS 8 or later")
494
514
  end
515
+
516
+ it "parses will not be code signed warnings" do
517
+ @formatter.should receive(:format_will_not_be_code_signed).with(SAMPLE_WILL_NOT_BE_CODE_SIGNED)
518
+ @parser.parse(SAMPLE_WILL_NOT_BE_CODE_SIGNED)
519
+ end
495
520
  end
496
521
 
497
522
  context "summary" do
@@ -499,10 +524,6 @@ module XCPretty
499
524
  @parser.parse(reporter)
500
525
  end
501
526
 
502
- def given_a_test_failed(reporter = SAMPLE_OCUNIT_CASE_FAILURE)
503
- @parser.parse(reporter)
504
- end
505
-
506
527
  def given_tests_are_done(reporter = SAMPLE_OCUNIT_TEST_RUN_COMPLETION)
507
528
  @parser.parse(reporter)
508
529
  end
@@ -543,14 +564,6 @@ module XCPretty
543
564
  }
544
565
  end
545
566
 
546
- it "knows when tests fail for XCTest" do
547
- @formatter.should_receive(:format_test_summary).once
548
- given_tests_have_started
549
- given_a_test_failed
550
- given_tests_are_done
551
- @parser.parse(SAMPLE_EXECUTED_TESTS_WITH_FAILURE)
552
- end
553
-
554
567
  it "prints OCunit / XCTest summary twice if tests executed twice" do
555
568
  @formatter.should_receive(:format_test_summary).twice
556
569
  2.times {
@@ -571,3 +584,4 @@ module XCPretty
571
584
 
572
585
  end
573
586
  end
587
+
@@ -13,17 +13,17 @@ module XCPretty
13
13
 
14
14
  it "reports a passing test" do
15
15
  @reporter.format_passing_test("RACCommandSpec", "_tupleByAddingObject__should_add_a_non_nil_object", "0.001")
16
- expect(@reporter.tests).to include("_tupleByAddingObject__should_add_a_non_nil_object PASSED")
16
+ @reporter.tests.should include("_tupleByAddingObject__should_add_a_non_nil_object PASSED")
17
17
  end
18
18
 
19
19
  it "reports a failing test" do
20
20
  @reporter.format_failing_test("RACCommandSpec", "enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES", "expected: 1, got: 0", 'path/to/file')
21
- expect(@reporter.tests).to include("enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES in path/to/file FAILED: expected: 1, got: 0")
21
+ @reporter.tests.should include("enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES in path/to/file FAILED: expected: 1, got: 0")
22
22
  end
23
23
 
24
24
  it "reports a pending test" do
25
25
  @reporter.format_pending_test("RACCommandSpec", "_tupleByAddingObject__should_add_a_non_nil_object")
26
- expect(@reporter.tests).to include("_tupleByAddingObject__should_add_a_non_nil_object IS PENDING")
26
+ @reporter.tests.should include("_tupleByAddingObject__should_add_a_non_nil_object IS PENDING")
27
27
  end
28
28
 
29
29
  it "writes to disk" do
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "bundler", "~> 1.3"
32
32
  spec.add_development_dependency "rake"
33
33
  spec.add_development_dependency "rubocop", "~> 0.34.0"
34
- spec.add_development_dependency "rspec", "~> 2.0"
34
+ spec.add_development_dependency "rspec", "2.99.0"
35
35
  spec.add_development_dependency "cucumber", "~> 1.0"
36
36
  end
37
37
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcpretty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marin Usalj
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-09-28 00:00:00.000000000 Z
12
+ date: 2016-10-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rouge
@@ -71,16 +71,16 @@ dependencies:
71
71
  name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: '2.0'
76
+ version: 2.99.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: '2.0'
83
+ version: 2.99.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: cucumber
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -165,7 +165,6 @@ files:
165
165
  - spec/fixtures/raw_kiwi_compilation_fail.txt
166
166
  - spec/fixtures/raw_kiwi_fail.txt
167
167
  - spec/fixtures/raw_specta_fail.txt
168
- - spec/fixtures/raw_xcodebuild_uitest_fail.txt
169
168
  - spec/spec_helper.rb
170
169
  - spec/support/matchers/colors.rb
171
170
  - spec/xcpretty/ansi_spec.rb
@@ -200,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
199
  version: '0'
201
200
  requirements: []
202
201
  rubyforge_project:
203
- rubygems_version: 2.0.14.1
202
+ rubygems_version: 2.6.6
204
203
  signing_key:
205
204
  specification_version: 4
206
205
  summary: xcodebuild formatter done right
@@ -234,7 +233,6 @@ test_files:
234
233
  - spec/fixtures/raw_kiwi_compilation_fail.txt
235
234
  - spec/fixtures/raw_kiwi_fail.txt
236
235
  - spec/fixtures/raw_specta_fail.txt
237
- - spec/fixtures/raw_xcodebuild_uitest_fail.txt
238
236
  - spec/spec_helper.rb
239
237
  - spec/support/matchers/colors.rb
240
238
  - spec/xcpretty/ansi_spec.rb
@@ -1,388 +0,0 @@
1
- User defaults from command line:
2
- IDETestRunOnlyIdentifiers = (
3
- "viewUITests/vmtAboutWindow/testConnectToDesktop"
4
- )
5
- IDETestRunSpecificationPath = /Users/viewci/jenkins/workspace/d2/view_macosx10.12-x86_64.xctestrun
6
-
7
- Build settings from command line:
8
- arch = x86_64
9
-
10
- 2016-08-18 09:07:17.632 XCTRunner[21009:1710602] Running tests...
11
- Test Suite 'Selected tests' started at 2016-08-18 09:07:17.820
12
- Test Suite 'viewUITests.xctest' started at 2016-08-18 09:07:17.821
13
- Test Suite 'vmtAboutWindow' started at 2016-08-18 09:07:17.821
14
- Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' started.
15
- t = 0.00s Start Test at 2016-08-18 09:07:17.822
16
- t = 0.00s Set Up
17
- t = 0.00s Launch com.vmware.horizon
18
- t = 1.38s Wait for app to idle
19
- t = 1.79s Type '
20
- t = 1.79s Wait for app to idle
21
- t = 1.87s Find the Grid
22
- t = 1.87s Snapshot accessibility hierarchy for com.vmware.horizon
23
- t = 2.44s Find: Descendants matching type Window
24
- t = 2.44s Find: Elements matching predicate '"VMware Horizon Client" IN identifiers'
25
- t = 2.44s Find: Descendants matching type ScrollView
26
- t = 2.44s Find: Children matching type Grid
27
- t = 2.45s Synthesize event
28
- t = 2.75s Wait for app to idle
29
- t = 3.09s Click SecureTextField
30
- t = 3.09s Wait for app to idle
31
- t = 3.80s Find the SecureTextField
32
- t = 3.80s Snapshot accessibility hierarchy for com.vmware.horizon
33
- t = 4.03s Find: Descendants matching type Group
34
- t = 4.03s Find: Elements containing elements matching type Image with identifier 'security error'
35
- t = 5.04s Find the SecureTextField (retry 1)
36
- t = 5.04s Snapshot accessibility hierarchy for com.vmware.horizon
37
- t = 5.13s Find: Descendants matching type Group
38
- t = 5.13s Find: Elements containing elements matching type Image with identifier 'security error'
39
- t = 5.13s Find: Children matching type SecureTextField
40
- t = 5.14s Synthesize event
41
- t = 5.45s Wait for app to idle
42
- t = 5.53s Type 'ca$hc0w' into SecureTextField
43
- t = 5.53s Wait for app to idle
44
- t = 5.61s Find the SecureTextField
45
- t = 5.61s Snapshot accessibility hierarchy for com.vmware.horizon
46
- t = 5.70s Find: Descendants matching type Group
47
- t = 5.70s Find: Elements containing elements matching type Image with identifier 'security error'
48
- t = 5.70s Find: Children matching type SecureTextField
49
- t = 5.71s Synthesize event
50
- t = 5.95s Wait for app to idle
51
- t = 6.04s Click "Login" Button
52
- t = 6.04s Wait for app to idle
53
- t = 6.12s Find the "Login" Button
54
- t = 6.12s Snapshot accessibility hierarchy for com.vmware.horizon
55
- t = 6.22s Find: Descendants matching type Button
56
- t = 6.22s Find: Elements matching predicate '"Login" IN identifiers'
57
- t = 6.22s Synthesize event
58
- t = 6.54s Wait for app to idle
59
- t = 6.63s Type 'rdsh1
60
- t = 6.63s Wait for app to idle
61
- t = 6.71s Find the Grid
62
- t = 6.71s Snapshot accessibility hierarchy for com.vmware.horizon
63
- t = 6.82s Find: Descendants matching type Window
64
- t = 6.83s Find: Elements matching predicate '"VMware Horizon Client" IN identifiers'
65
- t = 6.83s Find: Children matching type Group
66
- t = 6.83s Find: Descendants matching type ScrollView
67
- t = 7.83s Find the Grid (retry 1)
68
- t = 7.83s Snapshot accessibility hierarchy for com.vmware.horizon
69
- t = 7.95s Find: Descendants matching type Window
70
- t = 7.96s Find: Elements matching predicate '"VMware Horizon Client" IN identifiers'
71
- t = 7.96s Find: Children matching type Group
72
- t = 7.96s Find: Descendants matching type ScrollView
73
- t = 8.97s Find the Grid (retry 2)
74
- t = 8.97s Snapshot accessibility hierarchy for com.vmware.horizon
75
- t = 9.24s Find: Descendants matching type Window
76
- t = 9.24s Find: Elements matching predicate '"VMware Horizon Client" IN identifiers'
77
- t = 9.25s Find: Children matching type Group
78
- t = 9.25s Find: Descendants matching type ScrollView
79
- t = 9.25s Find: Children matching type Grid
80
- t = 9.26s Synthesize event
81
- t = 9.44s Wait for app to idle
82
- t = 10.03s Snapshot accessibility hierarchy for com.vmware.horizon
83
- t = 10.24s Find: Descendants matching type Window
84
- t = 10.24s Find: Elements matching predicate '"rdsh1" IN identifiers'
85
- Wait for connect to desktop done
86
- t = 10.25s Snapshot accessibility hierarchy for com.vmware.horizon
87
- t = 10.33s Find: Descendants matching type Window
88
- t = 10.33s Find: Elements matching predicate '"rdsh1" IN identifiers'
89
- Wait for connect to desktop done
90
- t = 10.33s Snapshot accessibility hierarchy for com.vmware.horizon
91
- t = 10.41s Find: Descendants matching type Window
92
- t = 10.42s Find: Elements matching predicate '"rdsh1" IN identifiers'
93
- Wait for connect to desktop done
94
- t = 10.42s Snapshot accessibility hierarchy for com.vmware.horizon
95
- t = 10.50s Find: Descendants matching type Window
96
- t = 10.50s Find: Elements matching predicate '"rdsh1" IN identifiers'
97
- Wait for connect to desktop done
98
- t = 10.50s Snapshot accessibility hierarchy for com.vmware.horizon
99
- t = 10.58s Find: Descendants matching type Window
100
- t = 10.59s Find: Elements matching predicate '"rdsh1" IN identifiers'
101
- Wait for connect to desktop done
102
- t = 10.59s Snapshot accessibility hierarchy for com.vmware.horizon
103
- t = 10.67s Find: Descendants matching type Window
104
- t = 10.67s Find: Elements matching predicate '"rdsh1" IN identifiers'
105
- Wait for connect to desktop done
106
- t = 10.67s Snapshot accessibility hierarchy for com.vmware.horizon
107
- t = 10.76s Find: Descendants matching type Window
108
- t = 10.76s Find: Elements matching predicate '"rdsh1" IN identifiers'
109
- Wait for connect to desktop done
110
- t = 10.76s Snapshot accessibility hierarchy for com.vmware.horizon
111
- t = 10.84s Find: Descendants matching type Window
112
- t = 10.84s Find: Elements matching predicate '"rdsh1" IN identifiers'
113
- Wait for connect to desktop done
114
- t = 10.84s Snapshot accessibility hierarchy for com.vmware.horizon
115
- t = 10.93s Find: Descendants matching type Window
116
- t = 10.93s Find: Elements matching predicate '"rdsh1" IN identifiers'
117
- Wait for connect to desktop done
118
- t = 10.93s Snapshot accessibility hierarchy for com.vmware.horizon
119
- t = 11.02s Find: Descendants matching type Window
120
- t = 11.02s Find: Elements matching predicate '"rdsh1" IN identifiers'
121
- Wait for connect to desktop done
122
- t = 11.02s Snapshot accessibility hierarchy for com.vmware.horizon
123
- t = 11.49s Find: Descendants matching type Window
124
- t = 11.49s Find: Elements matching predicate '"rdsh1" IN identifiers'
125
- Wait for connect to desktop done
126
- t = 11.49s Snapshot accessibility hierarchy for com.vmware.horizon
127
- t = 11.83s Find: Descendants matching type Window
128
- t = 11.83s Find: Elements matching predicate '"rdsh1" IN identifiers'
129
- Wait for connect to desktop done
130
- t = 11.83s Snapshot accessibility hierarchy for com.vmware.horizon
131
- t = 11.94s Find: Descendants matching type Window
132
- t = 11.94s Find: Elements matching predicate '"rdsh1" IN identifiers'
133
- Wait for connect to desktop done
134
- t = 11.95s Snapshot accessibility hierarchy for com.vmware.horizon
135
- t = 12.71s Find: Descendants matching type Window
136
- t = 12.71s Find: Elements matching predicate '"rdsh1" IN identifiers'
137
- Wait for connect to desktop done
138
- t = 12.72s Snapshot accessibility hierarchy for com.vmware.horizon
139
- t = 13.03s Find: Descendants matching type Window
140
- t = 13.03s Find: Elements matching predicate '"rdsh1" IN identifiers'
141
- Wait for connect to desktop done
142
- t = 13.03s Snapshot accessibility hierarchy for com.vmware.horizon
143
- t = 13.13s Find: Descendants matching type Window
144
- t = 13.13s Find: Elements matching predicate '"rdsh1" IN identifiers'
145
- Wait for connect to desktop done
146
- t = 13.13s Snapshot accessibility hierarchy for com.vmware.horizon
147
- t = 13.56s Find: Descendants matching type Window
148
- t = 13.56s Find: Elements matching predicate '"rdsh1" IN identifiers'
149
- Wait for connect to desktop done
150
- t = 13.56s Snapshot accessibility hierarchy for com.vmware.horizon
151
- t = 13.64s Find: Descendants matching type Window
152
- t = 13.64s Find: Elements matching predicate '"rdsh1" IN identifiers'
153
- Wait for connect to desktop done
154
- t = 13.65s Snapshot accessibility hierarchy for com.vmware.horizon
155
- t = 13.75s Find: Descendants matching type Window
156
- t = 13.75s Find: Elements matching predicate '"rdsh1" IN identifiers'
157
- Wait for connect to desktop done
158
- t = 13.75s Snapshot accessibility hierarchy for com.vmware.horizon
159
- t = 13.83s Find: Descendants matching type Window
160
- t = 13.84s Find: Elements matching predicate '"rdsh1" IN identifiers'
161
- Wait for connect to desktop done
162
- t = 13.84s Snapshot accessibility hierarchy for com.vmware.horizon
163
- t = 13.92s Find: Descendants matching type Window
164
- t = 13.92s Find: Elements matching predicate '"rdsh1" IN identifiers'
165
- Wait for connect to desktop done
166
- t = 13.92s Snapshot accessibility hierarchy for com.vmware.horizon
167
- t = 14.01s Find: Descendants matching type Window
168
- t = 14.02s Find: Elements matching predicate '"rdsh1" IN identifiers'
169
- Wait for connect to desktop done
170
- t = 14.02s Snapshot accessibility hierarchy for com.vmware.horizon
171
- t = 14.10s Find: Descendants matching type Window
172
- t = 14.11s Find: Elements matching predicate '"rdsh1" IN identifiers'
173
- Wait for connect to desktop done
174
- t = 14.11s Snapshot accessibility hierarchy for com.vmware.horizon
175
- t = 14.19s Find: Descendants matching type Window
176
- t = 14.19s Find: Elements matching predicate '"rdsh1" IN identifiers'
177
- Wait for connect to desktop done
178
- t = 14.19s Snapshot accessibility hierarchy for com.vmware.horizon
179
- t = 14.28s Find: Descendants matching type Window
180
- t = 14.28s Find: Elements matching predicate '"rdsh1" IN identifiers'
181
- Wait for connect to desktop done
182
- t = 14.28s Snapshot accessibility hierarchy for com.vmware.horizon
183
- t = 14.37s Find: Descendants matching type Window
184
- t = 14.37s Find: Elements matching predicate '"rdsh1" IN identifiers'
185
- Wait for connect to desktop done
186
- t = 14.37s Snapshot accessibility hierarchy for com.vmware.horizon
187
- t = 14.59s Find: Descendants matching type Window
188
- t = 14.59s Find: Elements matching predicate '"rdsh1" IN identifiers'
189
- Wait for connect to desktop done
190
- t = 14.59s Snapshot accessibility hierarchy for com.vmware.horizon
191
- t = 14.68s Find: Descendants matching type Window
192
- t = 14.68s Find: Elements matching predicate '"rdsh1" IN identifiers'
193
- Wait for connect to desktop done
194
- t = 14.68s Snapshot accessibility hierarchy for com.vmware.horizon
195
- t = 14.78s Find: Descendants matching type Window
196
- t = 14.78s Find: Elements matching predicate '"rdsh1" IN identifiers'
197
- Wait for connect to desktop done
198
- t = 14.79s Snapshot accessibility hierarchy for com.vmware.horizon
199
- t = 14.87s Find: Descendants matching type Window
200
- t = 14.88s Find: Elements matching predicate '"rdsh1" IN identifiers'
201
- Wait for connect to desktop done
202
- t = 14.88s Snapshot accessibility hierarchy for com.vmware.horizon
203
- t = 14.96s Find: Descendants matching type Window
204
- t = 14.96s Find: Elements matching predicate '"rdsh1" IN identifiers'
205
- Wait for connect to desktop done
206
- t = 14.96s Snapshot accessibility hierarchy for com.vmware.horizon
207
- t = 15.04s Find: Descendants matching type Window
208
- t = 15.05s Find: Elements matching predicate '"rdsh1" IN identifiers'
209
- Wait for connect to desktop done
210
- t = 15.05s Snapshot accessibility hierarchy for com.vmware.horizon
211
- t = 15.13s Find: Descendants matching type Window
212
- t = 15.14s Find: Elements matching predicate '"rdsh1" IN identifiers'
213
- Wait for connect to desktop done
214
- t = 15.14s Snapshot accessibility hierarchy for com.vmware.horizon
215
- t = 15.23s Find: Descendants matching type Window
216
- t = 15.24s Find: Elements matching predicate '"rdsh1" IN identifiers'
217
- Wait for connect to desktop done
218
- t = 15.24s Snapshot accessibility hierarchy for com.vmware.horizon
219
- t = 15.33s Find: Descendants matching type Window
220
- t = 15.33s Find: Elements matching predicate '"rdsh1" IN identifiers'
221
- Wait for connect to desktop done
222
- t = 15.33s Snapshot accessibility hierarchy for com.vmware.horizon
223
- t = 15.41s Find: Descendants matching type Window
224
- t = 15.42s Find: Elements matching predicate '"rdsh1" IN identifiers'
225
- Wait for connect to desktop done
226
- t = 15.42s Snapshot accessibility hierarchy for com.vmware.horizon
227
- t = 15.64s Find: Descendants matching type Window
228
- t = 15.64s Find: Elements matching predicate '"rdsh1" IN identifiers'
229
- Wait for connect to desktop done
230
- t = 15.64s Snapshot accessibility hierarchy for com.vmware.horizon
231
- t = 15.72s Find: Descendants matching type Window
232
- t = 15.73s Find: Elements matching predicate '"rdsh1" IN identifiers'
233
- Wait for connect to desktop done
234
- t = 15.73s Snapshot accessibility hierarchy for com.vmware.horizon
235
- t = 15.83s Find: Descendants matching type Window
236
- t = 15.83s Find: Elements matching predicate '"rdsh1" IN identifiers'
237
- Wait for connect to desktop done
238
- t = 15.83s Snapshot accessibility hierarchy for com.vmware.horizon
239
- t = 15.92s Find: Descendants matching type Window
240
- t = 15.92s Find: Elements matching predicate '"rdsh1" IN identifiers'
241
- Wait for connect to desktop done
242
- t = 15.92s Snapshot accessibility hierarchy for com.vmware.horizon
243
- t = 16.00s Find: Descendants matching type Window
244
- t = 16.00s Find: Elements matching predicate '"rdsh1" IN identifiers'
245
- Wait for connect to desktop done
246
- t = 16.00s Snapshot accessibility hierarchy for com.vmware.horizon
247
- t = 16.08s Find: Descendants matching type Window
248
- t = 16.09s Find: Elements matching predicate '"rdsh1" IN identifiers'
249
- Wait for connect to desktop done
250
- t = 16.09s Snapshot accessibility hierarchy for com.vmware.horizon
251
- t = 16.17s Find: Descendants matching type Window
252
- t = 16.17s Find: Elements matching predicate '"rdsh1" IN identifiers'
253
- Wait for connect to desktop done
254
- t = 16.17s Snapshot accessibility hierarchy for com.vmware.horizon
255
- t = 16.26s Find: Descendants matching type Window
256
- t = 16.26s Find: Elements matching predicate '"rdsh1" IN identifiers'
257
- Wait for connect to desktop done
258
- t = 16.26s Snapshot accessibility hierarchy for com.vmware.horizon
259
- t = 16.34s Find: Descendants matching type Window
260
- t = 16.35s Find: Elements matching predicate '"rdsh1" IN identifiers'
261
- Wait for connect to desktop done
262
- t = 16.35s Snapshot accessibility hierarchy for com.vmware.horizon
263
- t = 16.43s Find: Descendants matching type Window
264
- t = 16.44s Find: Elements matching predicate '"rdsh1" IN identifiers'
265
- Wait for connect to desktop done
266
- t = 16.44s Snapshot accessibility hierarchy for com.vmware.horizon
267
- t = 16.66s Find: Descendants matching type Window
268
- t = 16.66s Find: Elements matching predicate '"rdsh1" IN identifiers'
269
- Wait for connect to desktop done
270
- t = 16.66s Snapshot accessibility hierarchy for com.vmware.horizon
271
- t = 16.75s Find: Descendants matching type Window
272
- t = 16.75s Find: Elements matching predicate '"rdsh1" IN identifiers'
273
- Wait for connect to desktop done
274
- t = 16.75s Snapshot accessibility hierarchy for com.vmware.horizon
275
- t = 16.85s Find: Descendants matching type Window
276
- t = 16.85s Find: Elements matching predicate '"rdsh1" IN identifiers'
277
- Wait for connect to desktop done
278
- t = 16.85s Snapshot accessibility hierarchy for com.vmware.horizon
279
- t = 16.94s Find: Descendants matching type Window
280
- t = 16.94s Find: Elements matching predicate '"rdsh1" IN identifiers'
281
- Wait for connect to desktop done
282
- t = 16.94s Snapshot accessibility hierarchy for com.vmware.horizon
283
- t = 17.02s Find: Descendants matching type Window
284
- t = 17.02s Find: Elements matching predicate '"rdsh1" IN identifiers'
285
- Wait for connect to desktop done
286
- t = 17.03s Snapshot accessibility hierarchy for com.vmware.horizon
287
- t = 17.11s Find: Descendants matching type Window
288
- t = 17.11s Find: Elements matching predicate '"rdsh1" IN identifiers'
289
- Wait for connect to desktop done
290
- t = 17.11s Snapshot accessibility hierarchy for com.vmware.horizon
291
- t = 17.20s Find: Descendants matching type Window
292
- t = 17.20s Find: Elements matching predicate '"rdsh1" IN identifiers'
293
- Wait for connect to desktop done
294
- t = 17.20s Snapshot accessibility hierarchy for com.vmware.horizon
295
- t = 17.29s Find: Descendants matching type Window
296
- t = 17.29s Find: Elements matching predicate '"rdsh1" IN identifiers'
297
- Wait for connect to desktop done
298
- t = 17.29s Snapshot accessibility hierarchy for com.vmware.horizon
299
- t = 17.38s Find: Descendants matching type Window
300
- t = 17.38s Find: Elements matching predicate '"rdsh1" IN identifiers'
301
- Wait for connect to desktop done
302
- t = 17.38s Snapshot accessibility hierarchy for com.vmware.horizon
303
- t = 17.46s Find: Descendants matching type Window
304
- t = 17.46s Find: Elements matching predicate '"rdsh1" IN identifiers'
305
- Wait for connect to desktop done
306
- t = 17.47s Snapshot accessibility hierarchy for com.vmware.horizon
307
- t = 17.69s Find: Descendants matching type Window
308
- t = 17.70s Find: Elements matching predicate '"rdsh1" IN identifiers'
309
- Wait for connect to desktop done
310
- t = 17.70s Snapshot accessibility hierarchy for com.vmware.horizon
311
- t = 17.78s Find: Descendants matching type Window
312
- t = 17.78s Find: Elements matching predicate '"rdsh1" IN identifiers'
313
- Wait for connect to desktop done
314
- t = 17.78s Snapshot accessibility hierarchy for com.vmware.horizon
315
- t = 17.89s Find: Descendants matching type Window
316
- t = 17.89s Find: Elements matching predicate '"rdsh1" IN identifiers'
317
- Wait for connect to desktop done
318
- t = 17.89s Snapshot accessibility hierarchy for com.vmware.horizon
319
- t = 17.98s Find: Descendants matching type Window
320
- t = 17.98s Find: Elements matching predicate '"rdsh1" IN identifiers'
321
- Wait for connect to desktop done
322
- t = 17.98s Snapshot accessibility hierarchy for com.vmware.horizon
323
- t = 18.07s Find: Descendants matching type Window
324
- t = 18.07s Find: Elements matching predicate '"rdsh1" IN identifiers'
325
- Wait for connect to desktop done
326
- t = 18.07s Snapshot accessibility hierarchy for com.vmware.horizon
327
- t = 18.16s Find: Descendants matching type Window
328
- t = 18.16s Find: Elements matching predicate '"rdsh1" IN identifiers'
329
- Wait for connect to desktop done
330
- t = 18.16s Snapshot accessibility hierarchy for com.vmware.horizon
331
- t = 18.24s Find: Descendants matching type Window
332
- t = 18.25s Find: Elements matching predicate '"rdsh1" IN identifiers'
333
- Wait for connect to desktop done
334
- t = 18.25s Snapshot accessibility hierarchy for com.vmware.horizon
335
- t = 18.33s Find: Descendants matching type Window
336
- t = 18.34s Find: Elements matching predicate '"rdsh1" IN identifiers'
337
- Wait for connect to desktop done
338
- t = 18.34s Snapshot accessibility hierarchy for com.vmware.horizon
339
- t = 18.43s Find: Descendants matching type Window
340
- t = 18.43s Find: Elements matching predicate '"rdsh1" IN identifiers'
341
- Wait for connect to desktop done
342
- t = 18.43s Snapshot accessibility hierarchy for com.vmware.horizon
343
- t = 18.52s Find: Descendants matching type Window
344
- t = 18.52s Find: Elements matching predicate '"rdsh1" IN identifiers'
345
- Wait for connect to desktop done
346
- t = 18.52s Snapshot accessibility hierarchy for com.vmware.horizon
347
- t = 18.75s Find: Descendants matching type Window
348
- t = 18.75s Find: Elements matching predicate '"rdsh1" IN identifiers'
349
- Wait for connect to desktop done
350
- t = 18.76s Snapshot accessibility hierarchy for com.vmware.horizon
351
- t = 18.84s Find: Descendants matching type Window
352
- t = 18.84s Find: Elements matching predicate '"rdsh1" IN identifiers'
353
- Wait for connect to desktop done
354
- t = 18.84s Snapshot accessibility hierarchy for com.vmware.horizon
355
- t = 18.96s Find: Descendants matching type Window
356
- t = 18.97s Find: Elements matching predicate '"rdsh1" IN identifiers'
357
- Wait for connect to desktop done
358
- t = 18.97s Snapshot accessibility hierarchy for com.vmware.horizon
359
- t = 19.05s Find: Descendants matching type Window
360
- t = 19.06s Find: Elements matching predicate '"rdsh1" IN identifiers'
361
- Wait for connect to desktop done
362
- t = 19.06s Snapshot accessibility hierarchy for com.vmware.horizon
363
- t = 20.31s Find: Descendants matching type Window
364
- t = 20.32s Find: Elements matching predicate '"rdsh1" IN identifiers'
365
- Connect to desktop done
366
- t = 20.32s Click "Disconnect" Button
367
- t = 20.32s Wait for app to idle
368
- t = 20.39s Find the "Disconnect" Button
369
- t = 20.39s Snapshot accessibility hierarchy for com.vmware.horizon
370
- t = 20.53s Find: Descendants matching type Window
371
- t = 20.53s Find: Elements matching predicate '"rdsh1" IN identifiers'
372
- t = 21.54s Find the "Disconnect" Button (retry 1)
373
- t = 21.54s Snapshot accessibility hierarchy for com.vmware.horizon
374
- t = 21.80s Find: Descendants matching type Window
375
- t = 21.80s Find: Elements matching predicate '"rdsh1" IN identifiers'
376
- t = 21.81s Find: Descendants matching type Toolbar
377
- t = 21.81s Find: Descendants matching type Button
378
- t = 21.81s Find: Elements matching predicate '"Disconnect" IN identifiers'
379
- t = 21.81s Synthesize event
380
- t = 22.27s Assertion Failure: <unknown>:0: UI Testing Failure - Unable to find hit point for element Button 0x608001165880: {{74.0, -54.0}, {44.0, 38.0}}, label: 'Disconnect'
381
- t = 22.29s Tear Down
382
- Test Case '-[viewUITests.vmtAboutWindow testConnectToDesktop]' failed (22.490 seconds).
383
- Test Suite 'vmtAboutWindow' failed at 2016-08-18 09:07:40.331.
384
- Executed 1 test, with 1 failure (0 unexpected) in 22.490 (22.510) seconds
385
- Test Suite 'viewUITests.xctest' failed at 2016-08-18 09:07:40.332.
386
- Executed 1 test, with 1 failure (0 unexpected) in 22.490 (22.511) seconds
387
- Test Suite 'Selected tests' failed at 2016-08-18 09:07:40.332.
388
- Executed 1 test, with 1 failure (0 unexpected) in 22.490 (22.513) seconds