Fix checkin chromium dep tool's test

TBR=phoglund@webrtc.org

Bug: webrtc:8366
Change-Id: I0c01d640060d6f604d95fa02faff61917c87c7ab
Reviewed-on: https://webrtc-review.googlesource.com/77680
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23300}
This commit is contained in:
Artem Titov 2018-05-18 11:01:28 +02:00 committed by Commit Bot
parent c7da266cb8
commit a6ccd25eea

View File

@ -8,9 +8,11 @@
# be found in the AUTHORS file in the root of the source tree. # be found in the AUTHORS file in the root of the source tree.
import errno
import json import json
import os.path import os.path
import shutil import shutil
import stat
import sys import sys
import tempfile import tempfile
import unittest import unittest
@ -30,6 +32,15 @@ FAKE_SOURCE_TEMPLATE_ROOT = os.path.join(SCRIPT_DIR, 'testdata',
'checkin_chromium_dep', 'src_root') 'checkin_chromium_dep', 'src_root')
def _HandleRemoveReadonly(func, path, exc):
excvalue = exc[1]
if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
os.chmod(path, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) # 0777
func(path)
else:
raise excvalue
class TestCheckInChromiumDep(unittest.TestCase): class TestCheckInChromiumDep(unittest.TestCase):
def setUp(self): def setUp(self):
self._temp_dir = tempfile.mkdtemp(prefix='webrtc_test_') self._temp_dir = tempfile.mkdtemp(prefix='webrtc_test_')
@ -74,9 +85,12 @@ class TestCheckInChromiumDep(unittest.TestCase):
working_dir=repo_dir) working_dir=repo_dir)
def tearDown(self): def tearDown(self):
shutil.rmtree(self._temp_dir) shutil.rmtree(self._temp_dir, ignore_errors=False,
shutil.rmtree(self._fake_chromium_repo) onerror=_HandleRemoveReadonly)
shutil.rmtree(self._fake_source_repo) shutil.rmtree(self._fake_chromium_repo, ignore_errors=False,
onerror=_HandleRemoveReadonly)
shutil.rmtree(self._fake_source_repo, ignore_errors=False,
onerror=_HandleRemoveReadonly)
def testCheckIn(self): def testCheckIn(self):
third_party_dir = os.path.join(self._fake_source_repo, 'third_party') third_party_dir = os.path.join(self._fake_source_repo, 'third_party')