Repository: hashicorp/vagrant (Ruby)

Issue:
bundle exec rake fails with ruby3.2
With git head ( c5887f808c6836a4abd4f16747a4ecbeea70f0d4  ) , `$ bundle exec rake` fails with upcoming ruby3.2 (e.g. now I've tried https://github.com/ruby/ruby/commit/613fca01486e47dee9364a2fd86b5f5e77fe23c8 ) like:

```
$ ruby --version
ruby 3.2.0dev (2022-12-15 master 613fca0148) [x86_64-linux]
$ bundle exec rake
<skip>

Failures:

  1) VagrantPlugins::Ansible::Provisioner::Host#provision with default options sets implicit arguments in a specific order
     Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-sva6pl/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  2) VagrantPlugins::Ansible::Provisioner::Host#provision with default options sets --limit argument
     Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-ujlhnb/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  3) VagrantPlugins::Ansible::Provisioner::Host#provision with host_key_checking option enabled sets implicit arguments in a specific order
     Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"true", "ANSIBLE_SSH_ARGS"=>"-o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-7qz70z/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  4) VagrantPlugins::Ansible::Provisioner::Host#provision with host_key_checking option enabled sets --limit argument
     Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"true", "ANSIBLE_SSH_ARGS"=>"-o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-i8jwip/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  5) VagrantPlugins::Ansible::Provisioner::Host#provision with boolean (flag) options disabled sets implicit arguments in a specific order
     Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-galv9w/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  6) VagrantPlugins::Ansible::Provisioner::Host#provision with boolean (flag) options disabled sets --limit argument
     Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-cuwq5q/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  7) VagrantPlugins::Ansible::Provisioner::Host#provision with raw_arguments option sets implicit arguments in a specific order
     Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-tie8qg/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  8) VagrantPlugins::Ansible::Provisioner::Host#provision with raw_arguments option sets --limit argument
     Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-4bxycy/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  9) VagrantPlugins::Ansible::Provisioner::Host#provision with limit option sets implicit arguments in a specific order
     Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

     NoMethodError:
       undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-ik8q7v/work"}:Hash
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
     # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
     # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
     # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  10) VagrantPlugins::Ansible::Provisioner::Host#provision with limit option sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-9e43i1/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  11) VagrantPlugins::Ansible::Provisioner::Host#provision with force_remote_user option disabled sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-1aw4pp/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  12) VagrantPlugins::Ansible::Provisioner::Host#provision with force_remote_user option disabled sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-1lvv9p/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  13) VagrantPlugins::Ansible::Provisioner::Host#provision with winrm communicator sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-bym4l4/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  14) VagrantPlugins::Ansible::Provisioner::Host#provision with winrm communicator sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-art75s/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  15) VagrantPlugins::Ansible::Provisioner::Host#provision with inventory_path option sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o IdentityFile=/path/to/my/key -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-d3bi0b/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  16) VagrantPlugins::Ansible::Provisioner::Host#provision with inventory_path option sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o IdentityFile=/path/to/my/key -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-ipfg5p/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  17) VagrantPlugins::Ansible::Provisioner::Host#provision with ask_vault_pass option sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-du2p4g/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  18) VagrantPlugins::Ansible::Provisioner::Host#provision with ask_vault_pass option sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-6k6nk6/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  19) VagrantPlugins::Ansible::Provisioner::Host#provision with vault_password_file option sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-isrds/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  20) VagrantPlugins::Ansible::Provisioner::Host#provision with vault_password_file option sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-3dan61/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  21) VagrantPlugins::Ansible::Provisioner::Host#provision with raw_ssh_args sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=no -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-5vbvle/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  22) VagrantPlugins::Ansible::Provisioner::Host#provision with raw_ssh_args sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=no -o ForwardAgent=no -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-rzd7jn/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  23) VagrantPlugins::Ansible::Provisioner::Host#provision with multiple SSH identities sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o IdentityFile=/path/to/my/key -o IdentityFile=/an/other/identity -o IdentityFile=/yet/an/other/key -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-v7akvc/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  24) VagrantPlugins::Ansible::Provisioner::Host#provision with multiple SSH identities sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o IdentityFile=/path/to/my/key -o IdentityFile=/an/other/identity -o IdentityFile=/yet/an/other/key -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-b86i8o/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  25) VagrantPlugins::Ansible::Provisioner::Host#provision with ssh forwarding enabled sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-kmokte/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  26) VagrantPlugins::Ansible::Provisioner::Host#provision with ssh forwarding enabled sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-3eh816/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  27) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vv' sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-bmynne/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  28) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vv' sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-9x4wvs/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  29) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vv' sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-wib1ba/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  30) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vv' sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-a8mly4/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  31) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vvvv' sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-4324y9/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  32) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vvvv' sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-gs7k9s/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  33) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vvvv' sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-7lb3ui/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  34) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vvvv' sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-a665g8/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  35) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an invalid string sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-ujz762/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  36) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an invalid string sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-twr4pv/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  37) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an empty string sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-ew4gp2/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  38) VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an empty string sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_HOST_KEY_CHECKING"=>"false", "ANSIBLE_SSH_ARGS"=>"-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-qy09cm/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  39) VagrantPlugins::Ansible::Provisioner::Host#provision with a maximum of options sets implicit arguments in a specific order
      Failure/Error: inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_ROLES_PATH"=>"/up/to the stars", "ANSIBLE_CONFIG"=>"/builddir/build/GIT/vagrant/test/unit/plugins/provisioners/ansible/provisioner_test.rb", "ANSIBLE_HOST_KEY_CHECKING"=>"true", "ANSIBLE_SSH_ARGS"=>"-o IdentitiesOnly=yes -o IdentityFile=/my/key1 -o IdentityFile=/my/key2 -o ForwardAgent=yes -o ControlMaster=no -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-tohnnt/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `count'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:94:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

  40) VagrantPlugins::Ansible::Provisioner::Host#provision with a maximum of options sets --limit argument
      Failure/Error: all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }

      NoMethodError:
        undefined method `=~' for {:env=>{"PYTHONUNBUFFERED"=>1, "ANSIBLE_FORCE_COLOR"=>"true", "ANSIBLE_ROLES_PATH"=>"/up/to the stars", "ANSIBLE_CONFIG"=>"/builddir/build/GIT/vagrant/test/unit/plugins/provisioners/ansible/provisioner_test.rb", "ANSIBLE_HOST_KEY_CHECKING"=>"true", "ANSIBLE_SSH_ARGS"=>"-o IdentitiesOnly=yes -o IdentityFile=/my/key1 -o IdentityFile=/my/key2 -o ForwardAgent=yes -o ControlMaster=no -o ControlMaster=auto -o ControlPersist=60s"}, :notify=>[:stdout, :stderr], :workdir=>"/tmp/vagrant-iso-env20221215-18636-f8nxpz/work"}:Hash
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (3 levels) in it_should_set_arguments_and_environment_variables'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `select'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:103:in `block (2 levels) in it_should_set_arguments_and_environment_variables'
      # ./plugins/provisioners/ansible/provisioner/host.rb:99:in `execute_command_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:179:in `execute_ansible_playbook_from_host'
      # ./plugins/provisioners/ansible/provisioner/host.rb:27:in `provision'
      # ./test/unit/plugins/provisioners/ansible/provisioner_test.rb:229:in `block (3 levels) in <top (required)>'

