Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dportabella/10744999 to your computer and use it in GitHub Desktop.
Save dportabella/10744999 to your computer and use it in GitHub Desktop.
Set-up an environment to run puppet as a developer and run the spec tests
# here there is a guide about contributing to puppet:
# https://github.com/puppetlabs/puppet/blob/master/docs/quickstart.md
# It says:
# Quick Start to Developing on Puppet
# Before diving into the code, you should first take the time to make sure you have an environment where you can run puppet as a developer.
# In a nutshell you need: the puppet codebase, ruby versions, and dependencies.
# Once you've got all of that in place you can make sure that you have a working development system by running the puppet spec tests.
#
# I didn't manage to install all this in my OSX without breaking other dependencies, so I created a vagrant box with Ubuntu.
# I share here this set-up, so that it can be reproduced easily by anyone.
# You need to first install vagrantup.com and virtualbox.org
$ cat >Vagrantfile <<EOF
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
end
EOF
$ vagrant up
$ vagrant ssh
$ sudo apt-get update
$ sudo apt-get install ruby-rvm
$ sudo gem install bundler
$ git clone https://github.com/puppetlabs/puppet.git
$ cd puppet
# make your modifications to the puppet source code here
$ bundle install --path .bundle/gems/
$ bundle exec rake spec
Finished in 6 minutes 1.18 seconds
19753 examples, 0 failures, 86 pending
Full log
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ script log.txt
Script started, output file is log.txt
bash-3.2$ mkdir test
bash-3.2$ cd test
bash-3.2$ cat >Vagrantfile <<EOF
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
end
EOF
bash-3.2$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'precise64'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.
Guest Additions Version: 4.2.0
VirtualBox Version: 4.3
[default] Mounting shared folders...
[default] -- /vagrant
bash-3.2$ vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep 14 06:23:18 2012 from 10.0.2.2
vagrant@precise64:~$ sudo apt-get update
Ign http://security.ubuntu.com precise-security InRelease
Ign http://us.archive.ubuntu.com precise InRelease
Get:1 http://security.ubuntu.com precise-security Release.gpg [198 B]
Ign http://us.archive.ubuntu.com precise-updates InRelease
Ign http://us.archive.ubuntu.com precise-backports InRelease
Get:2 http://security.ubuntu.com precise-security Release [49.6 kB]
Hit http://us.archive.ubuntu.com precise Release.gpg
Get:3 http://us.archive.ubuntu.com precise-updates Release.gpg [198 B]
Get:4 http://security.ubuntu.com precise-security/main Sources [102 kB]
Get:5 http://us.archive.ubuntu.com precise-backports Release.gpg [198 B]
Hit http://us.archive.ubuntu.com precise Release
Get:6 http://security.ubuntu.com precise-security/restricted Sources [2,494 B]
Get:7 http://security.ubuntu.com precise-security/universe Sources [30.9 kB]
Get:8 http://security.ubuntu.com precise-security/multiverse Sources [1,797 B]
Get:9 http://security.ubuntu.com precise-security/main amd64 Packages [377 kB]
Get:10 http://us.archive.ubuntu.com precise-updates Release [49.6 kB]
Get:11 http://us.archive.ubuntu.com precise-backports Release [49.6 kB]
Get:12 http://security.ubuntu.com precise-security/restricted amd64 Packages [4,627 B]
Get:13 http://security.ubuntu.com precise-security/universe amd64 Packages [91.8 kB]
Get:14 http://security.ubuntu.com precise-security/multiverse amd64 Packages [2,439 B]
Get:15 http://security.ubuntu.com precise-security/main i386 Packages [403 kB]
Hit http://us.archive.ubuntu.com precise/main Sources
Hit http://us.archive.ubuntu.com precise/restricted Sources
Hit http://us.archive.ubuntu.com precise/universe Sources
Hit http://us.archive.ubuntu.com precise/multiverse Sources
Hit http://us.archive.ubuntu.com precise/main amd64 Packages
Hit http://us.archive.ubuntu.com precise/restricted amd64 Packages
Hit http://us.archive.ubuntu.com precise/universe amd64 Packages
Hit http://us.archive.ubuntu.com precise/multiverse amd64 Packages
Hit http://us.archive.ubuntu.com precise/main i386 Packages
Hit http://us.archive.ubuntu.com precise/restricted i386 Packages
Hit http://us.archive.ubuntu.com precise/universe i386 Packages
Hit http://us.archive.ubuntu.com precise/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise/universe TranslationIndex
Get:16 http://us.archive.ubuntu.com precise-updates/main Sources [454 kB]
Get:17 http://security.ubuntu.com precise-security/restricted i386 Packages [4,620 B]
Get:18 http://security.ubuntu.com precise-security/universe i386 Packages [96.5 kB]
Get:19 http://security.ubuntu.com precise-security/multiverse i386 Packages [2,649 B]
Get:20 http://security.ubuntu.com precise-security/main TranslationIndex [74 B]
Get:21 http://security.ubuntu.com precise-security/multiverse TranslationIndex [72 B]
Get:22 http://security.ubuntu.com precise-security/restricted TranslationIndex [72 B]
Get:23 http://security.ubuntu.com precise-security/universe TranslationIndex [73 B]
Get:24 http://security.ubuntu.com precise-security/main Translation-en [176 kB]
Get:25 http://security.ubuntu.com precise-security/multiverse Translation-en [1,299 B]
Get:26 http://security.ubuntu.com precise-security/restricted Translation-en [1,253 B]
Get:27 http://security.ubuntu.com precise-security/universe Translation-en [56.7 kB]
Get:28 http://us.archive.ubuntu.com precise-updates/restricted Sources [8,028 B]
Get:29 http://us.archive.ubuntu.com precise-updates/universe Sources [106 kB]
Get:30 http://us.archive.ubuntu.com precise-updates/multiverse Sources [8,909 B]
Get:31 http://us.archive.ubuntu.com precise-updates/main amd64 Packages [766 kB]
Get:32 http://us.archive.ubuntu.com precise-updates/restricted amd64 Packages [12.2 kB]
Get:33 http://us.archive.ubuntu.com precise-updates/universe amd64 Packages [239 kB]
Get:34 http://us.archive.ubuntu.com precise-updates/multiverse amd64 Packages [15.3 kB]
Get:35 http://us.archive.ubuntu.com precise-updates/main i386 Packages [791 kB]
Get:36 http://us.archive.ubuntu.com precise-updates/restricted i386 Packages [12.2 kB]
Get:37 http://us.archive.ubuntu.com precise-updates/universe i386 Packages [244 kB]
Get:38 http://us.archive.ubuntu.com precise-updates/multiverse i386 Packages [15.4 kB]
Get:39 http://us.archive.ubuntu.com precise-updates/main TranslationIndex [3,564 B]
Get:40 http://us.archive.ubuntu.com precise-updates/multiverse TranslationIndex [2,605 B]
Get:41 http://us.archive.ubuntu.com precise-updates/restricted TranslationIndex [2,461 B]
Get:42 http://us.archive.ubuntu.com precise-updates/universe TranslationIndex [2,850 B]
Get:43 http://us.archive.ubuntu.com precise-backports/main Sources [4,850 B]
Get:44 http://us.archive.ubuntu.com precise-backports/restricted Sources [14 B]
Get:45 http://us.archive.ubuntu.com precise-backports/universe Sources [37.8 kB]
Get:46 http://us.archive.ubuntu.com precise-backports/multiverse Sources [5,311 B]
Get:47 http://us.archive.ubuntu.com precise-backports/main amd64 Packages [6,183 B]
Get:48 http://us.archive.ubuntu.com precise-backports/restricted amd64 Packages [14 B]
Get:49 http://us.archive.ubuntu.com precise-backports/universe amd64 Packages [39.2 kB]
Get:50 http://us.archive.ubuntu.com precise-backports/multiverse amd64 Packages [5,206 B]
Get:51 http://us.archive.ubuntu.com precise-backports/main i386 Packages [6,182 B]
Get:52 http://us.archive.ubuntu.com precise-backports/restricted i386 Packages [14 B]
Get:53 http://us.archive.ubuntu.com precise-backports/universe i386 Packages [39.0 kB]
Get:54 http://us.archive.ubuntu.com precise-backports/multiverse i386 Packages [5,178 B]
Get:55 http://us.archive.ubuntu.com precise-backports/main TranslationIndex [72 B]
Get:56 http://us.archive.ubuntu.com precise-backports/multiverse TranslationIndex [72 B]
Get:57 http://us.archive.ubuntu.com precise-backports/restricted TranslationIndex [70 B]
Get:58 http://us.archive.ubuntu.com precise-backports/universe TranslationIndex [73 B]
Hit http://us.archive.ubuntu.com precise/main Translation-en
Hit http://us.archive.ubuntu.com precise/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise/restricted Translation-en
Hit http://us.archive.ubuntu.com precise/universe Translation-en
Get:59 http://us.archive.ubuntu.com precise-updates/main Translation-en [341 kB]
Get:60 http://us.archive.ubuntu.com precise-updates/multiverse Translation-en [9,010 B]
Get:61 http://us.archive.ubuntu.com precise-updates/restricted Translation-en [2,988 B]
Get:62 http://us.archive.ubuntu.com precise-updates/universe Translation-en [139 kB]
Get:63 http://us.archive.ubuntu.com precise-backports/main Translation-en [5,562 B]
Get:64 http://us.archive.ubuntu.com precise-backports/multiverse Translation-en [4,610 B]
Hit http://us.archive.ubuntu.com precise-backports/restricted Translation-en
Get:65 http://us.archive.ubuntu.com precise-backports/universe Translation-en [31.6 kB]
Fetched 4,871 kB in 8s (552 kB/s)
Reading package lists... Done
vagrant@precise64:~$ sudo apt-get install ruby-rvm
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
bison build-essential curl dpkg-dev fakeroot g++ g++-4.6 git git-man libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libbison-dev libcurl3 libdpkg-perl liberror-perl
libreadline-gplv2-dev libreadline5 libsqlite3-0 libsqlite3-dev libstdc++6-4.6-dev libxml2 libxml2-dev m4 make patch
Suggested packages:
bison-doc debian-keyring g++-multilib g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb
sqlite3-doc libstdc++6-4.6-doc make-doc diffutils-doc
The following packages will be REMOVED:
libreadline-dev libreadline6-dev
The following NEW packages will be installed:
bison build-essential curl dpkg-dev fakeroot g++ g++-4.6 git git-man libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libbison-dev libcurl3 libdpkg-perl liberror-perl
libreadline-gplv2-dev libreadline5 libsqlite3-dev libstdc++6-4.6-dev libxml2-dev m4 make patch ruby-rvm
The following packages will be upgraded:
libsqlite3-0 libxml2
2 upgraded, 25 newly installed, 2 to remove and 158 not upgraded.
Need to get 20.6 MB of archives.
After this operation, 53.4 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libsqlite3-0 amd64 3.7.9-2ubuntu1.1 [349 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxml2 amd64 2.7.8.dfsg-5.1ubuntu4.6 [673 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libcurl3 amd64 7.22.0-3ubuntu4.8 [237 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libreadline5 amd64 5.2-11 [128 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu/ precise/main m4 amd64 1.4.16-2ubuntu1 [200 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu/ precise/main libbison-dev amd64 1:2.5.dfsg-2.1 [33.3 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu/ precise/main bison amd64 1:2.5.dfsg-2.1 [295 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu/ precise/main libstdc++6-4.6-dev amd64 4.6.3-1ubuntu5 [1,660 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu/ precise/main g++-4.6 amd64 4.6.3-1ubuntu5 [6,954 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu/ precise/main g++ amd64 4:4.6.3-1ubuntu5 [1,442 B]
Get:11 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main make amd64 3.81-8.1ubuntu1.1 [119 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libdpkg-perl all 1.16.1.2ubuntu7.2 [180 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu/ precise/main patch amd64 2.6.1-3 [80.2 kB]
Get:14 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main dpkg-dev all 1.16.1.2ubuntu7.2 [469 kB]
Get:15 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main build-essential amd64 11.5ubuntu2.1 [5,816 B]
Get:16 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main curl amd64 7.22.0-3ubuntu4.8 [138 kB]
Get:17 http://us.archive.ubuntu.com/ubuntu/ precise/main fakeroot amd64 1.18.2-1 [87.2 kB]
Get:18 http://us.archive.ubuntu.com/ubuntu/ precise/main liberror-perl all 0.17-1 [23.8 kB]
Get:19 http://us.archive.ubuntu.com/ubuntu/ precise/main git-man all 1:1.7.9.5-1 [630 kB]
Get:20 http://us.archive.ubuntu.com/ubuntu/ precise/main git amd64 1:1.7.9.5-1 [6,087 kB]
Get:21 http://us.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-perl all 1.19.02-2 [50.7 kB]
Get:22 http://us.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-xs-perl amd64 0.04-2build2 [12.4 kB]
Get:23 http://us.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-merge-perl all 0.08-2 [12.7 kB]
Get:24 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libsqlite3-dev amd64 3.7.9-2ubuntu1.1 [459 kB]
Get:25 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxml2-dev amd64 2.7.8.dfsg-5.1ubuntu4.6 [805 kB]
Get:26 http://us.archive.ubuntu.com/ubuntu/ precise/main libreadline-gplv2-dev amd64 5.2-11 [246 kB]
Get:27 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe ruby-rvm all 1.6.9-0ubuntu2.1 [713 kB]
Fetched 20.6 MB in 48s (424 kB/s)
(Reading database ... 51095 files and directories currently installed.)
Removing libreadline-dev ...
Removing libreadline6-dev ...
Processing triggers for install-info ...
(Reading database ... 51066 files and directories currently installed.)
Preparing to replace libsqlite3-0 3.7.9-2ubuntu1 (using .../libsqlite3-0_3.7.9-2ubuntu1.1_amd64.deb) ...
Unpacking replacement libsqlite3-0 ...
Preparing to replace libxml2 2.7.8.dfsg-5.1ubuntu4 (using .../libxml2_2.7.8.dfsg-5.1ubuntu4.6_amd64.deb) ...
Unpacking replacement libxml2 ...
Selecting previously unselected package libcurl3.
Unpacking libcurl3 (from .../libcurl3_7.22.0-3ubuntu4.8_amd64.deb) ...
Selecting previously unselected package libreadline5.
Unpacking libreadline5 (from .../libreadline5_5.2-11_amd64.deb) ...
Selecting previously unselected package m4.
Unpacking m4 (from .../m4_1.4.16-2ubuntu1_amd64.deb) ...
Selecting previously unselected package libbison-dev.
Unpacking libbison-dev (from .../libbison-dev_1%3a2.5.dfsg-2.1_amd64.deb) ...
Selecting previously unselected package bison.
Unpacking bison (from .../bison_1%3a2.5.dfsg-2.1_amd64.deb) ...
Selecting previously unselected package libstdc++6-4.6-dev.
Unpacking libstdc++6-4.6-dev (from .../libstdc++6-4.6-dev_4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package g++-4.6.
Unpacking g++-4.6 (from .../g++-4.6_4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package g++.
Unpacking g++ (from .../g++_4%3a4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package make.
Unpacking make (from .../make_3.81-8.1ubuntu1.1_amd64.deb) ...
Selecting previously unselected package libdpkg-perl.
Unpacking libdpkg-perl (from .../libdpkg-perl_1.16.1.2ubuntu7.2_all.deb) ...
Selecting previously unselected package patch.
Unpacking patch (from .../patch_2.6.1-3_amd64.deb) ...
Selecting previously unselected package dpkg-dev.
Unpacking dpkg-dev (from .../dpkg-dev_1.16.1.2ubuntu7.2_all.deb) ...
Selecting previously unselected package build-essential.
Unpacking build-essential (from .../build-essential_11.5ubuntu2.1_amd64.deb) ...
Selecting previously unselected package curl.
Unpacking curl (from .../curl_7.22.0-3ubuntu4.8_amd64.deb) ...
Selecting previously unselected package fakeroot.
Unpacking fakeroot (from .../fakeroot_1.18.2-1_amd64.deb) ...
Selecting previously unselected package liberror-perl.
Unpacking liberror-perl (from .../liberror-perl_0.17-1_all.deb) ...
Selecting previously unselected package git-man.
Unpacking git-man (from .../git-man_1%3a1.7.9.5-1_all.deb) ...
Selecting previously unselected package git.
Unpacking git (from .../git_1%3a1.7.9.5-1_amd64.deb) ...
Selecting previously unselected package libalgorithm-diff-perl.
Unpacking libalgorithm-diff-perl (from .../libalgorithm-diff-perl_1.19.02-2_all.deb) ...
Selecting previously unselected package libalgorithm-diff-xs-perl.
Unpacking libalgorithm-diff-xs-perl (from .../libalgorithm-diff-xs-perl_0.04-2build2_amd64.deb) ...
Selecting previously unselected package libalgorithm-merge-perl.
Unpacking libalgorithm-merge-perl (from .../libalgorithm-merge-perl_0.08-2_all.deb) ...
Selecting previously unselected package libsqlite3-dev.
Unpacking libsqlite3-dev (from .../libsqlite3-dev_3.7.9-2ubuntu1.1_amd64.deb) ...
Selecting previously unselected package libxml2-dev.
Unpacking libxml2-dev (from .../libxml2-dev_2.7.8.dfsg-5.1ubuntu4.6_amd64.deb) ...
Selecting previously unselected package libreadline-gplv2-dev.
Unpacking libreadline-gplv2-dev (from .../libreadline-gplv2-dev_5.2-11_amd64.deb) ...
Selecting previously unselected package ruby-rvm.
Unpacking ruby-rvm (from .../ruby-rvm_1.6.9-0ubuntu2.1_all.deb) ...
Processing triggers for install-info ...
Processing triggers for man-db ...
Setting up libsqlite3-0 (3.7.9-2ubuntu1.1) ...
Setting up libxml2 (2.7.8.dfsg-5.1ubuntu4.6) ...
Setting up libcurl3 (7.22.0-3ubuntu4.8) ...
Setting up libreadline5 (5.2-11) ...
Setting up m4 (1.4.16-2ubuntu1) ...
Setting up libbison-dev (1:2.5.dfsg-2.1) ...
Setting up bison (1:2.5.dfsg-2.1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode.
Setting up make (3.81-8.1ubuntu1.1) ...
Setting up libdpkg-perl (1.16.1.2ubuntu7.2) ...
Setting up patch (2.6.1-3) ...
Setting up dpkg-dev (1.16.1.2ubuntu7.2) ...
Setting up curl (7.22.0-3ubuntu4.8) ...
Setting up fakeroot (1.18.2-1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode.
Setting up liberror-perl (0.17-1) ...
Setting up git-man (1:1.7.9.5-1) ...
Setting up git (1:1.7.9.5-1) ...
Setting up libalgorithm-diff-perl (1.19.02-2) ...
Setting up libalgorithm-diff-xs-perl (0.04-2build2) ...
Setting up libalgorithm-merge-perl (0.08-2) ...
Setting up libsqlite3-dev (3.7.9-2ubuntu1.1) ...
Setting up libxml2-dev (2.7.8.dfsg-5.1ubuntu4.6) ...
Setting up libreadline-gplv2-dev (5.2-11) ...
Setting up g++-4.6 (4.6.3-1ubuntu5) ...
Setting up g++ (4:4.6.3-1ubuntu5) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode.
Setting up build-essential (11.5ubuntu2.1) ...
Setting up ruby-rvm (1.6.9-0ubuntu2.1) ...
Setting up libstdc++6-4.6-dev (4.6.3-1ubuntu5) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
vagrant@precise64:~$ sudo gem install bundler
Fetching: bundler-1.6.2.gem (100%)
Successfully installed bundler-1.6.2
1 gem installed
Installing ri documentation for bundler-1.6.2...
Installing RDoc documentation for bundler-1.6.2...
vagrant@precise64:~$ git clone https://github.com/puppetlabs/puppet.git
Cloning into 'puppet'...
remote: Counting objects: 157616, done.
remote: Compressing objects: 100% (41822/41822), done.
remote: Total 157616 (delta 112392), reused 157603 (delta 112382)
Receiving objects: 100% (157616/157616), 35.55 MiB | 458 KiB/s, done.
Resolving deltas: 100% (112392/112392), done.
vagrant@precise64:~$ cd puppet
vagrant@precise64:~/puppet$ bundle install --path .bundle/gems/
Fetching gem metadata from https://rubygems.org/.....
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Installing rake 10.1.1
Installing CFPropertyList 2.2.7
Installing i18n 0.6.9
Installing multi_json 1.7.7
Installing activesupport 3.2.17
Installing builder 3.0.4
Installing activemodel 3.2.17
Installing arel 3.0.3
Installing tzinfo 0.3.39
Installing activerecord 3.2.17
Installing coderay 1.1.0
Installing mime-types 1.25.1
Installing rest-client 1.6.7
Installing couchrest 1.2.0
Installing diff-lcs 1.1.3
Installing facter 2.0.1
Installing json_pure 1.8.1
Installing hiera 1.3.2
Installing json-schema 2.1.1
Installing metaclass 0.0.4
Installing method_source 0.8.2
Installing mocha 0.10.5
Installing msgpack 0.5.8
Installing net-ssh 2.8.0
Installing slop 3.5.0
Installing pry 0.9.12.6
Using puppet 3.5.0 from source at /home/vagrant/puppet
Installing rspec-core 2.11.1
Installing rspec-expectations 2.11.3
Installing rspec-mocks 2.11.3
Installing rspec 2.11.0
Installing rspec-puppet 1.0.1
Installing puppetlabs_spec_helper 0.4.1
Installing racc 1.4.9
Installing rack 1.5.2
Installing redcarpet 2.3.0
Installing rgen 0.6.5
Installing ruby-prof 0.13.1
Installing sqlite3 1.3.9
Installing stomp 1.3.2
Installing yard 0.8.7.4
Installing yarjuf 1.0.5
Using bundler 1.6.2
Your bundle is complete!
It was installed into ./.bundle/gems
vagrant@precise64:~/puppet$ bundle exec rake spec
rspec spec
/opt/vagrant_ruby/lib/ruby/1.8/rdoc/dot/dot.rb:28: warning: already initialized constant NODE_OPTS
/opt/vagrant_ruby/lib/ruby/1.8/rdoc/dot/dot.rb:46: warning: already initialized constant EDGE_OPTS
/opt/vagrant_ruby/lib/ruby/1.8/rdoc/dot/dot.rb:76: warning: already initialized constant GRAPH_OPTS
Run options: exclude {:benchmark=>true, :broken=>true}
...........................................................................................................................................................**.......**.......**........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*........................................................................*...............................................*.......................................................................................................................................................**.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................**.*................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................**.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*..................................................................................................................................................................................*............................******.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*...............................................................................................................................................................................................................*...........................................................................................................................................................**.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.................................................................................................................................................................................................................................................................................................................*.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.*.............*******...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*...................................................................................................................................*.......................***..*................................***..............................................................................................................................Could not retrieve fact='hostname', resolution='<anonymous>': Failed while executing '/bin/hostname': Cannot allocate memory - /bin/hostname
..........................................***..........................................................................................................................................................................................................................****........********..*************..................................................................................................................................................................................................................*.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*..........................................................................................................................................................................................................*.*.*.....................*.....................................................................*.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Pending:
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of a nested hash as a selector alternative should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of a nested hash as an argument without parenthesis should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of an empty hash as a selector alternative should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of an empty hash as an argument without parenthesis should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of a simple hash as a selector alternative should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Parser::Parser using classic parser behaves like a puppet parser when parsing comments before a statement in the presence of a simple hash as an argument without parenthesis should associate the docstring to the container
# Not yet implemented
# ./spec/integration/parser/parser_spec.rb:134
Puppet::Type::File when setting permissions when setting mode for files should not set executable bits when replacing an executable directory (#10365)
# bug #10365
# ./spec/integration/type/file_spec.rb:205
Package provider gem should fail when asked to install an invalid package
# This test hangs forever with recent versions of RubyGems
# ./spec/integration/provider/package_spec.rb:11
mount provider (integration) When the wrong device is mounted should remount the correct device
# Due to bug 6309
# ./spec/integration/provider/mount_spec.rb:156
Puppet::Network::AuthConfig allow should support hostname ending with '.'
# bug #7589
# ./spec/integration/network/authconfig_spec.rb:127
Puppet::Network::AuthConfig allow should support hostname ending with '.' and backreferences
# bug #7589
# ./spec/integration/network/authconfig_spec.rb:134
Injector When working with multibind of hash kind a higher priority contribution is selected when resolution is :priority
# priority based on layers not added, and priority on category removed
# ./spec/unit/pops/binder/injector_spec.rb:608
validating 3x should raise error for illegal names
# validation was too strict, now too relaxed - validation missing
# ./spec/unit/pops/validator/validator_spec.rb:21
validating 3x should raise error for illegal variable names
# validation was too strict, now too relaxed - validation missing
# ./spec/unit/pops/validator/validator_spec.rb:27
validating 4x should raise error for illegal names
# validation was too strict, now too relaxed - validation missing
# ./spec/unit/pops/validator/validator_spec.rb:51
Puppet::Util::Profiler::ObjectCounts reports the changes in the system object counts
# Can only count objects on ruby 1.9 or greater
# ./spec/unit/util/profiler/object_counts_spec.rb:5
Puppet::Node::Facts when indirecting when indirecting when the Puppet application is 'master' should default to the 'yaml' terminus
# Cannot test the behavior of defaults in defaults.rb
# ./spec/unit/node/facts_spec.rb:105
Puppet::Node::Facts when indirecting when indirecting when the Puppet application is not 'master' should default to the 'facter' terminus
# Cannot test the behavior of defaults in defaults.rb
# ./spec/unit/node/facts_spec.rb:112
Puppet::Interface::Action#when_invoked= should fail if the block has arity 0
# Ruby 1.8 (painfully) treats argument-free blocks as arity -1
# ./spec/unit/interface/action_spec.rb:17
Puppet::Interface::Action it should behave like documentation on faces#license should accept symbols to specify existing licenses...
# Not yet implemented
# ./spec/shared_behaviours/documentation_on_faces.rb:180
Puppet::Interface::Action#when_rendering should fail if no type is given when_rendering
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:545
Puppet::Interface::Action#when_rendering should accept a when_rendering block
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:546
Puppet::Interface::Action#when_rendering should accept multiple when_rendering blocks
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:547
Puppet::Interface::Action#when_rendering should fail if when_rendering gets a non-symbol identifier
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:548
Puppet::Interface::Action#when_rendering should fail if a second block is given for the same type
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:549
Puppet::Interface::Action#when_rendering should return the block if asked
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:550
Puppet::Indirector::Metadata::Rest should add the node's cert name to the arguments
# Not yet implemented
# ./spec/unit/indirector/file_metadata/rest_spec.rb:8
Puppet::Indirector::StoreConfigs REVISIT: creating an instance requires ludicrous amounts of stubbing, and there is relatively little to actually test here. What to do? Shared behaviours allow us to push down a lot of the testing into the implementation class tests anyhow...
# No reason given
# ./spec/unit/indirector/store_configs_spec.rb:7
Puppet::Indirector::FileContent::Rest should add the node's cert name to the arguments
# Not yet implemented
# ./spec/unit/indirector/file_content/rest_spec.rb:7
Puppet::Indirector::FileContent::Rest should set the content type to text/plain
# Not yet implemented
# ./spec/unit/indirector/file_content/rest_spec.rb:9
Puppet::Application::FaceBase#render default rendering should render a hash nicely with a multi-line value
# Moving to PSON rather than PP makes this unsupportable.
# ./spec/unit/application/face_base_spec.rb:334
Puppet::Application::Secret_agent should retrieve and apply a catalog and submit a report
# REVISIT: 2.7 changes broke this, and we want the merge published
# ./spec/unit/application/secret_agent_spec.rb:11
Puppet::Type::Mount when responding to refresh 2.6.x specifies slightly different behavior and the desired behavior needs to be clarified and revisited. See ticket #4904
# No reason given
# ./spec/unit/type/mount_spec.rb:439
Puppet::Type::Mount::ProviderParsed should default to /etc/vfstab on Solaris
# This test only works on Solaris
# ./spec/unit/provider/mount/parsed_spec.rb:16
Puppet::Type::Mount::ProviderParsed should support AIX's paragraph based /etc/filesystems
# Not yet implemented
# ./spec/unit/provider/mount/parsed_spec.rb:176
Puppet::Type::Mount::ProviderParsed when calling instances on solaris should include unmounted resources
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:207
Puppet::Type::Mount::ProviderParsed when calling instances on solaris should include mounted resources
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:212
Puppet::Type::Mount::ProviderParsed when calling instances on solaris should include ghost resources
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:217
Puppet::Type::Mount::ProviderParsed when prefetching on solaris should set :ensure to :unmounted if found in fstab but not mounted
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:259
Puppet::Type::Mount::ProviderParsed when prefetching on solaris should set :ensure to :ghost if not found in fstab but mounted
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:265
Puppet::Type::Mount::ProviderParsed when prefetching on solaris should set :ensure to :mounted if found in fstab and mounted
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:271
Puppet::Type::Mount::ProviderParsed when prefetching on solaris should set :ensure to :absent if not found in fstab and not mounted
# We need to stub the operatingsystem fact at load time, but can't
# ./spec/unit/provider/mount/parsed_spec.rb:277
Puppet::FileServing::Metadata when pointing to a link when links are managed should not collect the checksum if links are :manage
# No reason given
# ./spec/unit/file_serving/metadata_spec.rb:395
Puppet::Face[:catalog, v0.0.1] should actually have some testing...
# Not yet implemented
# ./spec/unit/face/catalog_spec.rb:6
Puppet::Face[:facts, v0.0.1] when uploading should set the terminus_class to :facter
# Not yet implemented
# ./spec/unit/face/facts_spec.rb:11
Puppet::Face[:facts, v0.0.1] when uploading should set the cache_class to :rest
# Not yet implemented
# ./spec/unit/face/facts_spec.rb:12
Puppet::Face[:facts, v0.0.1] when uploading should find the current certname
# Not yet implemented
# ./spec/unit/face/facts_spec.rb:13
Puppet::Face[:certificate_revocation_list, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/certificate_revocation_list_spec.rb:6
Puppet::Face[:certificate_request, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/certificate_request_spec.rb:6
Puppet::Face[:report, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/report_spec.rb:6
Puppet::Face[:resource, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/resource_spec.rb:6
Puppet::Face[:resource_type, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/resource_type_spec.rb:6
Puppet::Face[:key, v0.0.1] should actually have some tests...
# Not yet implemented
# ./spec/unit/face/key_spec.rb:6
Puppet::Face[:secret_agent, v0.0.1]#synchronize should retrieve and apply a catalog and return a report
# This test doesn't work, but the code actually does - tested by LAK
# ./spec/unit/face/secret_agent_spec.rb:11
Puppet::ModuleTool::Applications::Installer when the source is a repository should error when a local version of a dependency has no version metadata
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:316
Puppet::ModuleTool::Applications::Installer when the source is a repository should error when a local version of a dependency has a non-semver version
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:317
Puppet::ModuleTool::Applications::Installer when the source is a repository should error when a local version of a dependency has a different forge name
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:318
Puppet::ModuleTool::Applications::Installer when the source is a repository should error when a local version of a dependency has no metadata
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:319
Puppet::ModuleTool::Applications::Installer when the source is a repository when there are modules installed should use local version when already exists and satisfies constraints
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:305
Puppet::ModuleTool::Applications::Installer when the source is a repository when there are modules installed should reinstall the local version if force is used
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:306
Puppet::ModuleTool::Applications::Installer when the source is a repository when there are modules installed should upgrade local version when necessary to satisfy constraints
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:307
Puppet::ModuleTool::Applications::Installer when the source is a repository when there are modules installed should error when a local version can't be upgraded to satisfy constraints
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:308
Puppet::ModuleTool::Applications::Installer when the source is a repository when a local module needs upgrading to satisfy constraints but has changes should error
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:312
Puppet::ModuleTool::Applications::Installer when the source is a repository when a local module needs upgrading to satisfy constraints but has changes should warn and continue if force is used
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:313
Puppet::ModuleTool::Applications::Installer when the source is a filesystem should error if it can't parse the name
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:327
Puppet::ModuleTool::Applications::Installer when the source is a filesystem should try to get_release_package_from_filesystem if it has a valid name
# Not yet implemented
# ./spec/unit/module_tool/applications/installer_spec.rb:329
Puppet::ModuleTool::Applications::Upgrader should update the requested module
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:9
Puppet::ModuleTool::Applications::Upgrader should not update dependencies
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:10
Puppet::ModuleTool::Applications::Upgrader should fail when updating a dependency to an unsupported version
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:11
Puppet::ModuleTool::Applications::Upgrader should fail when updating a module that is not installed
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:12
Puppet::ModuleTool::Applications::Upgrader should warn when the latest version is already installed
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:13
Puppet::ModuleTool::Applications::Upgrader should warn when the best version is already installed
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:14
Puppet::ModuleTool::Applications::Upgrader when using the '--version' option should update an installed module to the requested version
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:17
Puppet::ModuleTool::Applications::Upgrader when using the '--force' flag should ignore missing dependencies
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:21
Puppet::ModuleTool::Applications::Upgrader when using the '--force' flag should ignore version constraints
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:22
Puppet::ModuleTool::Applications::Upgrader when using the '--force' flag should not update a module that is not installed
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:23
Puppet::ModuleTool::Applications::Upgrader when using the '--env' option should use the correct environment
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:27
Puppet::ModuleTool::Applications::Upgrader when there are missing dependencies should fail to upgrade the original module
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:31
Puppet::ModuleTool::Applications::Upgrader when there are missing dependencies should raise an error
# Not yet implemented
# ./spec/unit/module_tool/applications/upgrader_spec.rb:32
Puppet::Interface it should behave like documentation on faces#license should accept symbols to specify existing licenses...
# Not yet implemented
# ./spec/shared_behaviours/documentation_on_faces.rb:180
Puppet::Network::AuthStore::Declaration when the pattern is a numeric IP with a back reference implementation of backreferences for IP
# No reason given
# ./spec/unit/network/authstore_spec.rb:106
Puppet::Network::AuthStore::Declaration when the pattern is a PQDN with digits should not match a similar FQDN
# FQDN consensus
# ./spec/unit/network/authstore_spec.rb:328
Puppet::Network::AuthStore::Declaration when the pattern is a PQDN should not match a similar FQDN
# FQDN consensus
# ./spec/unit/network/authstore_spec.rb:328
Puppet::Network::AuthStore::Declaration when the pattern is a PQDN with short segments should not match a similar FQDN
# FQDN consensus
# ./spec/unit/network/authstore_spec.rb:328
Puppet::Network::AuthStore::Declaration when the pattern is a FQDN should match the specified FQDN
# FQDN consensus
# ./spec/unit/network/authstore_spec.rb:362
Puppet Network Format :console format should render a hash nicely with a multi-line value
# Moving to PSON rather than PP makes this unsupportable.
# ./spec/unit/network/formats_spec.rb:406
Finished in 6 minutes 1.18 seconds
19753 examples, 0 failures, 86 pending
vagrant@precise64:~/puppet$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment