- name: integration/runner/forking_active.yml
  hosts: test-targets
  tasks:
  - include_tasks: ../_mitogen_only.yml

  # Verify mitogen_task_isolation=fork triggers forking.

  - name: get regular process ID.
    custom_python_detect_environment:
    register: sync_proc1

  - name: get force-forked process ID.
    custom_python_detect_environment:
    register: fork_proc1
    vars:
      mitogen_task_isolation: fork

  - name: get force-forked process ID again.
    custom_python_detect_environment:
    register: fork_proc2
    vars:
      mitogen_task_isolation: fork

  - assert:
      that:
      - fork_proc1.pid != sync_proc1.pid
      - fork_proc1.pid != fork_proc2.pid
      fail_msg: |
        fork_proc1={{ fork_proc1 }}
        sync_proc1={{ sync_proc1 }}
        fork_proc2={{ fork_proc2 }}

  tags:
    - forking_active
    - mitogen_only
