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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +4 -3
- data/Rakefile +7 -16
- data/features/simple_format.feature +19 -0
- data/features/steps/formatting_steps.rb +32 -0
- data/lib/xcpretty/formatters/formatter.rb +5 -0
- data/lib/xcpretty/parser.rb +42 -35
- data/lib/xcpretty/reporters/reporter.rb +2 -1
- data/lib/xcpretty/version.rb +1 -1
- data/spec/fixtures/constants.rb +44 -4
- data/spec/xcpretty/formatters/formatter_spec.rb +6 -2
- data/spec/xcpretty/parser_spec.rb +32 -18
- data/spec/xcpretty/reporters/reporter_spec.rb +3 -3
- data/xcpretty.gemspec +1 -1
- metadata +7 -9
- data/spec/fixtures/raw_xcodebuild_uitest_fail.txt +0 -388
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 093859ed58db9406724d77694f6664b45e24e716
|
4
|
+
data.tar.gz: 1170dd4c63ab10c2d3ea785f99db697cb9b4dfdd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b632dcdfd5b2c3eb2b874a2d0a6a3500290907565a1e70d8e1a2814aa2b5958269f7d80e7f861439c2a1e0da0b7c94d57491893b441e9ea020c43a8c7db6e8b
|
7
|
+
data.tar.gz: c55f5c50f4e1d832ed84df1c67a07cbab241acd2aeb4046533df524862e08ef4f3b8374507064758e9f2eb387a952454386274f79f96e0e6ec1407c15e7a1806
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
@@ -1,26 +1,17 @@
|
|
1
|
-
require
|
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
|
-
|
7
|
+
task :spec do
|
8
|
+
sh 'bundle exec rspec --color --format=doc'
|
11
9
|
end
|
12
10
|
|
13
|
-
|
14
|
-
|
11
|
+
task :cucumber do
|
12
|
+
sh 'bundle exec cucumber'
|
15
13
|
end
|
16
14
|
|
17
|
-
|
18
|
-
|
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
|
+
|
data/lib/xcpretty/parser.rb
CHANGED
@@ -98,12 +98,12 @@ module XCPretty
|
|
98
98
|
# $2 = test_suite
|
99
99
|
# $3 = test_case
|
100
100
|
# $4 = reason
|
101
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
371
|
+
when TEST_CASE_MEASURED_MATCHER
|
354
372
|
formatter.format_measuring_test($1, $2, $3)
|
355
|
-
when
|
373
|
+
when TEST_CASE_PENDING_MATCHER
|
356
374
|
formatter.format_pending_test($1, $2)
|
357
|
-
when
|
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
|
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
|
422
|
+
when TEST_SUITE_STARTED_MATCHER
|
409
423
|
@tests_done = false
|
410
424
|
@formatted_summary = false
|
411
425
|
@failures = {}
|
412
|
-
|
413
|
-
@
|
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
|
-
|
423
|
-
|
424
|
-
|
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 +=
|
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
|
data/lib/xcpretty/version.rb
CHANGED
data/spec/fixtures/constants.rb
CHANGED
@@ -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
|
15
|
+
@formatter.use_unicode?.should == true
|
16
16
|
end
|
17
17
|
|
18
18
|
it "initializes with color" do
|
19
|
-
@formatter.colorize?.should
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
data/xcpretty.gemspec
CHANGED
@@ -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", "
|
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.
|
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-
|
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:
|
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:
|
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.
|
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
|