| Index: tools/foozzie/v8_foozzie_test.py
 | 
| diff --git a/tools/foozzie/v8_foozzie_test.py b/tools/foozzie/v8_foozzie_test.py
 | 
| index de5516f80685e9fce35dd568c9666a9e3a3881f2..be085035ac2d05cedf5b672d93edbb83afb74f89 100644
 | 
| --- a/tools/foozzie/v8_foozzie_test.py
 | 
| +++ b/tools/foozzie/v8_foozzie_test.py
 | 
| @@ -2,11 +2,19 @@
 | 
|  # Use of this source code is governed by a BSD-style license that can be
 | 
|  # found in the LICENSE file.
 | 
|  
 | 
| +import os
 | 
| +import subprocess
 | 
| +import sys
 | 
|  import unittest
 | 
|  
 | 
| +import v8_foozzie
 | 
|  import v8_suppressions
 | 
|  
 | 
| -class FuzzerTest(unittest.TestCase):
 | 
| +BASE_DIR = os.path.dirname(os.path.abspath(__file__))
 | 
| +FOOZZIE = os.path.join(BASE_DIR, 'v8_foozzie.py')
 | 
| +TEST_DATA = os.path.join(BASE_DIR, 'testdata')
 | 
| +
 | 
| +class UnitTest(unittest.TestCase):
 | 
|    def testDiff(self):
 | 
|      # TODO(machenbach): Mock out suppression configuration.
 | 
|      suppress = v8_suppressions.get_suppression(
 | 
| @@ -75,3 +83,29 @@ otherfile.js: TypeError: undefined is not a constructor
 | 
|      diff = """- somefile.js: TypeError: undefined is not a constructor
 | 
|  + otherfile.js: TypeError: undefined is not a constructor"""
 | 
|      self.assertEquals(diff, suppress.diff(one, two))
 | 
| +
 | 
| +
 | 
| +def run_foozzie(first_d8, second_d8):
 | 
| +  return subprocess.check_output([
 | 
| +    sys.executable, FOOZZIE,
 | 
| +    '--random-seed', '12345',
 | 
| +    '--first-d8', os.path.join(TEST_DATA, first_d8),
 | 
| +    '--second-d8', os.path.join(TEST_DATA, second_d8),
 | 
| +    '--second-config', 'ignition_staging',
 | 
| +    os.path.join(TEST_DATA, 'fuzz-test1.js'),
 | 
| +  ])
 | 
| +
 | 
| +
 | 
| +class SystemTest(unittest.TestCase):
 | 
| +  def testSyntaxErrorDiffPass(self):
 | 
| +    stdout = run_foozzie('test_d8_1.py', 'test_d8_2.py')
 | 
| +    self.assertEquals('# V8 correctness - pass\n', stdout)
 | 
| +
 | 
| +  def testDifferentOutputFail(self):
 | 
| +    with open(os.path.join(TEST_DATA, 'failure_output.txt')) as f:
 | 
| +      expected_output = f.read()
 | 
| +    with self.assertRaises(subprocess.CalledProcessError) as ctx:
 | 
| +      run_foozzie('test_d8_1.py', 'test_d8_3.py')
 | 
| +    e = ctx.exception
 | 
| +    self.assertEquals(v8_foozzie.RETURN_FAIL, e.returncode)
 | 
| +    self.assertEquals(expected_output, e.output)
 | 
| 
 |