fix #31494: export_lib.get_temp_export_dir returns incorrect value with mixed bytes and str
diff --git a/tensorflow/python/saved_model/model_utils/export_test.py b/tensorflow/python/saved_model/model_utils/export_test.py
index c87d2ee..521790e 100644
--- a/tensorflow/python/saved_model/model_utils/export_test.py
+++ b/tensorflow/python/saved_model/model_utils/export_test.py
@@ -21,6 +21,7 @@
import os
import tempfile
import time
+import re
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import dtypes
@@ -206,6 +207,14 @@
self.assertTrue(int(time_1) < int(time_2))
self.assertTrue(int(time_2) < int(time_3))
+ def test_get_temp_export_dir(self):
+ export_dir_base = "/tmp/export/"
+ export_dir_1 = export_utils.get_timestamped_export_dir(export_dir_base)
+ temp_export_dir = export_utils.get_temp_export_dir(export_dir_1).decode("utf-8")
+ print(temp_export_dir)
+ expected_1 = re.compile(export_dir_base + "temp-[\d]{10}")
+ self.assertTrue(expected_1.match(temp_export_dir))
+
@test_util.deprecated_graph_mode_only
def test_build_all_signature_defs_serving_only(self):
receiver_tensor = {"input": array_ops.placeholder(dtypes.string)}
diff --git a/tensorflow/python/saved_model/model_utils/export_utils.py b/tensorflow/python/saved_model/model_utils/export_utils.py
index 737f76e..f4b135a 100644
--- a/tensorflow/python/saved_model/model_utils/export_utils.py
+++ b/tensorflow/python/saved_model/model_utils/export_utils.py
@@ -242,7 +242,7 @@
"""
(dirname, basename) = os.path.split(timestamped_export_dir)
temp_export_dir = os.path.join(
- compat.as_bytes(dirname), compat.as_bytes('temp-{}'.format(basename)))
+ compat.as_bytes(dirname), compat.as_bytes('temp-' + compat.as_str(basename)))
return temp_export_dir