Finished in 29 minutes 15 seconds (files took 2.16 seconds to load)
4886 examples, 40 failures, 3 pending

Failed examples:

rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:3:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with default options sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:3:3] # VagrantPlugins::Ansible::Provisioner::Host#provision with default options sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:11:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with host_key_checking option enabled sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:11:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with host_key_checking option enabled sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:12:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with boolean (flag) options disabled sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:12:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with boolean (flag) options disabled sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:13:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with raw_arguments option sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:13:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with raw_arguments option sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:14:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with limit option sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:14:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with limit option sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:15:3] # VagrantPlugins::Ansible::Provisioner::Host#provision with force_remote_user option disabled sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:15:4] # VagrantPlugins::Ansible::Provisioner::Host#provision with force_remote_user option disabled sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:16:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with winrm communicator sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:16:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with winrm communicator sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:17:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with inventory_path option sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:17:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with inventory_path option sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:19:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with ask_vault_pass option sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:19:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with ask_vault_pass option sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:20:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with vault_password_file option sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:20:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with vault_password_file option sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:21:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with raw_ssh_args sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:21:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with raw_ssh_args sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:22:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with multiple SSH identities sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:22:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with multiple SSH identities sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:24:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with ssh forwarding enabled sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:24:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with ssh forwarding enabled sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:1:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vv' sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:1:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vv' sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:2:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vv' sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:2:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vv' sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:3:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vvvv' sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:3:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of 'vvvv' sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:4:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vvvv' sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:4:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with a value of '-vvvv' sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:5:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an invalid string sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:5:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an invalid string sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:6:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an empty string sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:26:6:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with verbose option defined with an empty string sets --limit argument
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:32:1] # VagrantPlugins::Ansible::Provisioner::Host#provision with a maximum of options sets implicit arguments in a specific order
rspec ./test/unit/plugins/provisioners/ansible/provisioner_test.rb[1:1:32:2] # VagrantPlugins::Ansible::Provisioner::Host#provision with a maximum of options sets --limit argument
```

All these are due to `Object#=~` removal on ruby3.2:
https://github.com/ruby/ruby/blob/cca54c8b1b71072bb07850c9d3f20b261d3b312c/NEWS.md?plain=1#L498
https://bugs.ruby-lang.org/issues/15231


