X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/800816a9888ac843381c08b266d607b98945cdb8..eb8af005bbc329134a5047b263cc983e349a5fa3:/services/fuse/tests/test_exec.py diff --git a/services/fuse/tests/test_exec.py b/services/fuse/tests/test_exec.py index 66013a4bf2..c67cc55f34 100644 --- a/services/fuse/tests/test_exec.py +++ b/services/fuse/tests/test_exec.py @@ -1,18 +1,21 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + import arvados_fuse.command import json import multiprocessing import os -import run_test_server +import shlex import tempfile import unittest -try: - from shlex import quote -except: - from pipes import quote +from . import run_test_server +from .integration_test import workerPool 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', @@ -30,7 +33,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 @@ -40,21 +43,17 @@ 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, [ - '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') + workerPool().apply(try_exec, (self.mnt, [ + '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: + self.assertRegex(json.load(f)['manifest_text'], r' 0:3:foo.txt\n')