src/tests/cli/t_api_search.py
changeset 1230 4bc74e5d6c3d
parent 1191 a48bee2a4b2e
child 1271 036d87b0bd44
--- a/src/tests/cli/t_api_search.py	Thu Jul 16 12:44:34 2009 -0500
+++ b/src/tests/cli/t_api_search.py	Thu Jul 16 14:21:08 2009 -0700
@@ -27,14 +27,15 @@
 if __name__ == "__main__":
 	testutils.setup_environment("../../../proto")
 
-import unittest
+import copy
+import difflib
 import os
-import sys
-import copy
 import re
 import shutil
-import difflib
+import sys
+import tempfile
 import time
+import unittest
 
 import pkg.client.api as api
 import pkg.client.api_errors as api_errors
@@ -991,11 +992,14 @@
 
         @staticmethod
         def _overwrite_hash(ffh_path):
-                fh = open(ffh_path, "r+")
+                fd, tmp = tempfile.mkstemp()
+                portable.copyfile(ffh_path, tmp)
+                fh = open(tmp, "r+")
                 fh.seek(0)
                 fh.seek(20)
                 fh.write("*")
                 fh.close()
+                portable.rename(tmp, ffh_path)
 
         def _check_no_index(self):
                 ind_dir, ind_dir_tmp = self._get_index_dirs()
@@ -1201,10 +1205,10 @@
                         api_obj.reset()
                         self._search_op(api_obj, False, "example_pkg",
                             self.res_local_pkg)
-                        
+
                 ffh = ss.IndexStoreSetHash(ss.FULL_FMRI_HASH_FILE)
                 ffh_path = os.path.join(index_dir, ffh.get_file_name())
-                dest_path = ffh_path + "TMP"
+                dest_fh, dest_path = tempfile.mkstemp()
                 shutil.copy(ffh_path, dest_path)
                 self._overwrite_hash(ffh_path)
                 self.assertRaises(api_errors.IncorrectIndexFileHash,