- block:
  # output_dir is hardcoded in test/runner/lib/executor.py and created there
  # expand remote path
  - command: 'echo {{ output_dir }}'
    register: echo
  - set_fact:
      remote_dir: '{{ echo.stdout }}'

  - include_vars: '{{ item }}'
    with_first_found:
      - files:
          - '{{ ansible_distribution }}.yml'
          - '{{ ansible_os_family }}.yml'
          - 'defaults.yml'

  - include_tasks: '{{ item }}'
    with_first_found:
      - files:
        - 'install_{{ ansible_distribution }}.yml' # CentOS
        - 'install_{{ ansible_os_family }}.yml'    # RedHat
        - 'install_{{ ansible_system }}.yml'       # Linux

  - include_tasks: test.yml
    with_items:
        - { username: '', password: '' }
        - { username: 'testétest', password: 'passéword' } # non-ASCII credentials
    loop_control:
      loop_var: credentials

  # setuptools is too old on RHEL/CentOS 6 (https://github.com/Supervisor/meld3/issues/23)
  when: ansible_os_family != 'RedHat' or ansible_distribution_major_version|int > 6

  always:
  - include_tasks: '{{ item }}'
    when: ansible_os_family != 'RedHat' or ansible_distribution_major_version|int > 6
    with_first_found:
      - files:
        - 'uninstall_{{ ansible_distribution }}.yml' # CentOS
        - 'uninstall_{{ ansible_os_family }}.yml'    # RedHat
        - 'uninstall_{{ ansible_system }}.yml'       # Linux
