This is on Debian etch. Running the rspec tests in master branch as a regular user produces:
1)
Puppet::DevError in 'Puppet::Type::User should have a default provider inheriting from Puppet::Provider'
Could not find a default provider for user
/home/porridge/Desktop/coding/puppet-git/lib/puppet/metatype/providers.rb:39:in `defaultprovider'
/home/porridge/Desktop/coding/puppet-git/spec/unit/type/user.rb:36:
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:19:in `run'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
integration/reports.rb:10:
2)
'Puppet::Type::User should be able to create a instance' FAILED
expected no Exception, got #<Puppet::DevError: Could not find a default provider for user>
/home/porridge/Desktop/coding/puppet-git/spec/unit/type/user.rb:8:in `mkuser'
/home/porridge/Desktop/coding/puppet-git/spec/unit/type/user.rb:40:
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:19:in `run'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
integration/reports.rb:10:
3)
'Puppet::Type::User instances should have a valid provider' FAILED
expected no Exception, got #<Puppet::DevError: Could not find a default provider for user>
/home/porridge/Desktop/coding/puppet-git/spec/unit/type/user.rb:8:in `mkuser'
/home/porridge/Desktop/coding/puppet-git/spec/unit/type/user.rb:49:
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:19:in `run'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
/home/porridge/Desktop/coding/puppet-git/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
integration/reports.rb:10:
This is probably because only usable provider on this platform uses tools which are outside non-root users path. However even if the tools were available, creating the user would fail with insufficient permissions.
Out of curiosity: what makes sure the test user disappears after the test finishes?