#!/usr/bin/env python
# coding: utf-8

import random
import errno
import sys
import os


if __name__ == '__main__':
    rundir = sys.argv[1]
    ns1 = sys.argv[2]
    fail_prob = int(sys.argv[3])

    if random.randint(0, fail_prob) == 0:
        sys.exit(42)

    pid, ns2 = list(open(os.path.join(rundir, 'example.pid')))
    pid = pid.strip()
    ns2 = ns2.strip()
    assert int(pid) != 0, 'invalid pid'
    assert ns1 == ns2, 'invalid ns: %r (%r expected)' % (ns2, ns1)
    try:
        os.kill(int(pid), 0)
    except EnvironmentError as e:
        if e.errno in (errno.ESRCH, errno.EPERM):
            raise
