You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
|
|
- name: integration/runner/forking_correct_parent.yml
|
|
hosts: test-targets
|
|
tasks:
|
|
- include_tasks: ../_mitogen_only.yml
|
|
|
|
# Verify mitogen_task_isolation=fork forks from "virginal fork parent", not
|
|
# shared interpreter, but only if forking is enabled (e.g. that's never true
|
|
# on Python 2.4).
|
|
|
|
- mitogen_action_script:
|
|
script: |
|
|
self._connection._connect()
|
|
result['uses_fork'] = (
|
|
self._connection.init_child_result['fork_context'] is not None
|
|
)
|
|
register: forkmode
|
|
|
|
- name: get regular process ID.
|
|
custom_python_detect_environment:
|
|
register: regular_proc
|
|
|
|
- name: get force-forked process ID again.
|
|
custom_python_detect_environment:
|
|
register: fork_proc
|
|
vars:
|
|
mitogen_task_isolation: fork
|
|
|
|
- assert:
|
|
that:
|
|
- fork_proc.pid != regular_proc.pid
|
|
fail_msg: fork_proc={{fork_proc}} regular_proc={{regular_proc}}
|
|
|
|
- assert:
|
|
that: fork_proc.ppid != regular_proc.pid
|
|
fail_msg: fork_proc={{fork_proc}} regular_proc={{regular_proc}}
|
|
when:
|
|
- forkmode.uses_fork
|
|
|
|
- assert:
|
|
that: fork_proc.ppid == regular_proc.pid
|
|
fail_msg: fork_proc={{fork_proc}} regular_proc={{regular_proc}}
|
|
when:
|
|
- not forkmode.uses_fork
|
|
|
|
tags:
|
|
- forking_correct_parent
|
|
- mitogen_only
|