xcpretty 0.2.3 → 0.2.4

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