predictable_mocked.py 990 Bytes
Newer Older
1 2 3 4 5
#!/usr/bin/env python
# Copyright 2017 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

6 7 8
# for py2/py3 compatibility
from __future__ import print_function

9 10 11 12 13 14
import sys

assert len(sys.argv) == 3

if sys.argv[1] == 'equal':
  # 1. Scenario: print equal allocation hashes.
15
  print('### Allocations = 9497, hash = 0xc322c6b0')
16 17 18 19 20 21
elif sys.argv[1] == 'differ':
  # 2. Scenario: print different allocation hashes. This prints a different
  # hash on the second run, based on the content of a semaphore file. This
  # file is expected to be empty in the beginning.
  with open(sys.argv[2]) as f:
    if f.read():
22
      print('### Allocations = 9497, hash = 0xc322c6b0')
23
    else:
24
      print('### Allocations = 9497, hash = 0xc322c6b1')
25 26 27 28 29 30 31
  with open(sys.argv[2], 'w') as f:
    f.write('something')
else:
  # 3. Scenario: missing allocation hashes. Don't print anything.
  assert 'missing'

sys.exit(0)