Merge branch '17995-filter-by-comparing-attrs'
[arvados.git] / services / fuse / tests / test_exec.py
index 85cb5e46989f3133feee187ebf2d9114401ddf55..6af60302bc788c796b50d5b57e33ee2bf3274332 100644 (file)
@@ -2,14 +2,18 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
+from __future__ import absolute_import
+from six import assertRegex
 import arvados_fuse.command
 import json
 import multiprocessing
 import os
-import run_test_server
+from . import run_test_server
 import tempfile
 import unittest
 
+from .integration_test import workerPool
+
 try:
     from shlex import quote
 except:
@@ -17,6 +21,7 @@ except:
 
 def try_exec(mnt, cmd):
     try:
+        os.environ['KEEP_LOCAL_STORE'] = tempfile.mkdtemp()
         arvados_fuse.command.Mount(
             arvados_fuse.command.ArgumentParser().parse_args([
                 '--read-write',
@@ -34,7 +39,7 @@ class ExecMode(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         run_test_server.run()
-        run_test_server.run_keep(enforce_permissions=True, num_servers=2)
+        run_test_server.run_keep(blob_signing=True, num_servers=2)
         run_test_server.authorize_with('active')
 
     @classmethod
@@ -44,21 +49,20 @@ class ExecMode(unittest.TestCase):
     def setUp(self):
         self.mnt = tempfile.mkdtemp()
         _, self.okfile = tempfile.mkstemp()
-        self.pool = multiprocessing.Pool(1)
 
     def tearDown(self):
-        self.pool.terminate()
-        self.pool.join()
         os.rmdir(self.mnt)
         os.unlink(self.okfile)
 
     def test_exec(self):
-        self.pool.apply(try_exec, (self.mnt, [
+        workerPool().apply(try_exec, (self.mnt, [
             'sh', '-c',
             'echo -n foo >{}; cp {} {}'.format(
                 quote(os.path.join(self.mnt, 'zzz', 'foo.txt')),
                 quote(os.path.join(self.mnt, 'zzz', '.arvados#collection')),
                 quote(os.path.join(self.okfile)))]))
-        self.assertRegexpMatches(
-            json.load(open(self.okfile))['manifest_text'],
-            r' 0:3:foo.txt\n')
+        with open(self.okfile) as f:
+            assertRegex(
+                self,
+                json.load(f)['manifest_text'],
+                r' 0:3:foo.txt\n')