#!/usr/bin/env python # Copyright (c) 2012 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """ Verifies that bundles that have no 'sources' (pure resource containers) work. """ import TestGyp import sys if sys.platform == 'darwin': test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode']) test.run_gyp('test.gyp', chdir='sourceless-module') # Just needs to build without errors. test.build('test.gyp', 'empty_bundle', chdir='sourceless-module') test.built_file_must_not_exist( 'empty_bundle.bundle', chdir='sourceless-module') # Needs to build, and contain a resource. test.build('test.gyp', 'resource_bundle', chdir='sourceless-module') test.built_file_must_exist( 'resource_bundle.bundle/Contents/Resources/foo.manifest', chdir='sourceless-module') test.built_file_must_not_exist( 'resource_bundle.bundle/Contents/MacOS/resource_bundle', chdir='sourceless-module') # Build an app containing an actionless bundle. test.build( 'test.gyp', 'bundle_dependent_on_resource_bundle_no_actions', chdir='sourceless-module') test.built_file_must_exist( 'bundle_dependent_on_resource_bundle_no_actions.app/Contents/Resources/' 'mac_resource_bundle_no_actions.bundle/Contents/Resources/empty.txt', chdir='sourceless-module') # Needs to build and cause the bundle to be built. test.build( 'test.gyp', 'dependent_on_resource_bundle', chdir='sourceless-module') test.built_file_must_exist( 'resource_bundle.bundle/Contents/Resources/foo.manifest', chdir='sourceless-module') test.built_file_must_not_exist( 'resource_bundle.bundle/Contents/MacOS/resource_bundle', chdir='sourceless-module') # TODO(thakis): shared_libraries that have no sources but depend on static # libraries currently only work with the ninja generator. This is used by # chrome/mac's components build. if test.format == 'ninja': # Check that an executable depending on a resource framework links fine too. test.build( 'test.gyp', 'dependent_on_resource_framework', chdir='sourceless-module') test.built_file_must_exist( 'resource_framework.framework/Resources/foo.manifest', chdir='sourceless-module') test.built_file_must_exist( 'resource_framework.framework/resource_framework', chdir='sourceless-module') test.pass_test()