X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9aff8a3624b463d3fd4d9302c4d41c7558df4a13..f3b8d03f7063b162355bccfd71aeb2b8b67bbdbb:/services/fuse/tests/test_exec.py diff --git a/services/fuse/tests/test_exec.py b/services/fuse/tests/test_exec.py index ab6e13136b..f977990026 100644 --- a/services/fuse/tests/test_exec.py +++ b/services/fuse/tests/test_exec.py @@ -2,23 +2,22 @@ # # 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 shlex import tempfile import unittest from .integration_test import workerPool -try: - from shlex import quote -except: - from pipes import quote - 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', @@ -36,7 +35,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 @@ -53,11 +52,13 @@ class ExecMode(unittest.TestCase): def test_exec(self): 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') + 'sh', '-c', 'echo -n foo >{}; cp {} {}'.format( + shlex.quote(os.path.join(self.mnt, 'zzz', 'foo.txt')), + shlex.quote(os.path.join(self.mnt, 'zzz', '.arvados#collection')), + shlex.quote(os.path.join(self.okfile)), + )])) + with open(self.okfile) as f: + assertRegex( + self, + json.load(f)['manifest_text'], + r' 0:3:foo.txt\n')