142 lines
7.1 KiB
Python
142 lines
7.1 KiB
Python
# Copyright 2017 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import unittest
|
|
import compile_xcassets
|
|
|
|
|
|
class TestFilterCompilerOutput(unittest.TestCase):
|
|
|
|
relative_paths = {
|
|
'/Users/janedoe/chromium/src/Chromium.xcassets':
|
|
'../../Chromium.xcassets',
|
|
'/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car':
|
|
'Chromium.app/Assets.car',
|
|
}
|
|
|
|
def testNoError(self):
|
|
self.assertEquals(
|
|
'',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'/* com.apple.actool.compilation-results */\n'
|
|
'/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n',
|
|
self.relative_paths))
|
|
|
|
def testNoErrorRandomMessages(self):
|
|
self.assertEquals(
|
|
'',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'2017-07-04 04:59:19.460 ibtoold[23487:41214] CoreSimulator is att'
|
|
'empting to unload a stale CoreSimulatorService job. Existing'
|
|
' job (com.apple.CoreSimulator.CoreSimulatorService.179.1.E8tt'
|
|
'yeDeVgWK) is from an older version and is being removed to pr'
|
|
'event problems.\n'
|
|
'/* com.apple.actool.compilation-results */\n'
|
|
'/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n',
|
|
self.relative_paths))
|
|
|
|
def testWarning(self):
|
|
self.assertEquals(
|
|
'/* com.apple.actool.document.warnings */\n'
|
|
'../../Chromium.xcassets:./image1.imageset/[universal][][][1x][][][]['
|
|
'][][]: warning: The file "image1.png" for the image set "image1"'
|
|
' does not exist.\n',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'/* com.apple.actool.document.warnings */\n'
|
|
'/Users/janedoe/chromium/src/Chromium.xcassets:./image1.imageset/['
|
|
'universal][][][1x][][][][][][]: warning: The file "image1.png'
|
|
'" for the image set "image1" does not exist.\n'
|
|
'/* com.apple.actool.compilation-results */\n'
|
|
'/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n',
|
|
self.relative_paths))
|
|
|
|
def testError(self):
|
|
self.assertEquals(
|
|
'/* com.apple.actool.errors */\n'
|
|
'../../Chromium.xcassets: error: The output directory "/Users/janedoe/'
|
|
'chromium/src/out/Default/Chromium.app" does not exist.\n',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'/* com.apple.actool.errors */\n'
|
|
'/Users/janedoe/chromium/src/Chromium.xcassets: error: The output '
|
|
'directory "/Users/janedoe/chromium/src/out/Default/Chromium.a'
|
|
'pp" does not exist.\n'
|
|
'/* com.apple.actool.compilation-results */\n',
|
|
self.relative_paths))
|
|
|
|
def testSpurious(self):
|
|
self.assertEquals(
|
|
'/* com.apple.actool.document.warnings */\n'
|
|
'../../Chromium.xcassets:./AppIcon.appiconset: warning: A 1024x1024 ap'
|
|
'p store icon is required for iOS apps\n',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'/* com.apple.actool.document.warnings */\n'
|
|
'/Users/janedoe/chromium/src/Chromium.xcassets:./AppIcon.appiconse'
|
|
't: warning: A 1024x1024 app store icon is required for iOS ap'
|
|
'ps\n'
|
|
'/* com.apple.actool.document.notices */\n'
|
|
'/Users/janedoe/chromium/src/Chromium.xcassets:./AppIcon.appiconse'
|
|
't/[][ipad][76x76][][][1x][][]: notice: (null)\n',
|
|
self.relative_paths))
|
|
|
|
def testComplexError(self):
|
|
self.assertEquals(
|
|
'/* com.apple.actool.errors */\n'
|
|
': error: Failed to find a suitable device for the type SimDeviceType '
|
|
': com.apple.dt.Xcode.IBSimDeviceType.iPad-2x with runtime SimRunt'
|
|
'ime : 10.3.1 (14E8301) - com.apple.CoreSimulator.SimRuntime.iOS-1'
|
|
'0-3\n'
|
|
' Failure Reason: Failed to create SimDeviceSet at path /Users/jane'
|
|
'doe/Library/Developer/Xcode/UserData/IB Support/Simulator Devices'
|
|
'. You\'ll want to check the logs in ~/Library/Logs/CoreSimulator '
|
|
'to see why creating the SimDeviceSet failed.\n'
|
|
' Underlying Errors:\n'
|
|
' Description: Failed to initialize simulator device set.\n'
|
|
' Failure Reason: Failed to subscribe to notifications from Cor'
|
|
'eSimulatorService.\n'
|
|
' Underlying Errors:\n'
|
|
' Description: Error returned in reply to notification requ'
|
|
'est: Connection invalid\n'
|
|
' Failure Reason: Software caused connection abort\n',
|
|
compile_xcassets.FilterCompilerOutput(
|
|
'2017-07-07 10:37:27.367 ibtoold[88538:12553239] CoreSimulator det'
|
|
'ected Xcode.app relocation or CoreSimulatorService version ch'
|
|
'ange. Framework path (/Applications/Xcode.app/Contents/Devel'
|
|
'oper/Library/PrivateFrameworks/CoreSimulator.framework) and v'
|
|
'ersion (375.21) does not match existing job path (/Library/De'
|
|
'veloper/PrivateFrameworks/CoreSimulator.framework/Versions/A/'
|
|
'XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc)'
|
|
' and version (459.13). Attempting to remove the stale servic'
|
|
'e in order to add the expected version.\n'
|
|
'2017-07-07 10:37:27.625 ibtoold[88538:12553256] CoreSimulatorServ'
|
|
'ice connection interrupted. Resubscribing to notifications.\n'
|
|
'2017-07-07 10:37:27.632 ibtoold[88538:12553264] CoreSimulatorServ'
|
|
'ice connection became invalid. Simulator services will no lo'
|
|
'nger be available.\n'
|
|
'2017-07-07 10:37:27.642 ibtoold[88538:12553274] CoreSimulatorServ'
|
|
'ice connection became invalid. Simulator services will no lo'
|
|
'nger be available.\n'
|
|
'/* com.apple.actool.errors */\n'
|
|
': error: Failed to find a suitable device for the type SimDeviceT'
|
|
'ype : com.apple.dt.Xcode.IBSimDeviceType.iPad-2x with runtime'
|
|
' SimRuntime : 10.3.1 (14E8301) - com.apple.CoreSimulator.SimR'
|
|
'untime.iOS-10-3\n'
|
|
' Failure Reason: Failed to create SimDeviceSet at path /Users/'
|
|
'janedoe/Library/Developer/Xcode/UserData/IB Support/Simulator'
|
|
' Devices. You\'ll want to check the logs in ~/Library/Logs/Co'
|
|
'reSimulator to see why creating the SimDeviceSet failed.\n'
|
|
' Underlying Errors:\n'
|
|
' Description: Failed to initialize simulator device set.\n'
|
|
' Failure Reason: Failed to subscribe to notifications from'
|
|
' CoreSimulatorService.\n'
|
|
' Underlying Errors:\n'
|
|
' Description: Error returned in reply to notification '
|
|
'request: Connection invalid\n'
|
|
' Failure Reason: Software caused connection abort\n'
|
|
'/* com.apple.actool.compilation-results */\n',
|
|
self.relative_paths))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|