summaryrefslogtreecommitdiff
path: root/deps/gyp/test/msvs/missing_sources/gyptest-missing.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/gyp/test/msvs/missing_sources/gyptest-missing.py')
-rw-r--r--deps/gyp/test/msvs/missing_sources/gyptest-missing.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/deps/gyp/test/msvs/missing_sources/gyptest-missing.py b/deps/gyp/test/msvs/missing_sources/gyptest-missing.py
new file mode 100644
index 0000000000..62a99ef0f1
--- /dev/null
+++ b/deps/gyp/test/msvs/missing_sources/gyptest-missing.py
@@ -0,0 +1,43 @@
+#!/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 missing 'sources' files are treated as fatal errors when the
+the generator flag 'msvs_error_on_missing_sources' is set.
+"""
+
+import TestGyp
+import os
+import sys
+
+if sys.platform == 'win32':
+ test = TestGyp.TestGyp(formats=['msvs', 'ninja'], workdir='workarea_all')
+
+ # With the flag not set
+ test.run_gyp('hello_missing.gyp')
+
+ # With the flag explicitly set to 0
+ try:
+ os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=0'
+ test.run_gyp('hello_missing.gyp')
+ finally:
+ del os.environ['GYP_GENERATOR_FLAGS']
+
+ # With the flag explicitly set to 1
+ try:
+ os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=1'
+ # Test to make sure GYP raises an exception (exit status 1). Since this will
+ # also print a backtrace, ensure that TestGyp is not checking that stderr is
+ # empty by specifying None, which means do not perform any checking.
+ # Instead, stderr is checked below to ensure it contains the expected
+ # output.
+ test.run_gyp('hello_missing.gyp', status=1, stderr=None)
+ finally:
+ del os.environ['GYP_GENERATOR_FLAGS']
+ test.must_contain_any_line(test.stderr(),
+ ["Missing input files:"])
+
+ test.pass_test()