blob: 7655df8c05705929f8bf0a77af835be05c81d5e9 [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# 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()