Discussion:
Temtative fix is :

```
diff --git a/test/unit/plugins/provisioners/ansible/provisioner_test.rb b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
index f5828f143..15fb3bbdc 100644
--- a/test/unit/plugins/provisioners/ansible/provisioner_test.rb
+++ b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
@@ -91,7 +91,7 @@ VF
         expect(args[1]).to eq("--connection=ssh")
         expect(args[2]).to eq("--timeout=30")
 
-        inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }
+        inventory_count = args.count { |x| x.respond_to?(:=~) && x =~ /^--inventory-file=.+$/ }
         expect(inventory_count).to be > 0
 
         expect(args[args.length-2]).to eq("playbook.yml")
@@ -100,9 +100,9 @@ VF
 
     it "sets --limit argument" do
       expect(Vagrant::Util::Subprocess).to receive(:execute).with('ansible-playbook', any_args) { |*args|
-        all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }
+        all_limits = args.select { |x| x.respond_to?(:=~) && x =~ /^(--limit=|-l)/ }
         if config.raw_arguments
-          raw_limits = config.raw_arguments.select { |x| x =~ /^(--limit=|-l)/ }
+          raw_limits = config.raw_arguments.select { |x| x.respond_to?(:=~) && x =~ /^(--limit=|-l)/ }
           expect(all_limits.length - raw_limits.length).to eq(1)
           expect(all_limits.last).to eq(raw_limits.last)
         else
```

but I don't know if this change is actually what is intended.
Anyway PR submitted.
ruby 3.2.0 is released and this still fails.



Patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d1b95273967..3f808f538d4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,7 +20,7 @@ jobs:
       - name: Setup Ruby
         uses: ruby/setup-ruby@v1
         with:
-          ruby-version: '2.7'
+          ruby-version: '3.1'
       - name: Setup Go
         uses: actions/setup-go@v3
         with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index adec8556b44..9fa1f4dbaea 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -18,7 +18,7 @@ jobs:
       - name: Setup Ruby
         uses: ruby/setup-ruby@v1
         with:
-          ruby-version: '2.7'
+          ruby-version: '3.1'
       - name: Setup Go
         uses: actions/setup-go@v3
         with:
diff --git a/lib/vagrant/environment.rb b/lib/vagrant/environment.rb
index de99cbf3ba5..8b2531182ca 100644
--- a/lib/vagrant/environment.rb
+++ b/lib/vagrant/environment.rb
@@ -846,7 +846,7 @@ def setup_home_path
         begin
           @logger.info("Creating: #{dir}")
           FileUtils.mkdir_p(dir)
-        rescue Errno::EACCES
+        rescue Errno::EACCES, Errno::EROFS
           raise Errors::HomeDirectoryNotAccessible, home_path: @home_path.to_s
         end
       end
diff --git a/vagrant.gemspec b/vagrant.gemspec
index 8728d8d7ea0..eb595a41e3d 100644
--- a/vagrant.gemspec
+++ b/vagrant.gemspec
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
   s.summary       = "Build and distribute virtualized development environments."
   s.description   = "Vagrant is a tool for building and distributing virtualized development environments."
 
-  s.required_ruby_version     = ">= 2.7", "< 3.2"
+  s.required_ruby_version     = ">= 3.0", "< 3.3"
   s.required_rubygems_version = ">= 1.3.6"
 
   s.add_dependency "bcrypt_pbkdf", "~> 1.1"
@@ -22,23 +22,23 @@ Gem::Specification.new do |s|
   s.add_dependency 'googleapis-common-protos-types', '~> 1.3'
   s.add_dependency "grpc"
   s.add_dependency "hashicorp-checkpoint", "~> 0.1.5"
-  s.add_dependency "i18n", "~> 1.8"
-  s.add_dependency "listen", "~> 3.6"
+  s.add_dependency "i18n", "~> 1.12"
+  s.add_dependency "listen", "~> 3.7"
   s.add_dependency "log4r", "~> 1.1.9", "< 1.1.11"
   s.add_dependency "mime-types", "~> 3.3"
