def METHOD_NAME(self):
    proc_count = 6
    procs = []
    fight_path = pathlib.Path(__file__).parent/'lock_fight.py'
    try:
        for p in range(proc_count):
            procs.append(sp.Popen(['python3',
                                   str(fight_path),
                                   str(self.lock_path)]))
        # Give the procs a chance to start.
        time.sleep(0.5)
        # Get the lock 5 times, hold it a sec, and verify that it's
        # uncorrupted.
        for i in range(5):
            with lockfile.LockFile(self.lock_path, timeout=2) as lock:
                time.sleep(1)
                host, user, expires, lock_id = lock.read_lockfile()
                self.assertTrue(host is not None)
                self.assertTrue(user is not None)
                self.assertTrue(expires is not None)
                self.assertEqual(lock_id, lock._id)
            # Let the other procs get the lock this time.
            time.sleep(0.2)
    finally:
        # Make sure we kill all the subprocesses.
        for proc in procs:
            proc.terminate()
            proc.kill()