#!/usr/bin/env python
# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Script for use in test_env unittests."""

from __future__ import print_function
import signal
import sys
import time


def print_signal(sig, *_args):
  print('Signal :{}'.format(sig))


if __name__ == '__main__':
  if '--spawn-leaked-child' in sys.argv:
    import subprocess
    child = subprocess.Popen(
        [sys.executable, '-c', 'import time; time.sleep(30)'])
    print('Leaked PID:{}'.format(child.pid))
    sys.stdout.flush()
    sys.exit(0)
  signal.signal(signal.SIGTERM, print_signal)
  signal.signal(signal.SIGINT, print_signal)
  if sys.platform == 'win32':
    signal.signal(signal.SIGBREAK, print_signal)  # pylint: disable=no-member
  time.sleep(2)  # gives process time to receive signal.
