Make generated build_info source file deterministic. The order of a plain dict is not guaranteed.
PiperOrigin-RevId: 323423187 Change-Id: I7a086ce8cb6995b0da9e2eddceab671349ad41b6
This commit is contained in:
parent
f413da875c
commit
d475b4f7a5
@ -30,6 +30,10 @@ class BuildInfoTest(test.TestCase):
|
||||
self.assertEqual(build_info.build_info['is_cuda_build'],
|
||||
test.is_built_with_cuda())
|
||||
|
||||
def testDeterministicOrder(self):
|
||||
self.assertEqual(['is_cuda_build', 'is_rocm_build'],
|
||||
list(build_info.build_info.keys()))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
test.main()
|
||||
|
@ -52,6 +52,9 @@ def write_build_info(filename, key_value_list):
|
||||
else:
|
||||
build_info[key] = value.format(**build_info)
|
||||
|
||||
# Sort the build info to ensure deterministic output.
|
||||
sorted_build_info_pairs = sorted(build_info.items())
|
||||
|
||||
contents = """
|
||||
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
|
||||
#
|
||||
@ -72,8 +75,10 @@ from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
build_info = {build_info}
|
||||
""".format(build_info=build_info)
|
||||
import collections
|
||||
|
||||
build_info = collections.OrderedDict(%s)
|
||||
""" % sorted_build_info_pairs
|
||||
open(filename, "w").write(contents)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user