-  s.add_dependency "net-ftp", "~> 0.1"
+  s.add_dependency "net-ftp", "~> 0.2"
   s.add_dependency "net-ssh", "~> 7.0"
   s.add_dependency "net-sftp", "~> 4.0"
   s.add_dependency "net-scp", "~> 4.0"
   s.add_dependency "rb-kqueue", "~> 0.2.0"
   s.add_dependency "rexml", "~> 3.2"
-  s.add_dependency "rgl", "~> 0.5.7"
-  s.add_dependency "rubyzip", "~> 2.0"
+  s.add_dependency "rgl", "~> 0.5.10"
+  s.add_dependency "rubyzip", "~> 2.3.2"
   s.add_dependency "vagrant_cloud", "~> 3.0.5"
-  s.add_dependency "wdm", "~> 0.1.0"
-  s.add_dependency "winrm", ">= 2.3.4", "< 3.0"
-  s.add_dependency "winrm-elevated", ">= 1.2.1", "< 2.0"
-  s.add_dependency "winrm-fs", ">= 1.3.4", "< 2.0"
+  s.add_dependency "wdm", "~> 0.1.1"
+  s.add_dependency "winrm", ">= 2.3.6", "< 3.0"
+  s.add_dependency "winrm-elevated", ">= 1.2.3", "< 2.0"
+  s.add_dependency "winrm-fs", ">= 1.3.5", "< 2.0"
 
   # Needed for go generate to use grpc_tools_ruby_protoc
   s.add_development_dependency "grpc-tools", "~> 1.41"


Test patch:
diff --git a/.github/workflows/go-spectest.yml b/.github/workflows/go-spectest.yml
index 14e2e89abc0..e2188643b5e 100644
--- a/.github/workflows/go-spectest.yml
+++ b/.github/workflows/go-spectest.yml
@@ -19,7 +19,7 @@ jobs:
     strategy:
       matrix:
         go: ['^1.16']
-        ruby: ['2.7']
+        ruby: ['3.1']
     name: Vagrant acceptance tests
     steps:
       - name: Code Checkout
diff --git a/.github/workflows/go-testing.yml b/.github/workflows/go-testing.yml
index f1f1ea160cf..5e4b167ac81 100644
--- a/.github/workflows/go-testing.yml
+++ b/.github/workflows/go-testing.yml
@@ -26,7 +26,7 @@ jobs:
     strategy:
       matrix:
         go: ['^1.16']
-        ruby: ['2.7', '3.0']
+        ruby: ['3.0', '3.1']
     name: Vagrant unit tests on Go
     steps:
       - name: Code Checkout
diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index 5cea5043cfa..a987d9a2ea8 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -31,7 +31,7 @@ jobs:
     continue-on-error: true
     strategy:
       matrix:
-        ruby: [ '2.7', '3.0', '3.1' ]
+        ruby: [ '3.0', '3.1', '3.2' ]
     name: Vagrant unit tests on Ruby ${{ matrix.ruby }}
     steps:
       - name: Code Checkout
diff --git a/test/unit/plugins/provisioners/ansible/provisioner_test.rb b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
index f5828f14340..fdf9aa67eaa 100644
--- a/test/unit/plugins/provisioners/ansible/provisioner_test.rb
+++ b/test/unit/plugins/provisioners/ansible/provisioner_test.rb
@@ -91,7 +91,7 @@ def self.it_should_set_arguments_and_environment_variables(
         expect(args[1]).to eq("--connection=ssh")
         expect(args[2]).to eq("--timeout=30")
 
-        inventory_count = args.count { |x| x =~ /^--inventory-file=.+$/ }
+        inventory_count = args.count { |x| x.match(/^--inventory-file=.+$/) if x.is_a?(String) }
         expect(inventory_count).to be > 0
 
         expect(args[args.length-2]).to eq("playbook.yml")
@@ -100,9 +100,9 @@ def self.it_should_set_arguments_and_environment_variables(
 
     it "sets --limit argument" do
       expect(Vagrant::Util::Subprocess).to receive(:execute).with('ansible-playbook', any_args) { |*args|
-        all_limits = args.select { |x| x =~ /^(--limit=|-l)/ }
+        all_limits = args.select { |x| x.match(/^(--limit=|-l)/) if x.is_a?(String) }
         if config.raw_arguments
-          raw_limits = config.raw_arguments.select { |x| x =~ /^(--limit=|-l)/ }
+          raw_limits = config.raw_arguments.select { |x| x.match(/^(--limit=|-l)/) if x.is_a?(String) }
           expect(all_limits.length - raw_limits.length).to eq(1)
           expect(all_limits.last).to eq(raw_limits.last)
         else