Commit 506ac23c authored by Brian Sheedy's avatar Brian Sheedy Committed by Commit Bot

Fix Gold deleted JSON issue

Fixes an issue in the Skia Gold Python code where if initialization
failed the first time, subsequent attempts would fail due to trying to
use a potentially deleted JSON file. This is fixed by making a copy on
object creation that is used instead of the provided file.

Bug: 1077274
Change-Id: I03ca402ed27bfedf81de320863c6c1946733b46e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419691
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: default avatarTibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808985}
parent 4268d45d
......@@ -32,6 +32,7 @@ class AndroidSkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(gold_utils.AndroidSkiaGoldSession, '_RunCmdForRcAndOutput')
def test_commandCommonArgs(self, cmd_mock):
......@@ -40,7 +41,7 @@ class AndroidSkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
sgp = gold_utils.AndroidSkiaGoldProperties(args)
session = gold_utils.AndroidSkiaGoldSession(self._working_dir,
sgp,
None,
self._json_keys,
'corpus',
instance='instance')
session.Diff('name', 'png_file', None)
......@@ -84,12 +85,13 @@ class AndroidSkiaGoldSessionDiffLinksTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
def test_outputManagerUsed(self):
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=True)
sgp = gold_utils.AndroidSkiaGoldProperties(args)
session = gold_utils.AndroidSkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = gold_utils.AndroidSkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
with open(os.path.join(self._working_dir, 'input-inputhash.png'), 'w') as f:
f.write('input')
with open(os.path.join(self._working_dir, 'closest-closesthash.png'),
......
......@@ -62,7 +62,6 @@ class SkiaGoldSession(object):
"""
self._working_dir = working_dir
self._gold_properties = gold_properties
self._keys_file = keys_file
self._corpus = corpus
self._instance = instance
self._triage_link_file = tempfile.NamedTemporaryFile(suffix='.txt',
......@@ -73,6 +72,11 @@ class SkiaGoldSession(object):
self._authenticated = False
self._initialized = False
# Copy the given keys file to the working directory in case it ends up
# getting deleted before we try to use it.
self._keys_file = os.path.join(working_dir, 'gold_keys.json')
shutil.copy(keys_file, self._keys_file)
def RunComparison(self,
name,
png_file,
......
......@@ -32,6 +32,9 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
with open(self._json_keys, 'w') as f:
json.dump({}, f)
@mock.patch.object(skia_gold_session.SkiaGoldSession, 'Diff')
@mock.patch.object(skia_gold_session.SkiaGoldSession, 'Compare')
......@@ -42,11 +45,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
auth_mock.return_value = (0, None)
init_mock.return_value = (0, None)
compare_mock.return_value = (0, None)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, None,
keys_file, None, None)
self._json_keys, None, None)
status, _ = session.RunComparison(None, None, None)
self.assertEqual(status,
skia_gold_session.SkiaGoldSession.StatusCodes.SUCCESS)
......@@ -61,8 +61,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
@mock.patch.object(skia_gold_session.SkiaGoldSession, 'Authenticate')
def test_authFailure(self, auth_mock, init_mock, compare_mock, diff_mock):
auth_mock.return_value = (1, 'Auth failed')
session = skia_gold_session.SkiaGoldSession(self._working_dir, None, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, None,
self._json_keys, None, None)
status, error = session.RunComparison(None, None, None)
self.assertEqual(status,
skia_gold_session.SkiaGoldSession.StatusCodes.AUTH_FAILURE)
......@@ -79,8 +79,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
def test_initFailure(self, auth_mock, init_mock, compare_mock, diff_mock):
auth_mock.return_value = (0, None)
init_mock.return_value = (1, 'Init failed')
session = skia_gold_session.SkiaGoldSession(self._working_dir, None, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, None,
self._json_keys, None, None)
status, error = session.RunComparison(None, None, None)
self.assertEqual(status,
skia_gold_session.SkiaGoldSession.StatusCodes.INIT_FAILURE)
......@@ -101,11 +101,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
compare_mock.return_value = (1, 'Compare failed')
args = createSkiaGoldArgs(local_pixel_tests=False)
sgp = skia_gold_properties.SkiaGoldProperties(args)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
keys_file, None, None)
self._json_keys, None, None)
status, error = session.RunComparison(None, None, None)
self.assertEqual(
status,
......@@ -128,11 +125,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
diff_mock.return_value = (0, None)
args = createSkiaGoldArgs(local_pixel_tests=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
keys_file, None, None)
self._json_keys, None, None)
status, error = session.RunComparison(None, None,
'Definitely an output manager')
self.assertEqual(
......@@ -156,11 +150,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
diff_mock.return_value = (0, None)
args = createSkiaGoldArgs(local_pixel_tests=False)
sgp = skia_gold_properties.SkiaGoldProperties(args)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
keys_file, None, None)
self._json_keys, None, None)
status, _ = session.RunComparison(None,
None,
None,
......@@ -186,11 +177,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
diff_mock.return_value = (1, 'Diff failed')
args = createSkiaGoldArgs(local_pixel_tests=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
keys_file, None, None)
self._json_keys, None, None)
status, error = session.RunComparison(None, None,
'Definitely an output manager')
self.assertEqual(
......@@ -214,11 +202,8 @@ class SkiaGoldSessionRunComparisonTest(fake_filesystem_unittest.TestCase):
diff_mock.return_value = (0, None)
args = createSkiaGoldArgs(local_pixel_tests=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
keys_file = os.path.join(self._working_dir, 'keys.json')
with open(os.path.join(self._working_dir, 'keys.json'), 'w') as f:
json.dump({}, f)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
keys_file, None, None)
self._json_keys, None, None)
status, error = session.RunComparison(None, None, None)
self.assertEqual(
status, skia_gold_session.SkiaGoldSession.StatusCodes.NO_OUTPUT_MANAGER)
......@@ -234,14 +219,15 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(skia_gold_session.SkiaGoldSession, '_RunCmdForRcAndOutput')
def test_commandOutputReturned(self, cmd_mock):
cmd_mock.return_value = (1, 'Something bad :(')
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, stdout = session.Authenticate()
self.assertEqual(cmd_mock.call_count, 1)
self.assertEqual(rc, 1)
......@@ -253,8 +239,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a',
bypass_skia_gold_functionality=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, _ = session.Authenticate()
self.assertEqual(rc, 0)
cmd_mock.assert_not_called()
......@@ -264,8 +250,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session._authenticated = True
rc, _ = session.Authenticate()
self.assertEqual(rc, 0)
......@@ -276,8 +262,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (0, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
self.assertFalse(session._authenticated)
rc, _ = session.Authenticate()
self.assertEqual(rc, 0)
......@@ -289,8 +275,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (1, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
self.assertFalse(session._authenticated)
rc, _ = session.Authenticate()
self.assertEqual(rc, 1)
......@@ -302,8 +288,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Authenticate(use_luci=True)
self.assertIn('--luci', cmd_mock.call_args[0][0])
......@@ -312,8 +298,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Authenticate(use_luci=False)
self.assertNotIn('--luci', cmd_mock.call_args[0][0])
......@@ -322,8 +308,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=False)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
with self.assertRaises(RuntimeError):
session.Authenticate(use_luci=False)
......@@ -332,8 +318,8 @@ class SkiaGoldSessionAuthenticateTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Authenticate()
call_args = cmd_mock.call_args[0][0]
self.assertIn('auth', call_args)
......@@ -346,6 +332,7 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(skia_gold_session.SkiaGoldSession, '_RunCmdForRcAndOutput')
def test_bypassSkiaGoldFunctionality(self, cmd_mock):
......@@ -353,8 +340,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a',
bypass_skia_gold_functionality=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, _ = session.Initialize()
self.assertEqual(rc, 0)
cmd_mock.assert_not_called()
......@@ -364,8 +351,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session._initialized = True
rc, _ = session.Initialize()
self.assertEqual(rc, 0)
......@@ -376,8 +363,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (0, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
self.assertFalse(session._initialized)
rc, _ = session.Initialize()
self.assertEqual(rc, 0)
......@@ -389,8 +376,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (1, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
self.assertFalse(session._initialized)
rc, _ = session.Initialize()
self.assertEqual(rc, 1)
......@@ -404,7 +391,7 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir,
sgp,
'keys_file',
self._json_keys,
'corpus',
instance='instance')
session.Initialize()
......@@ -414,7 +401,9 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
self.assertIn('--passfail', call_args)
assertArgWith(self, call_args, '--instance', 'instance')
assertArgWith(self, call_args, '--corpus', 'corpus')
assertArgWith(self, call_args, '--keys-file', 'keys_file')
# The keys file should have been copied to the working directory.
assertArgWith(self, call_args, '--keys-file',
os.path.join(self._working_dir, 'gold_keys.json'))
assertArgWith(self, call_args, '--work-dir', self._working_dir)
assertArgWith(self, call_args, '--failure-file', session._triage_link_file)
assertArgWith(self, call_args, '--commit', 'a')
......@@ -427,8 +416,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
gerrit_patchset=2,
buildbucket_id=3)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Initialize()
call_args = cmd_mock.call_args[0][0]
assertArgWith(self, call_args, '--issue', '1')
......@@ -446,8 +435,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
gerrit_patchset=2,
buildbucket_id=3)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Initialize()
call_args = cmd_mock.call_args[0][0]
assertArgWith(self, call_args, '--issue', '1')
......@@ -461,8 +450,8 @@ class SkiaGoldSessionInitializeTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Initialize()
call_args = cmd_mock.call_args[0][0]
self.assertNotIn('--issue', call_args)
......@@ -478,14 +467,15 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(skia_gold_session.SkiaGoldSession, '_RunCmdForRcAndOutput')
def test_commandOutputReturned(self, cmd_mock):
cmd_mock.return_value = (1, 'Something bad :(')
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, stdout = session.Compare(None, None)
self.assertEqual(cmd_mock.call_count, 1)
self.assertEqual(rc, 1)
......@@ -497,8 +487,8 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a',
bypass_skia_gold_functionality=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, _ = session.Compare(None, None)
self.assertEqual(rc, 0)
cmd_mock.assert_not_called()
......@@ -508,8 +498,8 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Compare(None, None)
self.assertIn('--dryrun', cmd_mock.call_args[0][0])
......@@ -518,8 +508,8 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=False)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Compare(None, None)
self.assertNotIn('--dryrun', cmd_mock.call_args[0][0])
......@@ -528,8 +518,8 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (None, None)
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
session.Compare(None, None, inexact_matching_args=['--inexact', 'foobar'])
self.assertIn('--inexact', cmd_mock.call_args[0][0])
self.assertIn('foobar', cmd_mock.call_args[0][0])
......@@ -541,7 +531,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir,
sgp,
'keys_file',
self._json_keys,
'corpus',
instance='instance')
session.Compare('name', 'png_file')
......@@ -558,7 +548,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
'keys_file', None, None)
self._json_keys, None, None)
rc, _ = session.Compare('name', 'png_file')
self.assertEqual(rc, 0)
comparison_result = session._comparison_results['name']
......@@ -576,7 +566,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir,
sgp,
'keys_file',
self._json_keys,
None,
instance='instance')
rc, _ = session.Compare('name', 'png_file')
......@@ -598,7 +588,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir,
sgp,
'keys_file',
self._json_keys,
None,
instance='foobar')
......@@ -627,7 +617,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
'keys_file', None, None)
self._json_keys, None, None)
def WriteTriageLinkFile(_):
with open(session._triage_link_file, 'w'):
......@@ -649,7 +639,7 @@ class SkiaGoldSessionCompareTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a')
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
'keys_file', None, None)
self._json_keys, None, None)
def DeleteTriageLinkFile(_):
os.remove(session._triage_link_file)
......@@ -672,6 +662,7 @@ class SkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(skia_gold_session.SkiaGoldSession, '_StoreDiffLinks')
@mock.patch.object(skia_gold_session.SkiaGoldSession, '_RunCmdForRcAndOutput')
......@@ -679,8 +670,8 @@ class SkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
cmd_mock.return_value = (1, 'Something bad :(')
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=False)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
rc, stdout = session.Diff(None, None, None)
self.assertEqual(cmd_mock.call_count, 1)
self.assertEqual(rc, 1)
......@@ -692,8 +683,8 @@ class SkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
args = createSkiaGoldArgs(git_revision='a',
bypass_skia_gold_functionality=True)
sgp = skia_gold_properties.SkiaGoldProperties(args)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp, None,
None, None)
session = skia_gold_session.SkiaGoldSession(self._working_dir, sgp,
self._json_keys, None, None)
with self.assertRaises(RuntimeError):
session.Diff(None, None, None)
......@@ -706,8 +697,9 @@ class SkiaGoldSessionTriageLinkOmissionTest(fake_filesystem_unittest.TestCase):
self._working_dir = tempfile.mkdtemp()
def _CreateSession(self):
session = skia_gold_session.SkiaGoldSession(self._working_dir, None, None,
None, None)
json_keys = tempfile.NamedTemporaryFile(delete=False).name
session = skia_gold_session.SkiaGoldSession(self._working_dir, None,
json_keys, None, None)
session._comparison_results = {
'foo': skia_gold_session.SkiaGoldSession.ComparisonResults(),
}
......
......@@ -32,6 +32,7 @@ class GpuSkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
@mock.patch.object(gpu_skia_gold_session.GpuSkiaGoldSession,
'_RunCmdForRcAndOutput')
......@@ -41,7 +42,7 @@ class GpuSkiaGoldSessionDiffTest(fake_filesystem_unittest.TestCase):
sgp = gpu_skia_gold_properties.GpuSkiaGoldProperties(args)
session = gpu_skia_gold_session.GpuSkiaGoldSession(self._working_dir,
sgp,
None,
self._json_keys,
'corpus',
instance='instance')
session.Diff('name', 'png_file', None)
......@@ -70,12 +71,14 @@ class GpuSkiaGoldSessionStoreDiffLinksTest(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()
self._working_dir = tempfile.mkdtemp()
self._json_keys = tempfile.NamedTemporaryFile(delete=False).name
def test_outputManagerNotNeeded(self):
args = createSkiaGoldArgs(git_revision='a', local_pixel_tests=True)
sgp = gpu_skia_gold_properties.GpuSkiaGoldProperties(args)
session = gpu_skia_gold_session.GpuSkiaGoldSession(self._working_dir, sgp,
None, None, None)
self._json_keys, None,
None)
input_filepath = os.path.join(self._working_dir, 'input-inputhash.png')
with open(input_filepath, 'w') as f:
f.write('')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment