Index: test/determinism/gyptest-solibs.py |
diff --git a/test/determinism/gyptest-solibs.py b/test/determinism/gyptest-solibs.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..de9588db1cf24e2dcd5c65ba3b9cb50a0a8f6050 |
--- /dev/null |
+++ b/test/determinism/gyptest-solibs.py |
@@ -0,0 +1,35 @@ |
+#!/usr/bin/env python |
+ |
+# Copyright (c) 2015 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 builds are the same even with different PYTHONHASHSEEDs. |
+Tests all_targets, implicit_deps and solibs. |
+""" |
+ |
+import os |
+import sys |
+import TestGyp |
+ |
+test = TestGyp.TestGyp() |
+if test.format == 'ninja': |
+ os.environ["PYTHONHASHSEED"] = "1" |
+ test.run_gyp('solibs.gyp') |
+ base1 = open(test.built_file_path('c.ninja', subdir='obj')).read() |
+ base2 = open(test.built_file_path('build.ninja')).read() |
+ |
+ for i in range(1,5): |
+ os.environ["PYTHONHASHSEED"] = str(i) |
+ test.run_gyp('solibs.gyp') |
+ contents1 = open(test.built_file_path('c.ninja', subdir='obj')).read() |
+ contents2 = open(test.built_file_path('build.ninja')).read() |
+ if base1 != contents1: |
+ test.fail_test() |
+ if base2 != contents2: |
+ print base2 |
+ test.fail_test() |
+ |
+ del os.environ["PYTHONHASHSEED"] |
+ test.pass_test() |