diff --git a/.gitmodules b/.gitmodules
index 2a39663..7866b2e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
-[submodule "modules/riak"]
- path = modules/riak
- url = https://github.com/basho/puppet-riak
[submodule "modules/python"]
path = modules/python
url = https://github.com/stankevich/puppet-python.git
@@ -13,9 +10,6 @@
[submodule "modules/postgresql"]
path = modules/postgresql
url = https://github.com/puppetlabs/puppetlabs-postgresql.git
-[submodule "modules/packagecloud"]
- path = modules/packagecloud
- url = https://github.com/computology/computology-packagecloud.git
[submodule "modules/vcsrepo"]
path = modules/vcsrepo
url = https://github.com/puppetlabs/puppetlabs-vcsrepo.git
@@ -28,3 +22,9 @@
[submodule "modules/sysctl"]
path = modules/sysctl
url = https://github.com/thias/puppet-sysctl.git
+[submodule "modules/stdlib"]
+ path = modules/stdlib
+ url = https://github.com/puppetlabs/puppetlabs-stdlib.git
+[submodule "modules/concat"]
+ path = modules/concat
+ url = https://github.com/puppetlabs/puppetlabs-concat.git
diff --git a/modules/apt b/modules/apt
index 47c6f33..21a1264 160000
--- a/modules/apt
+++ b/modules/apt
@@ -1 +1 @@
-Subproject commit 47c6f338eda98ed849531d92b63c5e33103f76e4
+Subproject commit 21a1264f9b81950d83da626dc51faa9e45285eab
diff --git a/modules/concat b/modules/concat
new file mode 160000
index 0000000..7b33971
--- /dev/null
+++ b/modules/concat
@@ -0,0 +1 @@
+Subproject commit 7b33971ade0ad34946785b81a8fb4c5ecf471a64
diff --git a/modules/concat/CHANGELOG b/modules/concat/CHANGELOG
deleted file mode 100644
index c66b922..0000000
--- a/modules/concat/CHANGELOG
+++ /dev/null
@@ -1,127 +0,0 @@
-2014-05-14 1.1.0
-
-Summary
-
-This release is primarily a bugfix release since 1.1.0-rc1.
-
-Features:
-- Improved testing, with tests moved to beaker
-
-Bugfixes:
-- No longer attempts to set fragment owner and mode on Windows
-- Fix numeric sorting
-- Fix incorrect quoting
-- Fix newlines
-
-2014-01-03 1.1.0-rc1
-
-Summary:
-
-This release of concat was 90% written by Joshua Hoblitt, and the module team
-would like to thank him for the huge amount of work he put into this release.
-
-This module deprecates a bunch of old parameters and usage patterns, modernizes
-much of the manifest code, simplifies a whole bunch of logic and makes
-improvements to almost all parts of the module.
-
-The other major feature is windows support, courtesy of luisfdez, with an
-alternative version of the concat bash script in ruby. We've attempted to
-ensure that there are no backwards incompatible changes, all users of 1.0.0
-should be able to use 1.1.0 without any failures, but you may find deprecation
-warnings and we'll be aggressively moving for a 2.0 to remove those too.
-
-For further information on deprecations, please read:
-https://github.com/puppetlabs/puppetlabs-concat/blob/master/README.md#api-deprecations
-
-Removed:
-- Puppet 0.24 support.
-- Filebucket backup of all file resources except the target concatenated file.
-- Default owner/user/group values.
-- Purging of long unused /usr/local/bin/concatfragments.sh
-
-Features:
-- Windows support via a ruby version of the concat bash script.
-- Huge amount of acceptance testing work added.
-- Documentation (README) completely rewritten.
-- New parameters in concat:
- - `ensure`: Controls if the file should be present/absent at all.
-- Remove requirement to include concat::setup in manifests.
-- Made `gnu` parameter deprecated.
-- Added parameter validation.
-
-Bugfixes:
-- Ensure concat::setup runs before concat::fragment in all cases.
-- Pluginsync references updated for modern Puppet.
-- Fix incorrect group parameter.
-- Use $owner instead of $id to avoid confusion with $::id
-- Compatibility fixes for Puppet 2.7/ruby 1.8.7
-- Use LC_ALL=C instead of LANG=C
-- Always exec the concatfragments script as root when running as root.
-- Syntax and other cleanup changes.
-
-2013-08-09 1.0.0
-
-Summary:
-
-Many new features and bugfixes in this release, and if you're a heavy concat
-user you should test carefully before upgrading. The features should all be
-backwards compatible but only light testing has been done from our side before
-this release.
-
-Features:
-- New parameters in concat:
- - `replace`: specify if concat should replace existing files.
- - `ensure_newline`: controls if fragments should contain a newline at the end.
-- Improved README documentation.
-- Add rspec:system tests (rake spec:system to test concat)
-
-Bugfixes
-- Gracefully handle \n in a fragment resource name.
-- Adding more helpful message for 'pluginsync = true'
-- Allow passing `source` and `content` directly to file resource, rather than
-defining resource defaults.
-- Added -r flag to read so that filenames with \ will be read correctly.
-- sort always uses LANG=C.
-- Allow WARNMSG to contain/start with '#'.
-- Replace while-read pattern with for-do in order to support Solaris.
-
-CHANGELOG:
-- 2010/02/19 - initial release
-- 2010/03/12 - add support for 0.24.8 and newer
- - make the location of sort configurable
- - add the ability to add shell comment based warnings to
- top of files
- - add the ablity to create empty files
-- 2010/04/05 - fix parsing of WARN and change code style to match rest
- of the code
- - Better and safer boolean handling for warn and force
- - Don't use hard coded paths in the shell script, set PATH
- top of the script
- - Use file{} to copy the result and make all fragments owned
- by root. This means we can chnage the ownership/group of the
- resulting file at any time.
- - You can specify ensure => "/some/other/file" in concat::fragment
- to include the contents of a symlink into the final file.
-- 2010/04/16 - Add more cleaning of the fragment name - removing / from the $name
-- 2010/05/22 - Improve documentation and show the use of ensure =>
-- 2010/07/14 - Add support for setting the filebucket behavior of files
-- 2010/10/04 - Make the warning message configurable
-- 2010/12/03 - Add flags to make concat work better on Solaris - thanks Jonathan Boyett
-- 2011/02/03 - Make the shell script more portable and add a config option for root group
-- 2011/06/21 - Make base dir root readable only for security
-- 2011/06/23 - Set base directory using a fact instead of hardcoding it
-- 2011/06/23 - Support operating as non privileged user
-- 2011/06/23 - Support dash instead of bash or sh
-- 2011/07/11 - Better solaris support
-- 2011/12/05 - Use fully qualified variables
-- 2011/12/13 - Improve Nexenta support
-- 2012/04/11 - Do not use any GNU specific extensions in the shell script
-- 2012/03/24 - Comply to community style guides
-- 2012/05/23 - Better errors when basedir isnt set
-- 2012/05/31 - Add spec tests
-- 2012/07/11 - Include concat::setup in concat improving UX
-- 2012/08/14 - Puppet Lint improvements
-- 2012/08/30 - The target path can be different from the $name
-- 2012/08/30 - More Puppet Lint cleanup
-- 2012/09/04 - RELEASE 0.2.0
-- 2012/12/12 - Added (file) $replace parameter to concat
diff --git a/modules/concat/Gemfile b/modules/concat/Gemfile
deleted file mode 100644
index 56b9775..0000000
--- a/modules/concat/Gemfile
+++ /dev/null
@@ -1,20 +0,0 @@
-source ENV['GEM_SOURCE'] || "https://rubygems.org"
-
-group :development, :test do
- gem 'rake', :require => false
- gem 'rspec-puppet', :require => false
- gem 'puppetlabs_spec_helper', :require => false
- gem 'beaker', :require => false
- gem 'beaker-rspec', :require => false
- gem 'puppet-lint', :require => false
- gem 'serverspec', :require => false
- gem 'pry', :require => false
-end
-
-if puppetversion = ENV['PUPPET_GEM_VERSION']
- gem 'puppet', puppetversion, :require => false
-else
- gem 'puppet', :require => false
-end
-
-# vim:ft=ruby
diff --git a/modules/concat/LICENSE b/modules/concat/LICENSE
deleted file mode 100644
index 6a9e9a1..0000000
--- a/modules/concat/LICENSE
+++ /dev/null
@@ -1,14 +0,0 @@
- Copyright 2012 R.I.Pienaar
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/modules/concat/Modulefile b/modules/concat/Modulefile
deleted file mode 100644
index ea9ef2c..0000000
--- a/modules/concat/Modulefile
+++ /dev/null
@@ -1,9 +0,0 @@
-name 'puppetlabs-concat'
-version '1.1.0'
-source 'git://github.com/puppetlabs/puppetlabs-concat.git'
-author 'Puppetlabs'
-license 'Apache 2.0'
-summary 'Concat module'
-description 'Concat module'
-project_page 'http://github.com/puppetlabs/puppetlabs-concat'
-dependency 'puppetlabs/stdlib', '>= 4.0.0'
diff --git a/modules/concat/README.md b/modules/concat/README.md
deleted file mode 100644
index 60eca38..0000000
--- a/modules/concat/README.md
+++ /dev/null
@@ -1,441 +0,0 @@
-#Concat
-
-[](https://travis-ci.org/puppetlabs/puppetlabs-concat)
-
-####Table of Contents
-
-1. [Overview](#overview)
-2. [Module Description - What the module does and why it is useful](#module-description)
-3. [Setup - The basics of getting started with concat](#setup)
- * [What concat affects](#what-concat-affects)
- * [Setup requirements](#setup-requirements)
- * [Beginning with concat](#beginning-with-concat)
-4. [Usage - Configuration options and additional functionality](#usage)
- * [API _deprecations_](#api-deprecations)
-5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
-5. [Limitations - OS compatibility, etc.](#limitations)
-6. [Development - Guide for contributing to the module](#development)
-
-##Overview
-
-This module constructs files from multiple fragments in an ordered way.
-
-##Module Description
-
-This module lets you use many concat::fragment{} resources throughout
-your modules to construct a single file at the end. It does this through
-a shell (or ruby) script and a temporary holding space for the fragments.
-
-##Setup
-
-###What concat affects
-
-* Installs concatfragments.[sh|rb] based on platform.
-* Adds a concat/ directory into Puppets `vardir`.
-
-###Beginning with concat
-
-To start using concat you need to create:
-
-* A concat{} resource for the final file.
-* One or more concat::fragment{}'s.
-
-A minimal example might be:
-
-```puppet
-concat { '/tmp/file':
- ensure => present,
-}
-
-concat::fragment { 'tmpfile':
- target => '/tmp/file'
- content => 'test contents',
- order => '01'
-}
-```
-
-##Usage
-
-Please be aware that there have been a number of [API
-_deprecations_](#api-deprecations).
-
-If you wanted a /etc/motd file that listed all the major modules
-on the machine. And that would be maintained automatically even
-if you just remove the include lines for other modules you could
-use code like below, a sample /etc/motd would be:
-
-
-Puppet modules on this server:
-
- -- Apache
- -- MySQL
-
-
-Local sysadmins can also append to the file by just editing /etc/motd.local
-their changes will be incorporated into the puppet managed motd.
-
-```puppet
-class motd {
- $motd = '/etc/motd'
-
- concat { $motd:
- owner => 'root',
- group => 'root',
- mode => '0644'
- }
-
- concat::fragment{ 'motd_header':
- target => $motd,
- content => "\nPuppet modules on this server:\n\n",
- order => '01'
- }
-
- # local users on the machine can append to motd by just creating
- # /etc/motd.local
- concat::fragment{ 'motd_local':
- target => $motd,
- source => '/etc/motd.local',
- order => '15'
- }
-}
-
-# used by other modules to register themselves in the motd
-define motd::register($content="", $order=10) {
- if $content == "" {
- $body = $name
- } else {
- $body = $content
- }
-
- concat::fragment{ "motd_fragment_$name":
- target => '/etc/motd',
- order => $order,
- content => " -- $body\n"
- }
-}
-```
-
-To use this you'd then do something like:
-
-```puppet
-class apache {
- include apache::install, apache::config, apache::service
-
- motd::register{ 'Apache': }
-}
-```
-
-##Reference
-
-###Classes
-
-####Public classes
-
-####Private classes
-* `concat::setup`: Sets up the concat script/directories.
-
-###Parameters
-
-###Defines
-
-####concat
-
-#####`ensure`
-Controls if the combined file is present or absent.
-
-######Example
-- ensure => present
-- ensure => absent
-
-#####`path`
-Controls the destination of the file to create.
-
-######Example
-- path => '/tmp/filename'
-
-#####`owner`
-Set the owner of the combined file.
-
-######Example
-- owner => 'root'
-
-#####`group`
-Set the group of the combined file.
-
-######Example
-- group => 'root'
-
-#####`mode`
-Set the mode of the combined file.
-
-######Example
-- mode => '0644'
-
-#####`warn`
-Determine if a warning message should be added at the top of the file to let
-users know it was autogenerated by Puppet.
-
-######Example
-- warn => true
-- warn => false
-
-#####`warn_message`
-Set the contents of the warning message.
-
-######Example
-- warn_message => 'This file is autogenerated!'
-
-#####`force`
-Determine if empty files are allowed when no fragments were added.
-
-######Example
-- force => true
-- force => false
-
-#####`backup`
-Controls the filebucket behavior used for the file.
-
-######Example
-- backup => 'puppet'
-
-#####`replace`
-Controls if Puppet should replace the destination file if it already exists.
-
-######Example
-- replace => true
-- replace => false
-
-#####`order`
-Controls the way in which the shell script chooses to sort the files. It's
-rare you'll need to adjust this.
-
-######Allowed Values
-- order => 'alpha'
-- order => 'numeric'
-
-#####`ensure_newline`
-Ensure there's a newline at the end of the fragments.
-
-######Example
-- ensure_newline => true
-- ensure_newline => false
-
-####concat::fragment
-
-#####`target`
-Choose the destination file of the fragment.
-
-######Example
-- target => '/tmp/testfile'
-
-#####`content`
-Create the content of the fragment.
-
-######Example
-- content => 'test file contents'
-
-#####`source`
-Find the sources within Puppet of the fragment.
-
-######Example
-- source => 'puppet:///modules/test/testfile'
-- source => ['puppet:///modules/test/1', 'puppet:///modules/test/2']
-
-#####`order`
-Order the fragments.
-
-######Example
-- order => '01'
-
-#####`ensure`
-Control the file of fragment created.
-
-######Example
-- ensure => 'present'
-- ensure => 'absent'
-- ensure => 'file'
-- ensure => 'directory'
-
-#####`mode`
-Set the mode of the fragment.
-
-######Example
-- mode => '0644'
-
-#####`owner`
-Set the owner of the fragment.
-
-######Example
-- owner => 'root'
-
-#####`group`
-Set the group of the fragment.
-
-######Example
-- group => 'root'
-
-#####`backup`
-Control the filebucket behavior for the fragment.
-
-######Example
-- backup => 'puppet'
-
-### API _deprecations_
-
-#### Since version `1.0.0`
-
-##### `concat{}` `warn` parameter
-
-```puppet
-concat { '/tmp/file':
- ensure => present,
- warn => 'true', # generates stringified boolean value warning
-}
-```
-
-Using stringified Boolean values as the `warn` parameter to `concat` is
-deprecated, generates a catalog compile time warning, and will be silently
-treated as the concatenated file header/warning message in a future release.
-
-The following strings are considered a stringified Boolean value:
-
- * `'true'`
- * `'yes'`
- * `'on'`
- * `'false'`
- * `'no'`
- * `'off'`
-
-Please migrate to using the Puppet DSL's native [Boolean data
-type](http://docs.puppetlabs.com/puppet/3/reference/lang_datatypes.html#booleans).
-
-##### `concat{}` `gnu` parameter
-
-```puppet
-concat { '/tmp/file':
- ensure => present,
- gnu => $foo, # generates deprecation warning
-}
-```
-
-The `gnu` parameter to `concat` is deprecated, generates a catalog compile time
-warning, and has no effect. This parameter will be removed in a future
-release.
-
-Note that this parameter was silently ignored in the `1.0.0` release.
-
-##### `concat::fragment{}` `ensure` parameter
-
-```puppet
-concat::fragment { 'cpuinfo':
- ensure => '/proc/cpuinfo', # generates deprecation warning
- target => '/tmp/file',
-}
-```
-
-Passing a value other than `'present'` or `'absent'` as the `ensure` parameter
-to `concat::fragment` is deprecated and generates a catalog compile time
-warning. The warning will become a catalog compilation failure in a future
-release.
-
-This type emulates the Puppet core `file` type's disfavored [`ensure`
-semantics](http://docs.puppetlabs.com/references/latest/type.html#file-attribute-ensure)
-of treating a file path as a directive to create a symlink. This feature is
-problematic in several ways. It copies an API semantic of another type that is
-both frowned upon and not generally well known. It's behavior may be
-surprising in that the target concatenated file will not be a symlink nor is
-there any common file system that has a concept of a section of a plain file
-being symbolically linked to another file. Additionally, the behavior is
-generally inconsistent with most Puppet types in that a missing source file
-will be silently ignored.
-
-If you want to use the content of a file as a fragment please use the `source`
-parameter.
-
-##### `concat::fragment{}` `mode/owner/group` parameters
-
-```puppet
-concat::fragment { 'foo':
- target => '/tmp/file',
- content => 'foo',
- mode => $mode, # generates deprecation warning
- owner => $owner, # generates deprecation warning
- group => $group, # generates deprecation warning
-}
-```
-
-The `mode` parameter to `concat::fragment` is deprecated, generates a catalog compile time warning, and has no effect.
-
-The `owner` parameter to `concat::fragment` is deprecated, generates a catalog
-compile time warning, and has no effect.
-
-The `group` parameter to `concat::fragment` is deprecated, generates a catalog
-compile time warning, and has no effect.
-
-These parameters had no user visible effect in version `1.0.0` and will be
-removed in a future release.
-
-##### `concat::fragment{}` `backup` parameter
-
-```puppet
-concat::fragment { 'foo':
- target => '/tmp/file',
- content => 'foo',
- backup => 'bar', # generates deprecation warning
-}
-```
-
-The `backup` parameter to `concat::fragment` is deprecated, generates a catalog
-compile time warning, and has no effect. It will be removed in a future
-release.
-
-In the `1.0.0` release this parameter controlled file bucketing of the file
-fragment. Bucketting the fragment(s) is redundant with bucketting the final
-concatenated file and this feature has been removed.
-
-##### `class { 'concat::setup': }`
-
-```puppet
-include concat::setup # generates deprecation warning
-
-class { 'concat::setup: } # generates deprecation warning
-```
-
-The `concat::setup` class is deprecated as a public API of this module and
-should no longer be directly included in the manifest. This class may be
-removed in a future release.
-
-##### Parameter validation
-
-While not an API depreciation, users should be aware that all public parameters
-in this module are now validated for at least variable type. This may cause
-validation errors in a manifest that was previously silently misbehaving.
-
-##Limitations
-
-This module has been tested on:
-
-* RedHat Enterprise Linux (and Centos) 5/6
-* Debian 6/7
-* Ubuntu 12.04
-
-Testing on other platforms has been light and cannot be guaranteed.
-
-#Development
-
-Puppet Labs modules on the Puppet Forge are open projects, and community
-contributions are essential for keeping them great. We can’t access the
-huge number of platforms and myriad of hardware, software, and deployment
-configurations that Puppet is intended to serve.
-
-We want to keep it as easy as possible to contribute changes so that our
-modules work in your environment. There are a few guidelines that we need
-contributors to follow so that we can have a chance of keeping on top of things.
-
-You can read the complete module contribution guide [on the Puppet Labs wiki.](http://projects.puppetlabs.com/projects/module-site/wiki/Module_contributing)
-
-###Contributors
-
-The list of contributors can be found at:
-
-https://github.com/puppetlabs/puppetlabs-concat/graphs/contributors
diff --git a/modules/concat/Rakefile b/modules/concat/Rakefile
deleted file mode 100644
index 23aea87..0000000
--- a/modules/concat/Rakefile
+++ /dev/null
@@ -1,5 +0,0 @@
-require 'puppetlabs_spec_helper/rake_tasks'
-require 'puppet-lint/tasks/puppet-lint'
-
-PuppetLint.configuration.send('disable_80chars')
-PuppetLint.configuration.send('disable_quoted_booleans')
diff --git a/modules/concat/files/concatfragments.rb b/modules/concat/files/concatfragments.rb
deleted file mode 100755
index 73fd7f9..0000000
--- a/modules/concat/files/concatfragments.rb
+++ /dev/null
@@ -1,137 +0,0 @@
-# Script to concat files to a config file.
-#
-# Given a directory like this:
-# /path/to/conf.d
-# |-- fragments
-# | |-- 00_named.conf
-# | |-- 10_domain.net
-# | `-- zz_footer
-#
-# The script supports a test option that will build the concat file to a temp location and
-# use /usr/bin/cmp to verify if it should be run or not. This would result in the concat happening
-# twice on each run but gives you the option to have an unless option in your execs to inhibit rebuilds.
-#
-# Without the test option and the unless combo your services that depend on the final file would end up
-# restarting on each run, or in other manifest models some changes might get missed.
-#
-# OPTIONS:
-# -o The file to create from the sources
-# -d The directory where the fragments are kept
-# -t Test to find out if a build is needed, basically concats the files to a temp
-# location and compare with what's in the final location, return codes are designed
-# for use with unless on an exec resource
-# -w Add a shell style comment at the top of the created file to warn users that it
-# is generated by puppet
-# -f Enables the creation of empty output files when no fragments are found
-# -n Sort the output numerically rather than the default alpha sort
-#
-# the command:
-#
-# concatfragments.rb -o /path/to/conffile.cfg -d /path/to/conf.d
-#
-# creates /path/to/conf.d/fragments.concat and copies the resulting
-# file to /path/to/conffile.cfg. The files will be sorted alphabetically
-# pass the -n switch to sort numerically.
-#
-# The script does error checking on the various dirs and files to make
-# sure things don't fail.
-require 'optparse'
-require 'fileutils'
-
-settings = {
- :outfile => "",
- :workdir => "",
- :test => false,
- :force => false,
- :warn => "",
- :sortarg => ""
-}
-
-OptionParser.new do |opts|
- opts.banner = "Usage: #{$0} [options]"
- opts.separator "Specific options:"
-
- opts.on("-o", "--outfile OUTFILE", String, "The file to create from the sources") do |o|
- settings[:outfile] = o
- end
-
- opts.on("-d", "--workdir WORKDIR", String, "The directory where the fragments are kept") do |d|
- settings[:workdir] = d
- end
-
- opts.on("-t", "--test", "Test to find out if a build is needed") do
- settings[:test] = true
- end
-
- opts.separator "Other options:"
- opts.on("-w", "--warn WARNMSG", String,
- "Add a shell style comment at the top of the created file to warn users that it is generated by puppet") do |w|
- settings[:warn] = w
- end
-
- opts.on("-f", "--force", "Enables the creation of empty output files when no fragments are found") do
- settings[:force] = true
- end
-
- opts.on("-n", "--sort", "Sort the output numerically rather than the default alpha sort") do
- settings[:sortarg] = "-n"
- end
-end.parse!
-
-# do we have -o?
-raise 'Please specify an output file with -o' unless !settings[:outfile].empty?
-
-# do we have -d?
-raise 'Please specify fragments directory with -d' unless !settings[:workdir].empty?
-
-# can we write to -o?
-if File.file?(settings[:outfile])
- if !File.writable?(settings[:outfile])
- raise "Cannot write to #{settings[:outfile]}"
- end
-else
- if !File.writable?(File.dirname(settings[:outfile]))
- raise "Cannot write to dirname #{File.dirname(settings[:outfile])} to create #{settings[:outfile]}"
- end
-end
-
-# do we have a fragments subdir inside the work dir?
-if !File.directory?(File.join(settings[:workdir], "fragments")) && !File.executable?(File.join(settings[:workdir], "fragments"))
- raise "Cannot access the fragments directory"
-end
-
-# are there actually any fragments?
-if (Dir.entries(File.join(settings[:workdir], "fragments")) - %w{ . .. }).empty?
- if !settings[:force]
- raise "The fragments directory is empty, cowardly refusing to make empty config files"
- end
-end
-
-Dir.chdir(settings[:workdir])
-
-if settings[:warn].empty?
- File.open("fragments.concat", 'w') {|f| f.write("") }
-else
- File.open("fragments.concat", 'w') {|f| f.write("#{settings[:warn]}\n") }
-end
-
-# find all the files in the fragments directory, sort them numerically and concat to fragments.concat in the working dir
-open('fragments.concat', 'a') do |f|
- Dir.entries("fragments").sort.each{ |entry|
- if File.file?(File.join("fragments", entry))
- f << File.read(File.join("fragments", entry))
- end
- }
-end
-
-if !settings[:test]
- # This is a real run, copy the file to outfile
- FileUtils.cp 'fragments.concat', settings[:outfile]
-else
- # Just compare the result to outfile to help the exec decide
- if FileUtils.cmp 'fragments.concat', settings[:outfile]
- exit 0
- else
- exit 1
- end
-end
diff --git a/modules/concat/files/concatfragments.sh b/modules/concat/files/concatfragments.sh
deleted file mode 100755
index 7e6b0f5..0000000
--- a/modules/concat/files/concatfragments.sh
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/sh
-
-# Script to concat files to a config file.
-#
-# Given a directory like this:
-# /path/to/conf.d
-# |-- fragments
-# | |-- 00_named.conf
-# | |-- 10_domain.net
-# | `-- zz_footer
-#
-# The script supports a test option that will build the concat file to a temp location and
-# use /usr/bin/cmp to verify if it should be run or not. This would result in the concat happening
-# twice on each run but gives you the option to have an unless option in your execs to inhibit rebuilds.
-#
-# Without the test option and the unless combo your services that depend on the final file would end up
-# restarting on each run, or in other manifest models some changes might get missed.
-#
-# OPTIONS:
-# -o The file to create from the sources
-# -d The directory where the fragments are kept
-# -t Test to find out if a build is needed, basically concats the files to a temp
-# location and compare with what's in the final location, return codes are designed
-# for use with unless on an exec resource
-# -w Add a shell style comment at the top of the created file to warn users that it
-# is generated by puppet
-# -f Enables the creation of empty output files when no fragments are found
-# -n Sort the output numerically rather than the default alpha sort
-#
-# the command:
-#
-# concatfragments.sh -o /path/to/conffile.cfg -d /path/to/conf.d
-#
-# creates /path/to/conf.d/fragments.concat and copies the resulting
-# file to /path/to/conffile.cfg. The files will be sorted alphabetically
-# pass the -n switch to sort numerically.
-#
-# The script does error checking on the various dirs and files to make
-# sure things don't fail.
-
-OUTFILE=""
-WORKDIR=""
-TEST=""
-FORCE=""
-WARN=""
-SORTARG=""
-ENSURE_NEWLINE=""
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-
-## Well, if there's ever a bad way to do things, Nexenta has it.
-## http://nexenta.org/projects/site/wiki/Personalities
-unset SUN_PERSONALITY
-
-while getopts "o:s:d:tnw:fl" options; do
- case $options in
- o ) OUTFILE=$OPTARG;;
- d ) WORKDIR=$OPTARG;;
- n ) SORTARG="-n";;
- w ) WARNMSG="$OPTARG";;
- f ) FORCE="true";;
- t ) TEST="true";;
- l ) ENSURE_NEWLINE="true";;
- * ) echo "Specify output file with -o and fragments directory with -d"
- exit 1;;
- esac
-done
-
-# do we have -o?
-if [ "x${OUTFILE}" = "x" ]; then
- echo "Please specify an output file with -o"
- exit 1
-fi
-
-# do we have -d?
-if [ "x${WORKDIR}" = "x" ]; then
- echo "Please fragments directory with -d"
- exit 1
-fi
-
-# can we write to -o?
-if [ -f "${OUTFILE}" ]; then
- if [ ! -w "${OUTFILE}" ]; then
- echo "Cannot write to ${OUTFILE}"
- exit 1
- fi
-else
- if [ ! -w `dirname "${OUTFILE}"` ]; then
- echo "Cannot write to `dirname \"${OUTFILE}\"` to create ${OUTFILE}"
- exit 1
- fi
-fi
-
-# do we have a fragments subdir inside the work dir?
-if [ ! -d "${WORKDIR}/fragments" ] && [ ! -x "${WORKDIR}/fragments" ]; then
- echo "Cannot access the fragments directory"
- exit 1
-fi
-
-# are there actually any fragments?
-if [ ! "$(ls -A """${WORKDIR}/fragments""")" ]; then
- if [ "x${FORCE}" = "x" ]; then
- echo "The fragments directory is empty, cowardly refusing to make empty config files"
- exit 1
- fi
-fi
-
-cd "${WORKDIR}"
-
-if [ "x${WARNMSG}" = "x" ]; then
- : > "fragments.concat"
-else
- printf '%s\n' "$WARNMSG" > "fragments.concat"
-fi
-
-# find all the files in the fragments directory, sort them numerically and concat to fragments.concat in the working dir
-IFS_BACKUP=$IFS
-IFS='
-'
-for fragfile in `find fragments/ -type f -follow -print0 | xargs -0 -n1 basename | LC_ALL=C sort ${SORTARG}`
-do
- cat "fragments/$fragfile" >> "fragments.concat"
- # Handle newlines.
- if [ "x${ENSURE_NEWLINE}" != "x" ]; then
- echo >> "fragments.concat"
- fi
-done
-IFS=$IFS_BACKUP
-
-if [ "x${TEST}" = "x" ]; then
- # This is a real run, copy the file to outfile
- cp fragments.concat "${OUTFILE}"
- RETVAL=$?
-else
- # Just compare the result to outfile to help the exec decide
- cmp "${OUTFILE}" fragments.concat
- RETVAL=$?
-fi
-
-exit $RETVAL
diff --git a/modules/concat/lib/facter/concat_basedir.rb b/modules/concat/lib/facter/concat_basedir.rb
deleted file mode 100644
index bfac071..0000000
--- a/modules/concat/lib/facter/concat_basedir.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# == Fact: concat_basedir
-#
-# A custom fact that sets the default location for fragments
-#
-# "${::vardir}/concat/"
-#
-Facter.add("concat_basedir") do
- setcode do
- File.join(Puppet[:vardir],"concat")
- end
-end
diff --git a/modules/concat/manifests/fragment.pp b/modules/concat/manifests/fragment.pp
deleted file mode 100644
index 40baadd..0000000
--- a/modules/concat/manifests/fragment.pp
+++ /dev/null
@@ -1,121 +0,0 @@
-# == Define: concat::fragment
-#
-# Puts a file fragment into a directory previous setup using concat
-#
-# === Options:
-#
-# [*target*]
-# The file that these fragments belong to
-# [*content*]
-# If present puts the content into the file
-# [*source*]
-# If content was not specified, use the source
-# [*order*]
-# By default all files gets a 10_ prefix in the directory you can set it to
-# anything else using this to influence the order of the content in the file
-# [*ensure*]
-# Present/Absent or destination to a file to include another file
-# [*mode*]
-# Deprecated
-# [*owner*]
-# Deprecated
-# [*group*]
-# Deprecated
-# [*backup*]
-# Deprecated
-#
-define concat::fragment(
- $target,
- $content = undef,
- $source = undef,
- $order = 10,
- $ensure = undef,
- $mode = undef,
- $owner = undef,
- $group = undef,
- $backup = undef
-) {
- validate_string($target)
- validate_string($content)
- if !(is_string($source) or is_array($source)) {
- fail('$source is not a string or an Array.')
- }
- validate_string($order)
- if $mode {
- warning('The $mode parameter to concat::fragment is deprecated and has no effect')
- }
- if $owner {
- warning('The $owner parameter to concat::fragment is deprecated and has no effect')
- }
- if $group {
- warning('The $group parameter to concat::fragment is deprecated and has no effect')
- }
- if $backup {
- warning('The $backup parameter to concat::fragment is deprecated and has no effect')
- }
- if $ensure == undef {
- $_ensure = getparam(Concat[$target], 'ensure')
- } else {
- if ! ($ensure in [ 'present', 'absent' ]) {
- warning('Passing a value other than \'present\' or \'absent\' as the $ensure parameter to concat::fragment is deprecated. If you want to use the content of a file as a fragment please use the $source parameter.')
- }
- $_ensure = $ensure
- }
-
- include concat::setup
-
- $safe_name = regsubst($name, '[/:\n]', '_', 'GM')
- $safe_target_name = regsubst($target, '[/:\n]', '_', 'GM')
- $concatdir = $concat::setup::concatdir
- $fragdir = "${concatdir}/${safe_target_name}"
- $fragowner = $concat::setup::fragment_owner
- $fragmode = $concat::setup::fragment_mode
-
- # The file type's semantics are problematic in that ensure => present will
- # not over write a pre-existing symlink. We are attempting to provide
- # backwards compatiblity with previous concat::fragment versions that
- # supported the file type's ensure => /target syntax
-
- # be paranoid and only allow the fragment's file resource's ensure param to
- # be file, absent, or a file target
- $safe_ensure = $_ensure ? {
- '' => 'file',
- undef => 'file',
- 'file' => 'file',
- 'present' => 'file',
- 'absent' => 'absent',
- default => $_ensure,
- }
-
- # if it looks line ensure => /target syntax was used, fish that out
- if ! ($_ensure in ['', 'present', 'absent', 'file' ]) {
- $ensure_target = $_ensure
- } else {
- $ensure_target = undef
- }
-
- # the file type's semantics only allows one of: ensure => /target, content,
- # or source
- if ($ensure_target and $source) or
- ($ensure_target and $content) or
- ($source and $content) {
- fail('You cannot specify more than one of $content, $source, $ensure => /target')
- }
-
- if ! ($content or $source or $ensure_target) {
- crit('No content, source or symlink specified')
- }
-
- # punt on group ownership until some point in the distant future when $::gid
- # can be relied on to be present
- file { "${fragdir}/fragments/${order}_${safe_name}":
- ensure => $safe_ensure,
- owner => $fragowner,
- mode => $fragmode,
- source => $source,
- content => $content,
- backup => false,
- alias => "concat_fragment_${name}",
- notify => Exec["concat_${target}"]
- }
-}
diff --git a/modules/concat/manifests/init.pp b/modules/concat/manifests/init.pp
deleted file mode 100644
index 91d82eb..0000000
--- a/modules/concat/manifests/init.pp
+++ /dev/null
@@ -1,232 +0,0 @@
-# == Define: concat
-#
-# Sets up so that you can use fragments to build a final config file,
-#
-# === Options:
-#
-# [*ensure*]
-# Present/Absent
-# [*path*]
-# The path to the final file. Use this in case you want to differentiate
-# between the name of a resource and the file path. Note: Use the name you
-# provided in the target of your fragments.
-# [*owner*]
-# Who will own the file
-# [*group*]
-# Who will own the file
-# [*mode*]
-# The mode of the final file
-# [*force*]
-# Enables creating empty files if no fragments are present
-# [*warn*]
-# Adds a normal shell style comment top of the file indicating that it is
-# built by puppet
-# [*force*]
-# [*backup*]
-# Controls the filebucketing behavior of the final file and see File type
-# reference for its use. Defaults to 'puppet'
-# [*replace*]
-# Whether to replace a file that already exists on the local system
-# [*order*]
-# [*ensure_newline*]
-# [*gnu*]
-# Deprecated
-#
-# === Actions:
-# * Creates fragment directories if it didn't exist already
-# * Executes the concatfragments.sh script to build the final file, this
-# script will create directory/fragments.concat. Execution happens only
-# when:
-# * The directory changes
-# * fragments.concat != final destination, this means rebuilds will happen
-# whenever someone changes or deletes the final file. Checking is done
-# using /usr/bin/cmp.
-# * The Exec gets notified by something else - like the concat::fragment
-# define
-# * Copies the file over to the final destination using a file resource
-#
-# === Aliases:
-#
-# * The exec can notified using Exec["concat_/path/to/file"] or
-# Exec["concat_/path/to/directory"]
-# * The final file can be referenced as File["/path/to/file"] or
-# File["concat_/path/to/file"]
-#
-define concat(
- $ensure = 'present',
- $path = $name,
- $owner = undef,
- $group = undef,
- $mode = '0644',
- $warn = false,
- $force = false,
- $backup = 'puppet',
- $replace = true,
- $order = 'alpha',
- $ensure_newline = false,
- $gnu = undef
-) {
- validate_re($ensure, '^present$|^absent$')
- validate_absolute_path($path)
- validate_string($owner)
- validate_string($group)
- validate_string($mode)
- if ! (is_string($warn) or $warn == true or $warn == false) {
- fail('$warn is not a string or boolean')
- }
- validate_bool($force)
- validate_string($backup)
- validate_bool($replace)
- validate_re($order, '^alpha$|^numeric$')
- validate_bool($ensure_newline)
- if $gnu {
- warning('The $gnu parameter to concat is deprecated and has no effect')
- }
-
- include concat::setup
-
- $safe_name = regsubst($name, '[/:]', '_', 'G')
- $concatdir = $concat::setup::concatdir
- $fragdir = "${concatdir}/${safe_name}"
- $concat_name = 'fragments.concat.out'
- $script_command = $concat::setup::script_command
- $default_warn_message = '# This file is managed by Puppet. DO NOT EDIT.'
- $bool_warn_message = 'Using stringified boolean values (\'true\', \'yes\', \'on\', \'false\', \'no\', \'off\') to represent boolean true/false as the $warn parameter to concat is deprecated and will be treated as the warning message in a future release'
-
- case $warn {
- true: {
- $warn_message = $default_warn_message
- }
- 'true', 'yes', 'on': {
- warning($bool_warn_message)
- $warn_message = $default_warn_message
- }
- false: {
- $warn_message = ''
- }
- 'false', 'no', 'off': {
- warning($bool_warn_message)
- $warn_message = ''
- }
- default: {
- $warn_message = $warn
- }
- }
-
- $warnmsg_escaped = regsubst($warn_message, '\'', '\'\\\'\'', 'G')
- $warnflag = $warnmsg_escaped ? {
- '' => '',
- default => "-w '${warnmsg_escaped}'"
- }
-
- $forceflag = $force ? {
- true => '-f',
- false => '',
- }
-
- $orderflag = $order ? {
- 'numeric' => '-n',
- 'alpha' => '',
- }
-
- $newlineflag = $ensure_newline ? {
- true => '-l',
- false => '',
- }
-
- File {
- backup => false,
- }
-
- if $ensure == 'present' {
- file { $fragdir:
- ensure => directory,
- mode => '0750',
- }
-
- file { "${fragdir}/fragments":
- ensure => directory,
- mode => '0750',
- force => true,
- ignore => ['.svn', '.git', '.gitignore'],
- notify => Exec["concat_${name}"],
- purge => true,
- recurse => true,
- }
-
- file { "${fragdir}/fragments.concat":
- ensure => present,
- mode => '0640',
- }
-
- file { "${fragdir}/${concat_name}":
- ensure => present,
- mode => '0640',
- }
-
- file { $name:
- ensure => present,
- owner => $owner,
- group => $group,
- mode => $mode,
- replace => $replace,
- path => $path,
- alias => "concat_${name}",
- source => "${fragdir}/${concat_name}",
- backup => $backup,
- }
-
- # remove extra whitespace from string interpolation to make testing easier
- $command = strip(regsubst("${script_command} -o \"${fragdir}/${concat_name}\" -d \"${fragdir}\" ${warnflag} ${forceflag} ${orderflag} ${newlineflag}", '\s+', ' ', 'G'))
-
- # if puppet is running as root, this exec should also run as root to allow
- # the concatfragments.sh script to potentially be installed in path that
- # may not be accessible by a target non-root owner.
- exec { "concat_${name}":
- alias => "concat_${fragdir}",
- command => $command,
- notify => File[$name],
- subscribe => File[$fragdir],
- unless => "${command} -t",
- path => $::path,
- require => [
- File[$fragdir],
- File["${fragdir}/fragments"],
- File["${fragdir}/fragments.concat"],
- ],
- }
- } else {
- file { [
- $fragdir,
- "${fragdir}/fragments",
- "${fragdir}/fragments.concat",
- "${fragdir}/${concat_name}"
- ]:
- ensure => absent,
- force => true,
- }
-
- file { $path:
- ensure => absent,
- backup => $backup,
- }
-
- $absent_exec_command = $::kernel ? {
- 'windows' => 'cmd.exe /c exit 0',
- default => 'true',
- }
-
- $absent_exec_path = $::kernel ? {
- 'windows' => $::path,
- default => '/bin:/usr/bin',
- }
-
- exec { "concat_${name}":
- alias => "concat_${fragdir}",
- command => $absent_exec_command,
- path => $absent_exec_path
- }
- }
-}
-
-# vim:sw=2:ts=2:expandtab:textwidth=79
diff --git a/modules/concat/manifests/setup.pp b/modules/concat/manifests/setup.pp
deleted file mode 100644
index 1767400..0000000
--- a/modules/concat/manifests/setup.pp
+++ /dev/null
@@ -1,58 +0,0 @@
-# === Class: concat::setup
-#
-# Sets up the concat system. This is a private class.
-#
-# [$concatdir]
-# is where the fragments live and is set on the fact concat_basedir.
-# Since puppet should always manage files in $concatdir and they should
-# not be deleted ever, /tmp is not an option.
-#
-# It also copies out the concatfragments.sh file to ${concatdir}/bin
-#
-class concat::setup {
- if $caller_module_name != $module_name {
- warning("${name} is deprecated as a public API of the ${module_name} module and should no longer be directly included in the manifest.")
- }
-
- if $::concat_basedir {
- $concatdir = $::concat_basedir
- } else {
- fail ('$concat_basedir not defined. Try running again with pluginsync=true on the [master] and/or [main] section of your node\'s \'/etc/puppet/puppet.conf\'.')
- }
-
- # owner and mode of fragment files (on windows owner and access rights should be inherited from concatdir and not explicitly set to avoid problems)
- $fragment_owner = $osfamily ? { 'windows' => undef, default => $::id }
- $fragment_mode = $osfamily ? { 'windows' => undef, default => '0640' }
-
- $script_name = $::kernel ? {
- 'windows' => 'concatfragments.rb',
- default => 'concatfragments.sh'
- }
-
- $script_path = "${concatdir}/bin/${script_name}"
-
- $script_owner = $osfamily ? { 'windows' => undef, default => $::id }
-
- $script_mode = $osfamily ? { 'windows' => undef, default => '0755' }
-
- $script_command = $::kernel ? {
- 'windows' => "ruby.exe ${script_path}",
- default => $script_path
- }
-
- File {
- backup => false,
- }
-
- file { $script_path:
- ensure => file,
- owner => $script_owner,
- mode => $script_mode,
- source => "puppet:///modules/concat/${script_name}",
- }
-
- file { [ $concatdir, "${concatdir}/bin" ]:
- ensure => directory,
- mode => '0755',
- }
-}
diff --git a/modules/concat/metadata.json b/modules/concat/metadata.json
deleted file mode 100644
index c7305f2..0000000
--- a/modules/concat/metadata.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "name": "puppetlabs-concat",
- "version": "1.1.0",
- "source": "git://github.com/puppetlabs/puppetlabs-concat.git",
- "author": "Puppetlabs",
- "license": "Apache 2.0",
- "summary": "Concat module",
- "description": "Concat module",
- "project_page": "http://github.com/puppetlabs/puppetlabs-concat",
- "dependencies": [
- {
- "name": "puppetlabs/stdlib",
- "version_requirement": ">= 4.0.0"
- }
- ],
- "types": [
-
- ],
- "checksums": {
- "CHANGELOG": "fca146b0dcd7cc60a9082b8e301a2e18",
- "Gemfile": "3cadf91e1baf9c8b7d2b1c3036676ba9",
- "LICENSE": "f5a76685d453424cd63dde1535811cf0",
- "Modulefile": "f8abb1236ed5211c4a3aa732431c2e19",
- "README.md": "adecb8db1313997083179540b20ede86",
- "Rakefile": "e415d40cd8db238f02bf4575d5e1e693",
- "files/concatfragments.rb": "6784c28044a4204efb75fe4eb759816a",
- "files/concatfragments.sh": "7bbe7c5fce25a5ddd20415d909ba44fc",
- "lib/facter/concat_basedir.rb": "ff080677e7f192b9b96911698b0b9b3d",
- "manifests/fragment.pp": "8bfd199e757f6a57f6174b558f87d2ce",
- "manifests/init.pp": "79c6dc5bf0b2b0da3ce84cc2f0ae5f02",
- "manifests/setup.pp": "0ff9f4d9b4c01360606ae29d8df31ff0",
- "spec/acceptance/backup_spec.rb": "d4ffdf3d4f5a1b7c0aa64dd118375124",
- "spec/acceptance/concat_spec.rb": "600243521241dac0b238ad01b10c7132",
- "spec/acceptance/deprecation_warnings_spec.rb": "40286704d0f544437293ed8a1cc66fe9",
- "spec/acceptance/empty_spec.rb": "c2edc5cef72870b0894e1b2184207325",
- "spec/acceptance/fragment_source_spec.rb": "c5cda233f208b71d7d5cc89dfa4be81d",
- "spec/acceptance/newline_spec.rb": "55b9f470bdff4c0245da6895c9b6e64d",
- "spec/acceptance/nodesets/aix-71-vcloud.yml": "de6cc5bf18be2be8d50e62503652cb32",
- "spec/acceptance/nodesets/centos-59-x64.yml": "57eb3e471b9042a8ea40978c467f8151",
- "spec/acceptance/nodesets/centos-64-x64-pe.yml": "ec075d95760df3d4702abea1ce0a829b",
- "spec/acceptance/nodesets/centos-64-x64.yml": "092dd2c588a9f87fa1fb12997c0723ef",
- "spec/acceptance/nodesets/debian-607-x64.yml": "d566bf76f534e2af7c9a4605316d232c",
- "spec/acceptance/nodesets/debian-70rc1-x64.yml": "31ccca73af7b74e1cc2fb0035c230b2c",
- "spec/acceptance/nodesets/debian-73-x64.yml": "bd3ea8245ce691c2b234529d62d043eb",
- "spec/acceptance/nodesets/default.yml": "3d68f9581097bb3a807ba1931c961959",
- "spec/acceptance/nodesets/fedora-18-x64.yml": "80e41b1ee16ea489f53164bfdae58855",
- "spec/acceptance/nodesets/rhel-7-x64.yml": "91b55d29f059e23383c7bc352b5d671d",
- "spec/acceptance/nodesets/sles-11-x64.yml": "44e4c6c15c018333bfa9840a5e702f66",
- "spec/acceptance/nodesets/sles-11sp1-x64.yml": "fa0046bd89c1ab4ba9521ad79db234cd",
- "spec/acceptance/nodesets/ubuntu-server-10044-x64.yml": "75e86400b7889888dc0781c0ae1a1297",
- "spec/acceptance/nodesets/ubuntu-server-12042-x64.yml": "d30d73e34cd50b043c7d14e305955269",
- "spec/acceptance/nodesets/ubuntu-server-1404-x64.yml": "5f0aed10098ac5b78e4217bb27c7aaf0",
- "spec/acceptance/order_spec.rb": "0de9b4993a3e3f6f36c52bb18f48280c",
- "spec/acceptance/quoted_paths_spec.rb": "953a5a665bd4bb468e70856260c47c6e",
- "spec/acceptance/replace_spec.rb": "7072d819d5997ad227fc17f4b813fe4f",
- "spec/acceptance/symbolic_name_spec.rb": "10e856a87253cf8bbef95f8f9635b63e",
- "spec/acceptance/warn_spec.rb": "ec03f0fa8086fc4be03da1c5aff25097",
- "spec/spec_helper.rb": "0db89c9a486df193c0e40095422e19dc",
- "spec/spec_helper_acceptance.rb": "5be78c42f01346abf097bbcab34ff424",
- "spec/unit/classes/concat_setup_spec.rb": "6d3729833715d65f3c50c2153caed6bc",
- "spec/unit/defines/concat_fragment_spec.rb": "ced7c3b1b6d7f2e65c6dc066aa8c0527",
- "spec/unit/defines/concat_spec.rb": "d8da592546c9811bf40e111bf52755dc",
- "spec/unit/facts/concat_basedir_spec.rb": "cf00f5a07948436fa0a84d00fc098539",
- "tests/fragment.pp": "9adc3d9ba61676066072e1b949a37dbb",
- "tests/init.pp": "bd3ce7d2ee146744b5dbbaae8a927043"
- }
-}
\ No newline at end of file
diff --git a/modules/concat/spec/acceptance/backup_spec.rb b/modules/concat/spec/acceptance/backup_spec.rb
deleted file mode 100644
index 7b2858d..0000000
--- a/modules/concat/spec/acceptance/backup_spec.rb
+++ /dev/null
@@ -1,101 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat backup parameter' do
- context '=> puppet' do
- before :all do
- shell('rm -rf /tmp/concat')
- shell('mkdir -p /tmp/concat')
- shell("/bin/echo 'old contents' > /tmp/concat/file")
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- backup => 'puppet',
- }
- concat::fragment { 'new file':
- target => '/tmp/concat/file',
- content => 'new contents',
- }
- EOS
-
- it 'applies the manifest twice with "Filebucketed" stdout and no stderr' do
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stderr).to eq("")
- expect(r.stdout).to match(/Filebucketed \/tmp\/concat\/file to puppet with sum 0140c31db86293a1a1e080ce9b91305f/) # sum is for file contents of 'old contents'
- end
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'new contents' }
- end
- end
-
- context '=> .backup' do
- before :all do
- shell('rm -rf /tmp/concat')
- shell('mkdir -p /tmp/concat')
- shell("/bin/echo 'old contents' > /tmp/concat/file")
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- backup => '.backup',
- }
- concat::fragment { 'new file':
- target => '/tmp/concat/file',
- content => 'new contents',
- }
- EOS
-
- # XXX Puppet doesn't mention anything about filebucketing with a given
- # extension like .backup
- it 'applies the manifest twice no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'new contents' }
- end
- describe file('/tmp/concat/file.backup') do
- it { should be_file }
- it { should contain 'old contents' }
- end
- end
-
- # XXX The backup parameter uses validate_string() and thus can't be the
- # boolean false value, but the string 'false' has the same effect in Puppet 3
- context "=> 'false'" do
- before :all do
- shell('rm -rf /tmp/concat')
- shell('mkdir -p /tmp/concat')
- shell("/bin/echo 'old contents' > /tmp/concat/file")
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- backup => '.backup',
- }
- concat::fragment { 'new file':
- target => '/tmp/concat/file',
- content => 'new contents',
- }
- EOS
-
- it 'applies the manifest twice with no "Filebucketed" stdout and no stderr' do
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stderr).to eq("")
- expect(r.stdout).to_not match(/Filebucketed/)
- end
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'new contents' }
- end
- end
-end
diff --git a/modules/concat/spec/acceptance/concat_spec.rb b/modules/concat/spec/acceptance/concat_spec.rb
deleted file mode 100644
index 89919cc..0000000
--- a/modules/concat/spec/acceptance/concat_spec.rb
+++ /dev/null
@@ -1,204 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'basic concat test' do
-
- shared_examples 'successfully_applied' do |pp|
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file("#{default['puppetvardir']}/concat") do
- it { should be_directory }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 755 }
- end
- describe file("#{default['puppetvardir']}/concat/bin") do
- it { should be_directory }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 755 }
- end
- describe file("#{default['puppetvardir']}/concat/bin/concatfragments.sh") do
- it { should be_file }
- it { should be_owned_by 'root' }
- #it { should be_grouped_into 'root' }
- it { should be_mode 755 }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file") do
- it { should be_directory }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 750 }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments") do
- it { should be_directory }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 750 }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments.concat") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments.concat.out") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- end
- end
-
- context 'owner/group root' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- owner => 'root',
- group => 'root',
- mode => '0644',
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- order => '02',
- }
- EOS
-
- it_behaves_like 'successfully_applied', pp
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 644 }
- it { should contain '1' }
- it { should contain '2' }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/01_1") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/02_2") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- end
- end
-
- context 'owner/group non-root' do
- before(:all) do
- shell "groupadd -g 64444 bob"
- shell "useradd -u 42 -g 64444 bob"
- end
- after(:all) do
- shell "userdel bob"
- end
-
- pp="
- concat { '/tmp/concat/file':
- owner => 'bob',
- group => 'bob',
- mode => '0644',
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- order => '02',
- }
- "
-
- it_behaves_like 'successfully_applied', pp
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should be_owned_by 'bob' }
- it { should be_grouped_into 'bob' }
- it { should be_mode 644 }
- it { should contain '1' }
- it { should contain '2' }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/01_1") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- it { should contain '1' }
- end
- describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/02_2") do
- it { should be_file }
- it { should be_owned_by 'root' }
- it { should be_grouped_into 'root' }
- it { should be_mode 640 }
- it { should contain '2' }
- end
- end
-
- context 'ensure' do
- context 'works when set to present with path set' do
- pp="
- concat { 'file':
- ensure => present,
- path => '/tmp/concat/file',
- mode => '0644',
- }
- concat::fragment { '1':
- target => 'file',
- content => '1',
- order => '01',
- }
- "
-
- it_behaves_like 'successfully_applied', pp
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should be_mode 644 }
- it { should contain '1' }
- end
- end
- context 'works when set to absent with path set' do
- pp="
- concat { 'file':
- ensure => absent,
- path => '/tmp/concat/file',
- mode => '0644',
- }
- concat::fragment { '1':
- target => 'file',
- content => '1',
- order => '01',
- }
- "
-
- # Can't used shared examples as this will always trigger the exec when
- # absent is set.
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should_not be_file }
- end
- end
- end
-end
diff --git a/modules/concat/spec/acceptance/deprecation_warnings_spec.rb b/modules/concat/spec/acceptance/deprecation_warnings_spec.rb
deleted file mode 100644
index f139d81..0000000
--- a/modules/concat/spec/acceptance/deprecation_warnings_spec.rb
+++ /dev/null
@@ -1,230 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'deprecation warnings' do
-
- shared_examples 'has_warning'do |pp, w|
- it 'applies the manifest twice with a stderr regex' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to match(/#{Regexp.escape(w)}/m)
- expect(apply_manifest(pp, :catch_changes => true).stderr).to match(/#{Regexp.escape(w)}/m)
- end
- end
-
- context 'concat gnu parameter' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- gnu => 'foo',
- }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- }
- EOS
- w = 'The $gnu parameter to concat is deprecated and has no effect'
-
- it_behaves_like 'has_warning', pp, w
- end
-
- context 'concat warn parameter =>' do
- ['true', 'yes', 'on'].each do |warn|
- context warn do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- warn => '#{warn}',
- }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- }
- EOS
- w = 'Using stringified boolean values (\'true\', \'yes\', \'on\', \'false\', \'no\', \'off\') to represent boolean true/false as the $warn parameter to concat is deprecated and will be treated as the warning message in a future release'
-
- it_behaves_like 'has_warning', pp, w
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '# This file is managed by Puppet. DO NOT EDIT.' }
- it { should contain 'bar' }
- end
- end
- end
-
- ['false', 'no', 'off'].each do |warn|
- context warn do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- warn => '#{warn}',
- }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- }
- EOS
- w = 'Using stringified boolean values (\'true\', \'yes\', \'on\', \'false\', \'no\', \'off\') to represent boolean true/false as the $warn parameter to concat is deprecated and will be treated as the warning message in a future release'
-
- it_behaves_like 'has_warning', pp, w
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should_not contain '# This file is managed by Puppet. DO NOT EDIT.' }
- it { should contain 'bar' }
- end
- end
- end
- end
-
- context 'concat::fragment ensure parameter' do
- context 'target file exists' do
- before(:all) do
- shell("/bin/echo 'file1 contents' > /tmp/concat/file1")
- end
- after(:all) do
- # XXX this test may leave behind a symlink in the fragment directory
- # which could cause warnings and/or breakage from the subsequent tests
- # unless we clean it up.
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- shell('mkdir -p /tmp/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- ensure => '/tmp/concat/file1',
- }
- EOS
- w = 'Passing a value other than \'present\' or \'absent\' as the $ensure parameter to concat::fragment is deprecated. If you want to use the content of a file as a fragment please use the $source parameter.'
-
- it_behaves_like 'has_warning', pp, w
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'file1 contents' }
- end
-
- describe 'the fragment can be changed from a symlink to a plain file' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'new content',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'new content' }
- it { should_not contain 'file1 contents' }
- end
- end
- end # target file exists
-
- context 'target does not exist' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- ensure => '/tmp/concat/file1',
- }
- EOS
- w = 'Passing a value other than \'present\' or \'absent\' as the $ensure parameter to concat::fragment is deprecated. If you want to use the content of a file as a fragment please use the $source parameter.'
-
- it_behaves_like 'has_warning', pp, w
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- end
-
- describe 'the fragment can be changed from a symlink to a plain file' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'new content',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'new content' }
- end
- end
- end # target file exists
-
- end # concat::fragment ensure parameter
-
- context 'concat::fragment mode parameter' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- mode => 'bar',
- }
- EOS
- w = 'The $mode parameter to concat::fragment is deprecated and has no effect'
-
- it_behaves_like 'has_warning', pp, w
- end
-
- context 'concat::fragment owner parameter' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- owner => 'bar',
- }
- EOS
- w = 'The $owner parameter to concat::fragment is deprecated and has no effect'
-
- it_behaves_like 'has_warning', pp, w
- end
-
- context 'concat::fragment group parameter' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- group => 'bar',
- }
- EOS
- w = 'The $group parameter to concat::fragment is deprecated and has no effect'
-
- it_behaves_like 'has_warning', pp, w
- end
-
- context 'concat::fragment backup parameter' do
- pp = <<-EOS
- concat { '/tmp/concat/file': }
- concat::fragment { 'foo':
- target => '/tmp/concat/file',
- content => 'bar',
- backup => 'bar',
- }
- EOS
- w = 'The $backup parameter to concat::fragment is deprecated and has no effect'
-
- it_behaves_like 'has_warning', pp, w
- end
-
- context 'include concat::setup' do
- pp = <<-EOS
- include concat::setup
- EOS
- w = 'concat::setup is deprecated as a public API of the concat module and should no longer be directly included in the manifest.'
-
- it_behaves_like 'has_warning', pp, w
- end
-
-end
diff --git a/modules/concat/spec/acceptance/empty_spec.rb b/modules/concat/spec/acceptance/empty_spec.rb
deleted file mode 100644
index 0999528..0000000
--- a/modules/concat/spec/acceptance/empty_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat force empty parameter' do
- context 'should run successfully' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- owner => root,
- group => root,
- mode => '0644',
- force => true,
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should_not contain '1\n2' }
- end
- end
-end
diff --git a/modules/concat/spec/acceptance/fragment_source_spec.rb b/modules/concat/spec/acceptance/fragment_source_spec.rb
deleted file mode 100644
index 3afd534..0000000
--- a/modules/concat/spec/acceptance/fragment_source_spec.rb
+++ /dev/null
@@ -1,134 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat::fragment source' do
- context 'should read file fragments from local system' do
- before(:all) do
- shell("/bin/echo 'file1 contents' > /tmp/concat/file1")
- shell("/bin/echo 'file2 contents' > /tmp/concat/file2")
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/foo': }
-
- concat::fragment { '1':
- target => '/tmp/concat/foo',
- source => '/tmp/concat/file1',
- }
- concat::fragment { '2':
- target => '/tmp/concat/foo',
- content => 'string1 contents',
- }
- concat::fragment { '3':
- target => '/tmp/concat/foo',
- source => '/tmp/concat/file2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/foo') do
- it { should be_file }
- it { should contain 'file1 contents' }
- it { should contain 'string1 contents' }
- it { should contain 'file2 contents' }
- end
- end # should read file fragments from local system
-
- context 'should create files containing first match only.' do
- before(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- shell('mkdir -p /tmp/concat')
- shell("/bin/echo 'file1 contents' > /tmp/concat/file1")
- shell("/bin/echo 'file2 contents' > /tmp/concat/file2")
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/result_file1':
- owner => root,
- group => root,
- mode => '0644',
- }
- concat { '/tmp/concat/result_file2':
- owner => root,
- group => root,
- mode => '0644',
- }
- concat { '/tmp/concat/result_file3':
- owner => root,
- group => root,
- mode => '0644',
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/result_file1',
- source => [ '/tmp/concat/file1', '/tmp/concat/file2' ],
- order => '01',
- }
- concat::fragment { '2':
- target => '/tmp/concat/result_file2',
- source => [ '/tmp/concat/file2', '/tmp/concat/file1' ],
- order => '01',
- }
- concat::fragment { '3':
- target => '/tmp/concat/result_file3',
- source => [ '/tmp/concat/file1', '/tmp/concat/file2' ],
- order => '01',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
- describe file('/tmp/concat/result_file1') do
- it { should be_file }
- it { should contain 'file1 contents' }
- it { should_not contain 'file2 contents' }
- end
- describe file('/tmp/concat/result_file2') do
- it { should be_file }
- it { should contain 'file2 contents' }
- it { should_not contain 'file1 contents' }
- end
- describe file('/tmp/concat/result_file3') do
- it { should be_file }
- it { should contain 'file1 contents' }
- it { should_not contain 'file2 contents' }
- end
- end
-
- context 'should fail if no match on source.' do
- before(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- shell('mkdir -p /tmp/concat')
- shell('/bin/rm -rf /tmp/concat/fail_no_source /tmp/concat/nofilehere /tmp/concat/nothereeither')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/fail_no_source':
- owner => root,
- group => root,
- mode => '0644',
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/fail_no_source',
- source => [ '/tmp/concat/nofilehere', '/tmp/concat/nothereeither' ],
- order => '01',
- }
- EOS
-
- it 'applies the manifest with resource failures' do
- apply_manifest(pp, :expect_failures => true)
- end
- describe file('/tmp/concat/fail_no_source') do
- #FIXME: Serverspec::Type::File doesn't support exists? for some reason. so... hack.
- it { should_not be_file }
- it { should_not be_directory }
- end
- end
-end
-
diff --git a/modules/concat/spec/acceptance/newline_spec.rb b/modules/concat/spec/acceptance/newline_spec.rb
deleted file mode 100644
index 1e989df..0000000
--- a/modules/concat/spec/acceptance/newline_spec.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat ensure_newline parameter' do
- context '=> false' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- ensure_newline => false,
- }
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '12' }
- end
- end
-
- context '=> true' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- ensure_newline => true,
- }
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- #XXX ensure_newline => true causes changes on every run because the files
- #are modified in place.
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain "1\n2\n" }
- end
- end
-end
diff --git a/modules/concat/spec/acceptance/nodesets/aix-71-vcloud.yml b/modules/concat/spec/acceptance/nodesets/aix-71-vcloud.yml
deleted file mode 100644
index f0ae87a..0000000
--- a/modules/concat/spec/acceptance/nodesets/aix-71-vcloud.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-HOSTS:
- pe-aix-71-acceptance:
- roles:
- - master
- - dashboard
- - database
- - agent
- - default
- platform: aix-7.1-power
- hypervisor: aix
- ip: pe-aix-71-acceptance.delivery.puppetlabs.net
-CONFIG:
- type: pe
- nfs_server: NONE
- consoleport: 443
- datastore: instance0
- folder: Delivery/Quality Assurance/Enterprise/Dynamic
- resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
- pooling_api: http://vcloud.delivery.puppetlabs.net/
diff --git a/modules/concat/spec/acceptance/nodesets/centos-59-x64.yml b/modules/concat/spec/acceptance/nodesets/centos-59-x64.yml
deleted file mode 100644
index 2ad90b8..0000000
--- a/modules/concat/spec/acceptance/nodesets/centos-59-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- centos-59-x64:
- roles:
- - master
- platform: el-5-x86_64
- box : centos-59-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: git
diff --git a/modules/concat/spec/acceptance/nodesets/centos-64-x64-pe.yml b/modules/concat/spec/acceptance/nodesets/centos-64-x64-pe.yml
deleted file mode 100644
index 7d9242f..0000000
--- a/modules/concat/spec/acceptance/nodesets/centos-64-x64-pe.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-HOSTS:
- centos-64-x64:
- roles:
- - master
- - database
- - dashboard
- platform: el-6-x86_64
- box : centos-64-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: pe
diff --git a/modules/concat/spec/acceptance/nodesets/centos-64-x64.yml b/modules/concat/spec/acceptance/nodesets/centos-64-x64.yml
deleted file mode 100644
index 05540ed..0000000
--- a/modules/concat/spec/acceptance/nodesets/centos-64-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- centos-64-x64:
- roles:
- - master
- platform: el-6-x86_64
- box : centos-64-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/debian-607-x64.yml b/modules/concat/spec/acceptance/nodesets/debian-607-x64.yml
deleted file mode 100644
index 4c8be42..0000000
--- a/modules/concat/spec/acceptance/nodesets/debian-607-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- debian-607-x64:
- roles:
- - master
- platform: debian-6-amd64
- box : debian-607-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/debian-607-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: git
diff --git a/modules/concat/spec/acceptance/nodesets/debian-70rc1-x64.yml b/modules/concat/spec/acceptance/nodesets/debian-70rc1-x64.yml
deleted file mode 100644
index 19181c1..0000000
--- a/modules/concat/spec/acceptance/nodesets/debian-70rc1-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- debian-70rc1-x64:
- roles:
- - master
- platform: debian-7-amd64
- box : debian-70rc1-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: git
diff --git a/modules/concat/spec/acceptance/nodesets/debian-73-x64.yml b/modules/concat/spec/acceptance/nodesets/debian-73-x64.yml
deleted file mode 100644
index 3e6a3a9..0000000
--- a/modules/concat/spec/acceptance/nodesets/debian-73-x64.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-HOSTS:
- debian-73-x64.localhost:
- roles:
- - master
- platform: debian-7-amd64
- box : debian-73-x64-virtualbox-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/debian-73-x64-virtualbox-nocm.box
- hypervisor : vagrant
-CONFIG:
- log_level: debug
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/default.yml b/modules/concat/spec/acceptance/nodesets/default.yml
deleted file mode 100644
index ae812b0..0000000
--- a/modules/concat/spec/acceptance/nodesets/default.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- centos-64-x64.localdomain:
- roles:
- - master
- platform: el-6-x86_64
- box : centos-65-x64-virtualbox-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/fedora-18-x64.yml b/modules/concat/spec/acceptance/nodesets/fedora-18-x64.yml
deleted file mode 100644
index 1361649..0000000
--- a/modules/concat/spec/acceptance/nodesets/fedora-18-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- fedora-18-x64:
- roles:
- - master
- platform: fedora-18-x86_64
- box : fedora-18-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/rhel-7-x64.yml b/modules/concat/spec/acceptance/nodesets/rhel-7-x64.yml
deleted file mode 100644
index cf8f79a..0000000
--- a/modules/concat/spec/acceptance/nodesets/rhel-7-x64.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-HOSTS:
- 'redhat-7-vcloud':
- roles:
- - master
- platform: el-7-x86_64
- hypervisor: vcloud
- template: redhat-7-x86_64
-CONFIG:
- type: foss
- ssh:
- keys: "~/.ssh/id_rsa-acceptance"
- datastore: instance0
- folder: Delivery/Quality Assurance/Enterprise/Dynamic
- resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
- pooling_api: http://vcloud.delivery.puppetlabs.net/
diff --git a/modules/concat/spec/acceptance/nodesets/sles-11-x64.yml b/modules/concat/spec/acceptance/nodesets/sles-11-x64.yml
deleted file mode 100644
index 41abe21..0000000
--- a/modules/concat/spec/acceptance/nodesets/sles-11-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- sles-11-x64.local:
- roles:
- - master
- platform: sles-11-x64
- box : sles-11sp1-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/sles-11sp1-x64.yml b/modules/concat/spec/acceptance/nodesets/sles-11sp1-x64.yml
deleted file mode 100644
index 554c37a..0000000
--- a/modules/concat/spec/acceptance/nodesets/sles-11sp1-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- sles-11sp1-x64:
- roles:
- - master
- platform: sles-11-x86_64
- box : sles-11sp1-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: git
diff --git a/modules/concat/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml b/modules/concat/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml
deleted file mode 100644
index 5ca1514..0000000
--- a/modules/concat/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- ubuntu-server-10044-x64:
- roles:
- - master
- platform: ubuntu-10.04-amd64
- box : ubuntu-server-10044-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml b/modules/concat/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml
deleted file mode 100644
index d065b30..0000000
--- a/modules/concat/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- ubuntu-server-12042-x64:
- roles:
- - master
- platform: ubuntu-12.04-amd64
- box : ubuntu-server-12042-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/concat/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml b/modules/concat/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
deleted file mode 100644
index cba1cd0..0000000
--- a/modules/concat/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-HOSTS:
- ubuntu-server-1404-x64:
- roles:
- - master
- platform: ubuntu-14.04-amd64
- box : puppetlabs/ubuntu-14.04-64-nocm
- box_url : https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
- hypervisor : vagrant
-CONFIG:
- log_level : debug
- type: git
diff --git a/modules/concat/spec/acceptance/order_spec.rb b/modules/concat/spec/acceptance/order_spec.rb
deleted file mode 100644
index 8bcb713..0000000
--- a/modules/concat/spec/acceptance/order_spec.rb
+++ /dev/null
@@ -1,137 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat order' do
- before(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- shell('mkdir -p /tmp/concat')
- end
-
- context '=> alpha' do
- pp = <<-EOS
- concat { '/tmp/concat/foo':
- order => 'alpha'
- }
- concat::fragment { '1':
- target => '/tmp/concat/foo',
- content => 'string1',
- }
- concat::fragment { '2':
- target => '/tmp/concat/foo',
- content => 'string2',
- }
- concat::fragment { '10':
- target => '/tmp/concat/foo',
- content => 'string10',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/foo') do
- it { should be_file }
- it { should contain "string10\nstring1\nsring2" }
- end
- end
-
- context '=> numeric' do
- pp = <<-EOS
- concat { '/tmp/concat/foo':
- order => 'numeric'
- }
- concat::fragment { '1':
- target => '/tmp/concat/foo',
- content => 'string1',
- }
- concat::fragment { '2':
- target => '/tmp/concat/foo',
- content => 'string2',
- }
- concat::fragment { '10':
- target => '/tmp/concat/foo',
- content => 'string10',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/foo') do
- it { should be_file }
- it { should contain "string1\nstring2\nsring10" }
- end
- end
-end # concat order
-
-describe 'concat::fragment order' do
- before(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- shell('mkdir -p /tmp/concat')
- end
-
- context '=> reverse order' do
- pp = <<-EOS
- concat { '/tmp/concat/foo': }
- concat::fragment { '1':
- target => '/tmp/concat/foo',
- content => 'string1',
- order => '15',
- }
- concat::fragment { '2':
- target => '/tmp/concat/foo',
- content => 'string2',
- # default order 10
- }
- concat::fragment { '3':
- target => '/tmp/concat/foo',
- content => 'string3',
- order => '1',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/foo') do
- it { should be_file }
- it { should contain "string3\nstring2\nsring1" }
- end
- end
-
- context '=> normal order' do
- pp = <<-EOS
- concat { '/tmp/concat/foo': }
- concat::fragment { '1':
- target => '/tmp/concat/foo',
- content => 'string1',
- order => '01',
- }
- concat::fragment { '2':
- target => '/tmp/concat/foo',
- content => 'string2',
- order => '02'
- }
- concat::fragment { '3':
- target => '/tmp/concat/foo',
- content => 'string3',
- order => '03',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/foo') do
- it { should be_file }
- it { should contain "string1\nstring2\nsring3" }
- end
- end
-end # concat::fragment order
diff --git a/modules/concat/spec/acceptance/quoted_paths_spec.rb b/modules/concat/spec/acceptance/quoted_paths_spec.rb
deleted file mode 100644
index d1a2b5f..0000000
--- a/modules/concat/spec/acceptance/quoted_paths_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'quoted paths' do
- before(:all) do
- shell('rm -rf "/tmp/concat test" /var/lib/puppet/concat')
- shell('mkdir -p "/tmp/concat test"')
- end
-
- context 'path with blanks' do
- pp = <<-EOS
- concat { '/tmp/concat test/foo':
- }
- concat::fragment { '1':
- target => '/tmp/concat test/foo',
- content => 'string1',
- }
- concat::fragment { '2':
- target => '/tmp/concat test/foo',
- content => 'string2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat test/foo') do
- it { should be_file }
- it { should contain "string1\nsring2" }
- end
- end
-end
diff --git a/modules/concat/spec/acceptance/replace_spec.rb b/modules/concat/spec/acceptance/replace_spec.rb
deleted file mode 100644
index 7b31e09..0000000
--- a/modules/concat/spec/acceptance/replace_spec.rb
+++ /dev/null
@@ -1,241 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'replacement of' do
- context 'file' do
- context 'should not succeed' do
- before(:all) do
- shell('mkdir -p /tmp/concat')
- shell('echo "file exists" > /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- replace => false,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain 'file exists' }
- it { should_not contain '1' }
- it { should_not contain '2' }
- end
- end
-
- context 'should succeed' do
- before(:all) do
- shell('mkdir -p /tmp/concat')
- shell('echo "file exists" > /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- replace => true,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should_not contain 'file exists' }
- it { should contain '1' }
- it { should contain '2' }
- end
- end
- end # file
-
- context 'symlink' do
- context 'should not succeed' do
- # XXX the core puppet file type will replace a symlink with a plain file
- # when using ensure => present and source => ... but it will not when using
- # ensure => present and content => ...; this is somewhat confusing behavior
- before(:all) do
- shell('mkdir -p /tmp/concat')
- shell('ln -s /tmp/concat/dangling /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- replace => false,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_linked_to '/tmp/concat/dangling' }
- end
-
- describe file('/tmp/concat/dangling') do
- # XXX serverspec does not have a matcher for 'exists'
- it { should_not be_file }
- it { should_not be_directory }
- end
- end
-
- context 'should succeed' do
- # XXX the core puppet file type will replace a symlink with a plain file
- # when using ensure => present and source => ... but it will not when using
- # ensure => present and content => ...; this is somewhat confusing behavior
- before(:all) do
- shell('mkdir -p /tmp/concat')
- shell('ln -s /tmp/concat/dangling /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- replace => true,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '1' }
- it { should contain '2' }
- end
- end
- end # symlink
-
- context 'directory' do
- context 'should not succeed' do
- before(:all) do
- shell('mkdir -p /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file': }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with stderr for changing to file' do
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/change from directory to file failed/)
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/change from directory to file failed/)
- end
-
- describe file('/tmp/concat/file') do
- it { should be_directory }
- end
- end
-
- # XXX concat's force param currently enables the creation of empty files
- # when there are no fragments, and the replace param will only replace
- # files and symlinks, not directories. The semantics either need to be
- # changed, extended, or a new param introduced to control directory
- # replacement.
- context 'should succeed', :pending => 'not yet implemented' do
- before(:all) do
- shell('mkdir -p /tmp/concat/file')
- end
- after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- pp = <<-EOS
- concat { '/tmp/concat/file':
- force => true,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '1' }
- end
- end
- end # directory
-end
diff --git a/modules/concat/spec/acceptance/symbolic_name_spec.rb b/modules/concat/spec/acceptance/symbolic_name_spec.rb
deleted file mode 100644
index 7267f5e..0000000
--- a/modules/concat/spec/acceptance/symbolic_name_spec.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'symbolic name' do
- pp = <<-EOS
- concat { 'not_abs_path':
- path => '/tmp/concat/file',
- }
-
- concat::fragment { '1':
- target => 'not_abs_path',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => 'not_abs_path',
- content => '2',
- order => '02',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '1' }
- it { should contain '2' }
- end
-end
diff --git a/modules/concat/spec/acceptance/warn_spec.rb b/modules/concat/spec/acceptance/warn_spec.rb
deleted file mode 100644
index cb0b743..0000000
--- a/modules/concat/spec/acceptance/warn_spec.rb
+++ /dev/null
@@ -1,97 +0,0 @@
-require 'spec_helper_acceptance'
-
-describe 'concat warn =>' do
- context 'true should enable default warning message' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- warn => true,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- order => '02',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '# This file is managed by Puppet. DO NOT EDIT.' }
- it { should contain '1' }
- it { should contain '2' }
- end
- end
- context 'false should not enable default warning message' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- warn => false,
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- order => '02',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should_not contain '# This file is managed by Puppet. DO NOT EDIT.' }
- it { should contain '1' }
- it { should contain '2' }
- end
- end
- context '# foo should overide default warning message' do
- pp = <<-EOS
- concat { '/tmp/concat/file':
- warn => '# foo',
- }
-
- concat::fragment { '1':
- target => '/tmp/concat/file',
- content => '1',
- order => '01',
- }
-
- concat::fragment { '2':
- target => '/tmp/concat/file',
- content => '2',
- order => '02',
- }
- EOS
-
- it 'applies the manifest twice with no stderr' do
- expect(apply_manifest(pp, :catch_failures => true).stderr).to eq("")
- expect(apply_manifest(pp, :catch_changes => true).stderr).to eq("")
- end
-
- describe file('/tmp/concat/file') do
- it { should be_file }
- it { should contain '# foo' }
- it { should contain '1' }
- it { should contain '2' }
- end
- end
-end
diff --git a/modules/concat/spec/spec_helper.rb b/modules/concat/spec/spec_helper.rb
deleted file mode 100644
index 2c6f566..0000000
--- a/modules/concat/spec/spec_helper.rb
+++ /dev/null
@@ -1 +0,0 @@
-require 'puppetlabs_spec_helper/module_spec_helper'
diff --git a/modules/concat/spec/spec_helper_acceptance.rb b/modules/concat/spec/spec_helper_acceptance.rb
deleted file mode 100644
index 22bd72f..0000000
--- a/modules/concat/spec/spec_helper_acceptance.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-require 'beaker-rspec/spec_helper'
-require 'beaker-rspec/helpers/serverspec'
-
-unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
- if hosts.first.is_pe?
- install_pe
- else
- install_puppet
- end
- hosts.each do |host|
- on hosts, "mkdir -p #{host['distmoduledir']}"
- end
-end
-
-RSpec.configure do |c|
- # Project root
- proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
- # Readable test descriptions
- c.formatter = :documentation
-
- # Configure all nodes in nodeset
- c.before :suite do
- # Install module and dependencies
- puppet_module_install(:source => proj_root, :module_name => 'concat')
- hosts.each do |host|
- on host, puppet('module','install','puppetlabs-stdlib'), { :acceptable_exit_codes => [0,1] }
- end
- end
-
- c.before(:all) do
- shell('mkdir -p /tmp/concat')
- end
- c.after(:all) do
- shell('rm -rf /tmp/concat /var/lib/puppet/concat')
- end
-
- c.treat_symbols_as_metadata_keys_with_true_values = true
-end
diff --git a/modules/concat/spec/unit/classes/concat_setup_spec.rb b/modules/concat/spec/unit/classes/concat_setup_spec.rb
deleted file mode 100644
index bba455a..0000000
--- a/modules/concat/spec/unit/classes/concat_setup_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-require 'spec_helper'
-
-describe 'concat::setup', :type => :class do
-
- shared_examples 'setup' do |concatdir|
- concatdir = '/foo' if concatdir.nil?
-
- let(:facts) {{ :concat_basedir => concatdir }}
-
- it do
- should contain_file("#{concatdir}/bin/concatfragments.sh").with({
- :mode => '0755',
- :source => 'puppet:///modules/concat/concatfragments.sh',
- :backup => false,
- })
- end
-
- [concatdir, "#{concatdir}/bin"].each do |file|
- it do
- should contain_file(file).with({
- :ensure => 'directory',
- :mode => '0755',
- :backup => false,
- })
- end
- end
- end
-
- context 'facts' do
- context 'concat_basedir =>' do
- context '/foo' do
- it_behaves_like 'setup', '/foo'
- end
- end
- end # facts
-
- context 'deprecated as a public class' do
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
-end
diff --git a/modules/concat/spec/unit/defines/concat_fragment_spec.rb b/modules/concat/spec/unit/defines/concat_fragment_spec.rb
deleted file mode 100644
index 3b5269e..0000000
--- a/modules/concat/spec/unit/defines/concat_fragment_spec.rb
+++ /dev/null
@@ -1,267 +0,0 @@
-require 'spec_helper'
-
-describe 'concat::fragment', :type => :define do
-
- shared_examples 'fragment' do |title, params|
- params = {} if params.nil?
-
- p = {
- :content => nil,
- :source => nil,
- :order => 10,
- :ensure => 'present',
- }.merge(params)
-
- safe_name = title.gsub(/[\/\n]/, '_')
- safe_target_name = p[:target].gsub(/[\/\n]/, '_')
- concatdir = '/var/lib/puppet/concat'
- fragdir = "#{concatdir}/#{safe_target_name}"
- id = 'root'
- if p[:ensure] == 'absent'
- safe_ensure = p[:ensure]
- else
- safe_ensure = 'file'
- end
-
- let(:title) { title }
- let(:facts) {{ :concat_basedir => concatdir, :id => id }}
- let(:params) { params }
- let(:pre_condition) do
- "concat{ '#{p[:target]}': }"
- end
-
- it do
- should contain_class('concat::setup')
- should contain_concat(p[:target])
- should contain_file("#{fragdir}/fragments/#{p[:order]}_#{safe_name}").with({
- :ensure => safe_ensure,
- :owner => id,
- :mode => '0640',
- :source => p[:source],
- :content => p[:content],
- :alias => "concat_fragment_#{title}",
- :backup => false,
- })
- end
- end
-
- context 'title' do
- ['0', '1', 'a', 'z'].each do |title|
- it_behaves_like 'fragment', title, {
- :target => '/etc/motd',
- }
- end
- end # title
-
- context 'target =>' do
- ['./etc/motd', 'etc/motd', 'motd_header'].each do |target|
- context target do
- it_behaves_like 'fragment', target, {
- :target => '/etc/motd',
- }
- end
- end
-
- context 'false' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) {{ :target => false }}
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # target =>
-
- context 'ensure =>' do
- ['present', 'absent'].each do |ens|
- context ens do
- it_behaves_like 'fragment', 'motd_header', {
- :ensure => ens,
- :target => '/etc/motd',
- }
- end
- end
-
- context 'any value other than \'present\' or \'absent\'' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) {{ :ensure => 'invalid', :target => '/etc/motd' }}
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end # ensure =>
-
- context 'content =>' do
- ['', 'ashp is our hero'].each do |content|
- context content do
- it_behaves_like 'fragment', 'motd_header', {
- :content => content,
- :target => '/etc/motd',
- }
- end
- end
-
- context 'false' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) {{ :content => false, :target => '/etc/motd' }}
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # content =>
-
- context 'source =>' do
- ['', '/foo/bar', ['/foo/bar', '/foo/baz']].each do |source|
- context source do
- it_behaves_like 'fragment', 'motd_header', {
- :source => source,
- :target => '/etc/motd',
- }
- end
- end
-
- context 'false' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) {{ :source => false, :target => '/etc/motd' }}
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string or an Array/)
- end
- end
- end # source =>
-
- context 'order =>' do
- ['', '42', 'a', 'z'].each do |order|
- context '\'\'' do
- it_behaves_like 'fragment', 'motd_header', {
- :order => order,
- :target => '/etc/motd',
- }
- end
- end
-
- context 'false' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) {{ :order => false, :target => '/etc/motd' }}
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # order =>
-
- context 'more than one content source' do
- error_msg = 'You cannot specify more than one of $content, $source, $ensure => /target'
-
- context 'ensure => target and source' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) do
- {
- :target => '/etc/motd',
- :ensure => '/foo',
- :source => '/bar',
- }
- end
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /#{Regexp.escape(error_msg)}/m)
- end
- end
-
- context 'ensure => target and content' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) do
- {
- :target => '/etc/motd',
- :ensure => '/foo',
- :content => 'bar',
- }
- end
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /#{Regexp.escape(error_msg)}/m)
- end
- end
-
- context 'source and content' do
- let(:title) { 'motd_header' }
- let(:facts) {{ :concat_basedir => '/tmp' }}
- let(:params) do
- {
- :target => '/etc/motd',
- :source => '/foo',
- :content => 'bar',
- }
- end
-
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /#{Regexp.escape(error_msg)}/m)
- end
- end
-
- end # more than one content source
-
- describe 'deprecated parameter' do
- context 'mode =>' do
- context '1755' do
- it_behaves_like 'fragment', 'motd_header', {
- :mode => '1755',
- :target => '/etc/motd',
- }
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end # mode =>
-
- context 'owner =>' do
- context 'apenny' do
- it_behaves_like 'fragment', 'motd_header', {
- :owner => 'apenny',
- :target => '/etc/motd',
- }
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end # owner =>
-
- context 'group =>' do
- context 'apenny' do
- it_behaves_like 'fragment', 'motd_header', {
- :group => 'apenny',
- :target => '/etc/motd',
- }
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end # group =>
-
- context 'backup =>' do
- context 'foo' do
- it_behaves_like 'fragment', 'motd_header', {
- :backup => 'foo',
- :target => '/etc/motd',
- }
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end # backup =>
- end # deprecated params
-
-end
diff --git a/modules/concat/spec/unit/defines/concat_spec.rb b/modules/concat/spec/unit/defines/concat_spec.rb
deleted file mode 100644
index 9fdd7b2..0000000
--- a/modules/concat/spec/unit/defines/concat_spec.rb
+++ /dev/null
@@ -1,380 +0,0 @@
-require 'spec_helper'
-
-describe 'concat', :type => :define do
-
- shared_examples 'concat' do |title, params, id|
- params = {} if params.nil?
- id = 'root' if id.nil?
-
- # default param values
- p = {
- :ensure => 'present',
- :path => title,
- :owner => nil,
- :group => nil,
- :mode => '0644',
- :warn => false,
- :force => false,
- :backup => 'puppet',
- :replace => true,
- :order => 'alpha',
- :ensure_newline => false,
- }.merge(params)
-
- safe_name = title.gsub('/', '_')
- concatdir = '/var/lib/puppet/concat'
- fragdir = "#{concatdir}/#{safe_name}"
- concat_name = 'fragments.concat.out'
- default_warn_message = '# This file is managed by Puppet. DO NOT EDIT.'
-
- file_defaults = {
- :backup => false,
- }
-
- let(:title) { title }
- let(:params) { params }
- let(:facts) {{ :concat_basedir => concatdir, :id => id }}
-
- if p[:ensure] == 'present'
- it do
- should contain_file(fragdir).with(file_defaults.merge({
- :ensure => 'directory',
- :mode => '0750',
- }))
- end
-
- it do
- should contain_file("#{fragdir}/fragments").with(file_defaults.merge({
- :ensure => 'directory',
- :mode => '0750',
- :force => true,
- :ignore => ['.svn', '.git', '.gitignore'],
- :purge => true,
- :recurse => true,
- }))
- end
-
- [
- "#{fragdir}/fragments.concat",
- "#{fragdir}/#{concat_name}",
- ].each do |file|
- it do
- should contain_file(file).with(file_defaults.merge({
- :ensure => 'present',
- :mode => '0640',
- }))
- end
- end
-
- it do
- should contain_file(title).with(file_defaults.merge({
- :ensure => 'present',
- :owner => p[:owner],
- :group => p[:group],
- :mode => p[:mode],
- :replace => p[:replace],
- :path => p[:path],
- :alias => "concat_#{title}",
- :source => "#{fragdir}/#{concat_name}",
- :backup => p[:backup],
- }))
- end
-
- cmd = "#{concatdir}/bin/concatfragments.sh " +
- "-o \"#{concatdir}/#{safe_name}/fragments.concat.out\" " +
- "-d \"#{concatdir}/#{safe_name}\""
-
- # flag order: fragdir, warnflag, forceflag, orderflag, newlineflag
- if p.has_key?(:warn)
- case p[:warn]
- when TrueClass
- message = default_warn_message
- when 'true', 'yes', 'on'
- # should generate a stringified boolean warning
- message = default_warn_message
- when FalseClass
- message = nil
- when 'false', 'no', 'off'
- # should generate a stringified boolean warning
- message = nil
- else
- message = p[:warn]
- end
-
- unless message.nil?
- cmd += " -w \'#{message}\'"
- end
- end
-
- cmd += " -f" if p[:force]
- cmd += " -n" if p[:order] == 'numeric'
- cmd += " -l" if p[:ensure_newline] == true
-
- it do
- should contain_exec("concat_#{title}").with({
- :alias => "concat_#{fragdir}",
- :command => cmd,
- :unless => "#{cmd} -t",
- })
- end
- else
- [
- fragdir,
- "#{fragdir}/fragments",
- "#{fragdir}/fragments.concat",
- "#{fragdir}/#{concat_name}",
- ].each do |file|
- it do
- should contain_file(file).with(file_defaults.merge({
- :ensure => 'absent',
- :backup => false,
- :force => true,
- }))
- end
- end
-
- it do
- should contain_file(title).with(file_defaults.merge({
- :ensure => 'absent',
- :backup => p[:backup],
- }))
- end
-
- it do
- should contain_exec("concat_#{title}").with({
- :alias => "concat_#{fragdir}",
- :command => 'true',
- :path => '/bin:/usr/bin',
- })
- end
- end
- end
-
- context 'title' do
- context 'without path param' do
- # title/name is the default value for the path param. therefore, the
- # title must be an absolute path unless path is specified
- ['/foo', '/foo/bar', '/foo/bar/baz'].each do |title|
- context title do
- it_behaves_like 'concat', '/etc/foo.bar'
- end
- end
-
- ['./foo', 'foo', 'foo/bar'].each do |title|
- context title do
- let(:title) { title }
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not an absolute path/)
- end
- end
- end
- end
-
- context 'with path param' do
- ['./foo', 'foo', 'foo/bar'].each do |title|
- context title do
- it_behaves_like 'concat', title, { :path => '/etc/foo.bar' }
- end
- end
- end
- end # title =>
-
- context 'as non-root user' do
- it_behaves_like 'concat', '/etc/foo.bar', {}, 'bob'
- end
-
- context 'ensure =>' do
- ['present', 'absent'].each do |ens|
- context ens do
- it_behaves_like 'concat', '/etc/foo.bar', { :ensure => ens }
- end
- end
-
- context 'invalid' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :ensure => 'invalid' }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /#{Regexp.escape('does not match "^present$|^absent$"')}/)
- end
- end
- end # ensure =>
-
- context 'path =>' do
- context '/foo' do
- it_behaves_like 'concat', '/etc/foo.bar', { :path => '/foo' }
- end
-
- ['./foo', 'foo', 'foo/bar', false].each do |path|
- context path do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :path => path }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not an absolute path/)
- end
- end
- end
- end # path =>
-
- context 'owner =>' do
- context 'apenney' do
- it_behaves_like 'concat', '/etc/foo.bar', { :owner => 'apenny' }
- end
-
- context 'false' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :owner => false }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # owner =>
-
- context 'group =>' do
- context 'apenney' do
- it_behaves_like 'concat', '/etc/foo.bar', { :group => 'apenny' }
- end
-
- context 'false' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :group => false }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # group =>
-
- context 'mode =>' do
- context '1755' do
- it_behaves_like 'concat', '/etc/foo.bar', { :mode => '1755' }
- end
-
- context 'false' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :mode => false }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # mode =>
-
- context 'warn =>' do
- [true, false, '# foo'].each do |warn|
- context warn do
- it_behaves_like 'concat', '/etc/foo.bar', { :warn => warn }
- end
- end
-
- context '(stringified boolean)' do
- ['true', 'yes', 'on', 'false', 'no', 'off'].each do |warn|
- context warn do
- it_behaves_like 'concat', '/etc/foo.bar', { :warn => warn }
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end
- end
-
- context '123' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :warn => 123 }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string or boolean/)
- end
- end
- end # warn =>
-
- context 'force =>' do
- [true, false].each do |force|
- context force do
- it_behaves_like 'concat', '/etc/foo.bar', { :force => force }
- end
- end
-
- context '123' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :force => 123 }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a boolean/)
- end
- end
- end # force =>
-
- context 'backup =>' do
- context 'reverse' do
- it_behaves_like 'concat', '/etc/foo.bar', { :backup => 'reverse' }
- end
-
- context 'false' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :backup => false }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a string/)
- end
- end
- end # backup =>
-
- context 'replace =>' do
- [true, false].each do |replace|
- context replace do
- it_behaves_like 'concat', '/etc/foo.bar', { :replace => replace }
- end
- end
-
- context '123' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :replace => 123 }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a boolean/)
- end
- end
- end # replace =>
-
- context 'order =>' do
- ['alpha', 'numeric'].each do |order|
- context order do
- it_behaves_like 'concat', '/etc/foo.bar', { :order => order }
- end
- end
-
- context 'invalid' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :order => 'invalid' }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /#{Regexp.escape('does not match "^alpha$|^numeric$"')}/)
- end
- end
- end # order =>
-
- context 'ensure_newline =>' do
- [true, false].each do |ensure_newline|
- context 'true' do
- it_behaves_like 'concat', '/etc/foo.bar', { :ensure_newline => ensure_newline}
- end
- end
-
- context '123' do
- let(:title) { '/etc/foo.bar' }
- let(:params) {{ :ensure_newline => 123 }}
- it 'should fail' do
- expect { should }.to raise_error(Puppet::Error, /is not a boolean/)
- end
- end
- end # ensure_newline =>
-
- describe 'deprecated parameter' do
- context 'gnu =>' do
- context 'foo' do
- it_behaves_like 'concat', '/etc/foo.bar', { :gnu => 'foo'}
-
- it 'should create a warning' do
- pending('rspec-puppet support for testing warning()')
- end
- end
- end
- end
-
-end
-
-# vim:sw=2:ts=2:expandtab:textwidth=79
diff --git a/modules/concat/spec/unit/facts/concat_basedir_spec.rb b/modules/concat/spec/unit/facts/concat_basedir_spec.rb
deleted file mode 100644
index 41bc90f..0000000
--- a/modules/concat/spec/unit/facts/concat_basedir_spec.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-require 'spec_helper'
-
-describe 'concat_basedir', :type => :fact do
- before(:each) { Facter.clear }
-
- context 'Puppet[:vardir] ==' do
- it '/var/lib/puppet' do
- Puppet.stubs(:[]).with(:vardir).returns('/var/lib/puppet')
- Facter.fact(:concat_basedir).value.should == '/var/lib/puppet/concat'
- end
-
- it '/home/apenny/.puppet/var' do
- Puppet.stubs(:[]).with(:vardir).returns('/home/apenny/.puppet/var')
- Facter.fact(:concat_basedir).value.should == '/home/apenny/.puppet/var/concat'
- end
- end
-
-end
diff --git a/modules/concat/tests/fragment.pp b/modules/concat/tests/fragment.pp
deleted file mode 100644
index a2dfaca..0000000
--- a/modules/concat/tests/fragment.pp
+++ /dev/null
@@ -1,19 +0,0 @@
-concat { 'testconcat':
- ensure => present,
- path => '/tmp/concat',
- owner => 'root',
- group => 'root',
- mode => '0664',
-}
-
-concat::fragment { '1':
- target => 'testconcat',
- content => '1',
- order => '01',
-}
-
-concat::fragment { '2':
- target => 'testconcat',
- content => '2',
- order => '02',
-}
diff --git a/modules/concat/tests/init.pp b/modules/concat/tests/init.pp
deleted file mode 100644
index fd21427..0000000
--- a/modules/concat/tests/init.pp
+++ /dev/null
@@ -1,7 +0,0 @@
-concat { '/tmp/concat':
- ensure => present,
- force => true,
- owner => 'root',
- group => 'root',
- mode => '0644',
-}
diff --git a/modules/kannel/.project b/modules/kannel/.project
deleted file mode 100644
index 52b8311..0000000
--- a/modules/kannel/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- kannel
-
-
-
-
-
- org.eclipse.xtext.ui.shared.xtextBuilder
-
-
-
-
- com.puppetlabs.geppetto.pp.dsl.ui.modulefileBuilder
-
-
-
-
-
- com.puppetlabs.geppetto.pp.dsl.ui.puppetNature
- org.eclipse.xtext.ui.shared.xtextNature
-
-
diff --git a/modules/kannel/README.markdown b/modules/kannel/README.markdown
deleted file mode 100644
index bd506d1..0000000
--- a/modules/kannel/README.markdown
+++ /dev/null
@@ -1,3 +0,0 @@
-# kannel #
-
-This is the kannel module. It provides...
diff --git a/modules/kannel/Rakefile b/modules/kannel/Rakefile
deleted file mode 100644
index 14f1c24..0000000
--- a/modules/kannel/Rakefile
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'rubygems'
-require 'puppetlabs_spec_helper/rake_tasks'
diff --git a/modules/kannel/files/kannel-default b/modules/kannel/files/kannel-default
deleted file mode 100644
index adb0f48..0000000
--- a/modules/kannel/files/kannel-default
+++ /dev/null
@@ -1,2 +0,0 @@
-#START_WAPBOX=1
-START_SMSBOX=1
diff --git a/modules/kannel/manifests/init.pp b/modules/kannel/manifests/init.pp
deleted file mode 100644
index d67c2e7..0000000
--- a/modules/kannel/manifests/init.pp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Class: kannel
-#
-# This module manages kannel
-#
-# Parameters: none
-#
-# Actions:
-#
-# Requires: see Modulefile
-#
-# Sample Usage:
-#
-class kannel (
- $kannel_bind_address = hiera('rhizo::vpn_ip_address'),
- $kannel_admin_password = hiera('rhizo::kannel_admin_password'),
- $smsc_password = hiera('rhizo::smsc_password'),
- $kannel_sendsms_password = hiera('rhizo::kannel_sendsms_password')
-) {
-
- package { 'kannel':
- ensure => purged,
- }
-
- file { '/etc/kannel/kannel.conf':
- ensure => absent,
- content => template('kannel/kannel.conf.erb'),
- require => Package['kannel'],
- }
-
- file { '/etc/default/kannel':
- ensure => absent,
- source => ['puppet:///modules/kannel/kannel-default'],
- }
-
-}
diff --git a/modules/kannel/metadata.json b/modules/kannel/metadata.json
deleted file mode 100644
index 487a78f..0000000
--- a/modules/kannel/metadata.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": "ciaby-kannel",
- "version": "0.1.0",
- "summary": "",
- "author": "",
- "description": "",
- "dependencies": [],
- "types": [],
- "checksums": {},
- "source": "",
- "project_page": "",
- "license": ""
-}
\ No newline at end of file
diff --git a/modules/kannel/spec/spec.opts b/modules/kannel/spec/spec.opts
deleted file mode 100644
index 91cd642..0000000
--- a/modules/kannel/spec/spec.opts
+++ /dev/null
@@ -1,6 +0,0 @@
---format
-s
---colour
---loadby
-mtime
---backtrace
diff --git a/modules/kannel/spec/spec_helper.rb b/modules/kannel/spec/spec_helper.rb
deleted file mode 100644
index dc7e9f4..0000000
--- a/modules/kannel/spec/spec_helper.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'rubygems'
-require 'puppetlabs_spec_helper/module_spec_helper'
diff --git a/modules/kannel/templates/kannel.conf.erb b/modules/kannel/templates/kannel.conf.erb
deleted file mode 100644
index d953fd3..0000000
--- a/modules/kannel/templates/kannel.conf.erb
+++ /dev/null
@@ -1,67 +0,0 @@
-group = core
-admin-port = 14000
-admin-password = <%= @kannel_admin_password %>
-log-file = "/var/log/kannel/bearerbox.log"
-log-level = 0
-access-log = "/var/log/kannel/bearerbox_access.log"
-# Smsbox related
-smsbox-port = 14001
-#box-deny-ip = "*.*.*.*"
-#box-allow-ip = "127.0.0.1"
-#sms-resend-retry = 2
-
-
-# SMSC SMPP
-group = smsc
-smsc = smpp
-smsc-id = KSMPP
-host = 127.0.0.1
-port = 2775
-#receive-port = 2775
-interface-version=34
-# alt-charset = ISO-8859-1
-enquire-link-interval = 10
-connect-allow-ip = 127.0.0.1
-transceiver-mode = true
-smsc-username = OSMPP
-smsc-password = <%= @smsc_password %>
-system-type = kannel
-connection-timeout = 10
-reconnect-delay = 10
-
-
-group = smsbox-route
-smsbox-id = mysm
-smsc-id = KSMPP
-
-
-# receive SMS
-group = sms-service
-#keyword =
-keyword-regex = .*
-catch-all = yes
-max-messages = 0
-post-url = "http://localhost:8085/sms?source=%p&destination=%P&charset=%C&coding=%c&text=%a&btext=%b&dr=%d&dcs=%O"
-
-
-# send to web cgi
-group = sendsms-user
-default-smsc = KSMPP
-username = rhizomatica
-password = <%= @kannel_sendsms_password %>
-concatenation = true
-max-messages = 6
-
-
-# SMSBOX SETUP
-group = smsbox
-#smsbox-port = 14001
-sendsms-port = 14002
-smsbox-id = mysm
-#mo-recode=true
-#immediate-sendsms-reply = true
-bearerbox-host = 127.0.0.1
-bearerbox-port = 14001
-log-file = "/var/log/kannel/smsbox.log"
-log-level = 0
-access-log = "/var/log/kannel/smsbox_access.log"
diff --git a/modules/kannel/tests/init.pp b/modules/kannel/tests/init.pp
deleted file mode 100644
index 38779a4..0000000
--- a/modules/kannel/tests/init.pp
+++ /dev/null
@@ -1 +0,0 @@
-include kannel
diff --git a/modules/packagecloud b/modules/packagecloud
deleted file mode 160000
index 63d7e7a..0000000
--- a/modules/packagecloud
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 63d7e7aad5f82acaa0b2ae9ca44cdd1146f5fb84
diff --git a/modules/postgresql b/modules/postgresql
index 9ca4b42..eb04c05 160000
--- a/modules/postgresql
+++ b/modules/postgresql
@@ -1 +1 @@
-Subproject commit 9ca4b42450ea9c9ed8eec52dac48cb67187ae925
+Subproject commit eb04c05f768b67d7d655ff4d1d5da36bb391d5df
diff --git a/modules/python b/modules/python
index 9b1d26b..a7ed33c 160000
--- a/modules/python
+++ b/modules/python
@@ -1 +1 @@
-Subproject commit 9b1d26bba9b063193259033772a7b34eef349e3b
+Subproject commit a7ed33c5cf5584cb24b6ac1e00f8d784f236c614
diff --git a/modules/rhizo_base/manifests/riak.pp b/modules/rhizo_base/manifests/riak.pp
deleted file mode 100644
index a2daff9..0000000
--- a/modules/rhizo_base/manifests/riak.pp
+++ /dev/null
@@ -1,79 +0,0 @@
-# Class: rhizo_base::riak
-#
-# This module manages the Riak database
-#
-# Parameters: none
-#
-# Actions:
-#
-# Requires: see Modulefile
-#
-# Sample Usage:
-#
-class rhizo_base::riak {
-
- $vpn_ip_address = $rhizo_base::vpn_ip_address
- $riak_ip_address = $rhizo_base::riak_ip_address
-
- include packagecloud
-
- packagecloud::repo { 'basho/riak':
- type => 'deb',
- } ->
- class { '::riak':
- package_name => 'riak', # default
- service_name => 'riak', # default
- manage_package => true, # default
- manage_repo => false,
- version => 'latest', # default, use a package version if desired
- # settings in the settings hash are written directly to settings.conf.
- settings => {
- 'anti_entropy' => 'active',
- 'bitcask.data_root' => '$(platform_data_dir)/bitcask',
- 'bitcask.io_mode' => 'erlang',
- 'distributed_cookie' => 'riak',
- 'dtrace' => 'off',
- 'erlang.async_threads' => '64',
- 'erlang.max_ports' => '65536',
- 'leveldb.maximum_memory.percent' => '70',
- 'listener.http.internal' => "${vpn_ip_address}:8098",
- 'listener.protobuf.internal' => "${vpn_ip_address}:8087",
- 'log.console' => 'file',
- 'log.console.file' => '$(platform_log_dir)/console.log',
- 'log.console.level' => 'info',
- 'log.crash.file' => '$(platform_log_dir)/crash.log',
- 'log.crash.maximum_message_size' => '64KB',
- 'log.crash' => 'on',
- 'log.crash.rotation' => '$D0',
- 'log.crash.rotation.keep' => '5',
- 'log.crash.size' => '10MB',
- 'log.error.file' => '$(platform_log_dir)/error.log',
- 'log.syslog' => 'off',
- 'nodename' => "riak@${vpn_ip_address}",
- 'object.format' => '1',
- 'object.siblings.maximum' => '100',
- 'object.siblings.warning_threshold' => '25',
- 'object.size.maximum' => '50MB',
- 'object.size.warning_threshold' => '5MB',
- 'platform_bin_dir' => '/usr/sbin',
- 'platform_data_dir' => '/var/lib/riak',
- 'platform_etc_dir' => '/etc/riak',
- 'platform_lib_dir' => '/usr/lib64/riak/lib',
- 'platform_log_dir' => '/var/log/riak',
- 'riak_control.auth.mode' => 'off',
- 'riak_control' => 'off',
- 'search' => 'off',
- 'search.solr.jmx_port' => '8985',
- 'search.solr.jvm_options' => '-d64 -Xms1g -Xmx1g -XX:+UseStringCache -XX:+UseCompressedOops',
- 'search.solr.port' => '8093',
- 'search.solr.start_timeout' => '30s',
- 'storage_backend' => 'leveldb',
- }
- }
-
- exec { 'insserv':
- command => '/usr/lib/insserv/insserv',
- refreshonly => true,
- }
-
- }
diff --git a/modules/riak b/modules/riak
deleted file mode 160000
index 84e01ad..0000000
--- a/modules/riak
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 84e01ad925be944f3d11b1fb573e784a960f9ad8
diff --git a/modules/stdlib b/modules/stdlib
new file mode 160000
index 0000000..b0d99ad
--- /dev/null
+++ b/modules/stdlib
@@ -0,0 +1 @@
+Subproject commit b0d99ad6f1c87c4f0115e08b3bade8c736cc7f64
diff --git a/modules/stdlib/CHANGELOG.md b/modules/stdlib/CHANGELOG.md
deleted file mode 100644
index 97979bf..0000000
--- a/modules/stdlib/CHANGELOG.md
+++ /dev/null
@@ -1,418 +0,0 @@
-##2014-06-04 - Release 4.2.2
-### Summary
-
-This release adds PE3.3 support in the metadata and fixes a few tests.
-
-## 2014-05-08 - Release - 4.2.1
-### Summary
-This release moves a stray symlink that can cause problems.
-
-## 2014-05-08 - Release - 4.2.0
-### Summary
-This release adds many new functions and fixes, and continues to be backwards compatible with stdlib 3.x
-
-#### Features
-- New `base64()` function
-- New `deep_merge()` function
-- New `delete_undef_values()` function
-- New `delete_values()` function
-- New `difference()` function
-- New `intersection()` function
-- New `is_bool()` function
-- New `pick_default()` function
-- New `union()` function
-- New `validate_ipv4_address` function
-- New `validate_ipv6_address` function
-- Update `ensure_packages()` to take an option hash as a second parameter.
-- Update `range()` to take an optional third argument for range step
-- Update `validate_slength()` to take an optional third argument for minimum length
-- Update `file_line` resource to take `after` and `multiple` attributes
-
-#### Bugfixes
-- Correct `is_string`, `is_domain_name`, `is_array`, `is_float`, and `is_function_available` for parsing odd types such as bools and hashes.
-- Allow facts.d facts to contain `=` in the value
-- Fix `root_home` fact on darwin systems
-- Fix `concat()` to work with a second non-array argument
-- Fix `floor()` to work with integer strings
-- Fix `is_integer()` to return true if passed integer strings
-- Fix `is_numeric()` to return true if passed integer strings
-- Fix `merge()` to work with empty strings
-- Fix `pick()` to raise the correct error type
-- Fix `uriescape()` to use the default URI.escape list
-- Add/update unit & acceptance tests.
-
-
-##2014-03-04 - Supported Release - 3.2.1
-###Summary
-This is a supported release
-
-####Bugfixes
-- Fixed `is_integer`/`is_float`/`is_numeric` for checking the value of arithmatic expressions.
-
-####Known bugs
-* No known bugs
-
----
-
-##### 2013-05-06 - Jeff McCune - 4.1.0
-
- * (#20582) Restore facter\_dot\_d to stdlib for PE users (3b887c8)
- * (maint) Update Gemfile with GEM\_FACTER\_VERSION (f44d535)
-
-##### 2013-05-06 - Alex Cline - 4.1.0
-
- * Terser method of string to array conversion courtesy of ethooz. (d38bce0)
-
-##### 2013-05-06 - Alex Cline 4.1.0
-
- * Refactor ensure\_resource expectations (b33cc24)
-
-##### 2013-05-06 - Alex Cline 4.1.0
-
- * Changed str-to-array conversion and removed abbreviation. (de253db)
-
-##### 2013-05-03 - Alex Cline 4.1.0
-
- * (#20548) Allow an array of resource titles to be passed into the ensure\_resource function (e08734a)
-
-##### 2013-05-02 - Raphaël Pinson - 4.1.0
-
- * Add a dirname function (2ba9e47)
-
-##### 2013-04-29 - Mark Smith-Guerrero - 4.1.0
-
- * (maint) Fix a small typo in hash() description (928036a)
-
-##### 2013-04-12 - Jeff McCune - 4.0.2
-
- * Update user information in gemspec to make the intent of the Gem clear.
-
-##### 2013-04-11 - Jeff McCune - 4.0.1
-
- * Fix README function documentation (ab3e30c)
-
-##### 2013-04-11 - Jeff McCune - 4.0.0
-
- * stdlib 4.0 drops support with Puppet 2.7
- * stdlib 4.0 preserves support with Puppet 3
-
-##### 2013-04-11 - Jeff McCune - 4.0.0
-
- * Add ability to use puppet from git via bundler (9c5805f)
-
-##### 2013-04-10 - Jeff McCune - 4.0.0
-
- * (maint) Make stdlib usable as a Ruby GEM (e81a45e)
-
-##### 2013-04-10 - Erik Dalén - 4.0.0
-
- * Add a count function (f28550e)
-
-##### 2013-03-31 - Amos Shapira - 4.0.0
-
- * (#19998) Implement any2array (7a2fb80)
-
-##### 2013-03-29 - Steve Huff - 4.0.0
-
- * (19864) num2bool match fix (8d217f0)
-
-##### 2013-03-20 - Erik Dalén - 4.0.0
-
- * Allow comparisons of Numeric and number as String (ff5dd5d)
-
-##### 2013-03-26 - Richard Soderberg - 4.0.0
-
- * add suffix function to accompany the prefix function (88a93ac)
-
-##### 2013-03-19 - Kristof Willaert - 4.0.0
-
- * Add floor function implementation and unit tests (0527341)
-
-##### 2012-04-03 - Eric Shamow - 4.0.0
-
- * (#13610) Add is\_function\_available to stdlib (961dcab)
-
-##### 2012-12-17 - Justin Lambert - 4.0.0
-
- * str2bool should return a boolean if called with a boolean (5d5a4d4)
-
-##### 2012-10-23 - Uwe Stuehler - 4.0.0
-
- * Fix number of arguments check in flatten() (e80207b)
-
-##### 2013-03-11 - Jeff McCune - 4.0.0
-
- * Add contributing document (96e19d0)
-
-##### 2013-03-04 - Raphaël Pinson - 4.0.0
-
- * Add missing documentation for validate\_augeas and validate\_cmd to README.markdown (a1510a1)
-
-##### 2013-02-14 - Joshua Hoblitt - 4.0.0
-
- * (#19272) Add has\_element() function (95cf3fe)
-
-##### 2013-02-07 - Raphaël Pinson - 4.0.0
-
- * validate\_cmd(): Use Puppet::Util::Execution.execute when available (69248df)
-
-##### 2012-12-06 - Raphaël Pinson - 4.0.0
-
- * Add validate\_augeas function (3a97c23)
-
-##### 2012-12-06 - Raphaël Pinson - 4.0.0
-
- * Add validate\_cmd function (6902cc5)
-
-##### 2013-01-14 - David Schmitt - 4.0.0
-
- * Add geppetto project definition (b3fc0a3)
-
-##### 2013-01-02 - Jaka Hudoklin - 4.0.0
-
- * Add getparam function to get defined resource parameters (20e0e07)
-
-##### 2013-01-05 - Jeff McCune - 4.0.0
-
- * (maint) Add Travis CI Support (d082046)
-
-##### 2012-12-04 - Jeff McCune - 4.0.0
-
- * Clarify that stdlib 3 supports Puppet 3 (3a6085f)
-
-##### 2012-11-30 - Erik Dalén - 4.0.0
-
- * maint: style guideline fixes (7742e5f)
-
-##### 2012-11-09 - James Fryman - 4.0.0
-
- * puppet-lint cleanup (88acc52)
-
-##### 2012-11-06 - Joe Julian - 4.0.0
-
- * Add function, uriescape, to URI.escape strings. Redmine #17459 (fd52b8d)
-
-##### 2012-09-18 - Chad Metcalf - 3.2.0
-
- * Add an ensure\_packages function. (8a8c09e)
-
-##### 2012-11-23 - Erik Dalén - 3.2.0
-
- * (#17797) min() and max() functions (9954133)
-
-##### 2012-05-23 - Peter Meier - 3.2.0
-
- * (#14670) autorequire a file\_line resource's path (dfcee63)
-
-##### 2012-11-19 - Joshua Harlan Lifton - 3.2.0
-
- * Add join\_keys\_to\_values function (ee0f2b3)
-
-##### 2012-11-17 - Joshua Harlan Lifton - 3.2.0
-
- * Extend delete function for strings and hashes (7322e4d)
-
-##### 2012-08-03 - Gary Larizza - 3.2.0
-
- * Add the pick() function (ba6dd13)
-
-##### 2012-03-20 - Wil Cooley - 3.2.0
-
- * (#13974) Add predicate functions for interface facts (f819417)
-
-##### 2012-11-06 - Joe Julian - 3.2.0
-
- * Add function, uriescape, to URI.escape strings. Redmine #17459 (70f4a0e)
-
-##### 2012-10-25 - Jeff McCune - 3.1.1
-
- * (maint) Fix spec failures resulting from Facter API changes (97f836f)
-
-##### 2012-10-23 - Matthaus Owens - 3.1.0
-
- * Add PE facts to stdlib (cdf3b05)
-
-##### 2012-08-16 - Jeff McCune - 3.0.1
-
- * Fix accidental removal of facts\_dot\_d.rb in 3.0.0 release
-
-##### 2012-08-16 - Jeff McCune - 3.0.0
-
- * stdlib 3.0 drops support with Puppet 2.6
- * stdlib 3.0 preserves support with Puppet 2.7
-
-##### 2012-08-07 - Dan Bode - 3.0.0
-
- * Add function ensure\_resource and defined\_with\_params (ba789de)
-
-##### 2012-07-10 - Hailee Kenney - 3.0.0
-
- * (#2157) Remove facter\_dot\_d for compatibility with external facts (f92574f)
-
-##### 2012-04-10 - Chris Price - 3.0.0
-
- * (#13693) moving logic from local spec\_helper to puppetlabs\_spec\_helper (85f96df)
-
-##### 2012-10-25 - Jeff McCune - 2.5.1
-
- * (maint) Fix spec failures resulting from Facter API changes (97f836f)
-
-##### 2012-10-23 - Matthaus Owens - 2.5.0
-
- * Add PE facts to stdlib (cdf3b05)
-
-##### 2012-08-15 - Dan Bode - 2.5.0
-
- * Explicitly load functions used by ensure\_resource (9fc3063)
-
-##### 2012-08-13 - Dan Bode - 2.5.0
-
- * Add better docs about duplicate resource failures (97d327a)
-
-##### 2012-08-13 - Dan Bode - 2.5.0
-
- * Handle undef for parameter argument (4f8b133)
-
-##### 2012-08-07 - Dan Bode - 2.5.0
-
- * Add function ensure\_resource and defined\_with\_params (a0cb8cd)
-
-##### 2012-08-20 - Jeff McCune - 2.5.0
-
- * Disable tests that fail on 2.6.x due to #15912 (c81496e)
-
-##### 2012-08-20 - Jeff McCune - 2.5.0
-
- * (Maint) Fix mis-use of rvalue functions as statements (4492913)
-
-##### 2012-08-20 - Jeff McCune - 2.5.0
-
- * Add .rspec file to repo root (88789e8)
-
-##### 2012-06-07 - Chris Price - 2.4.0
-
- * Add support for a 'match' parameter to file\_line (a06c0d8)
-
-##### 2012-08-07 - Erik Dalén - 2.4.0
-
- * (#15872) Add to\_bytes function (247b69c)
-
-##### 2012-07-19 - Jeff McCune - 2.4.0
-
- * (Maint) use PuppetlabsSpec::PuppetInternals.scope (master) (deafe88)
-
-##### 2012-07-10 - Hailee Kenney - 2.4.0
-
- * (#2157) Make facts\_dot\_d compatible with external facts (5fb0ddc)
-
-##### 2012-03-16 - Steve Traylen - 2.4.0
-
- * (#13205) Rotate array/string randomley based on fqdn, fqdn\_rotate() (fef247b)
-
-##### 2012-05-22 - Peter Meier - 2.3.3
-
- * fix regression in #11017 properly (f0a62c7)
-
-##### 2012-05-10 - Jeff McCune - 2.3.3
-
- * Fix spec tests using the new spec\_helper (7d34333)
-
-##### 2012-05-10 - Puppet Labs - 2.3.2
-
- * Make file\_line default to ensure => present (1373e70)
- * Memoize file\_line spec instance variables (20aacc5)
- * Fix spec tests using the new spec\_helper (1ebfa5d)
- * (#13595) initialize\_everything\_for\_tests couples modules Puppet ver (3222f35)
- * (#13439) Fix MRI 1.9 issue with spec\_helper (15c5fd1)
- * (#13439) Fix test failures with Puppet 2.6.x (665610b)
- * (#13439) refactor spec helper for compatibility with both puppet 2.7 and master (82194ca)
- * (#13494) Specify the behavior of zero padded strings (61891bb)
-
-##### 2012-03-29 Puppet Labs - 2.1.3
-
-* (#11607) Add Rakefile to enable spec testing
-* (#12377) Avoid infinite loop when retrying require json
-
-##### 2012-03-13 Puppet Labs - 2.3.1
-
-* (#13091) Fix LoadError bug with puppet apply and puppet\_vardir fact
-
-##### 2012-03-12 Puppet Labs - 2.3.0
-
-* Add a large number of new Puppet functions
-* Backwards compatibility preserved with 2.2.x
-
-##### 2011-12-30 Puppet Labs - 2.2.1
-
-* Documentation only release for the Forge
-
-##### 2011-12-30 Puppet Labs - 2.1.2
-
-* Documentation only release for PE 2.0.x
-
-##### 2011-11-08 Puppet Labs - 2.2.0
-
-* #10285 - Refactor json to use pson instead.
-* Maint - Add watchr autotest script
-* Maint - Make rspec tests work with Puppet 2.6.4
-* #9859 - Add root\_home fact and tests
-
-##### 2011-08-18 Puppet Labs - 2.1.1
-
-* Change facts.d paths to match Facter 2.0 paths.
-* /etc/facter/facts.d
-* /etc/puppetlabs/facter/facts.d
-
-##### 2011-08-17 Puppet Labs - 2.1.0
-
-* Add R.I. Pienaar's facts.d custom facter fact
-* facts defined in /etc/facts.d and /etc/puppetlabs/facts.d are
- automatically loaded now.
-
-##### 2011-08-04 Puppet Labs - 2.0.0
-
-* Rename whole\_line to file\_line
-* This is an API change and as such motivating a 2.0.0 release according to semver.org.
-
-##### 2011-08-04 Puppet Labs - 1.1.0
-
-* Rename append\_line to whole\_line
-* This is an API change and as such motivating a 1.1.0 release.
-
-##### 2011-08-04 Puppet Labs - 1.0.0
-
-* Initial stable release
-* Add validate\_array and validate\_string functions
-* Make merge() function work with Ruby 1.8.5
-* Add hash merging function
-* Add has\_key function
-* Add loadyaml() function
-* Add append\_line native
-
-##### 2011-06-21 Jeff McCune - 0.1.7
-
-* Add validate\_hash() and getvar() functions
-
-##### 2011-06-15 Jeff McCune - 0.1.6
-
-* Add anchor resource type to provide containment for composite classes
-
-##### 2011-06-03 Jeff McCune - 0.1.5
-
-* Add validate\_bool() function to stdlib
-
-##### 0.1.4 2011-05-26 Jeff McCune
-
-* Move most stages after main
-
-##### 0.1.3 2011-05-25 Jeff McCune
-
-* Add validate\_re() function
-
-##### 0.1.2 2011-05-24 Jeff McCune
-
-* Update to add annotated tag
-
-##### 0.1.1 2011-05-24 Jeff McCune
-
-* Add stdlib::stages class with a standard set of stages
diff --git a/modules/stdlib/CONTRIBUTING.md b/modules/stdlib/CONTRIBUTING.md
deleted file mode 100644
index 5280da1..0000000
--- a/modules/stdlib/CONTRIBUTING.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# How to contribute
-
-Third-party patches are essential for keeping stdlib great. We simply can't
-access the huge number of platforms and myriad configurations for running
-stdlib. We want to keep it as easy as possible to contribute changes that
-get things working in your environment. There are a few guidelines that we
-need contributors to follow so that we can have a chance of keeping on
-top of things.
-
-## Getting Started
-
-* Make sure you have a [Jira account](http://tickets.puppetlabs.com)
-* Make sure you have a [GitHub account](https://github.com/signup/free)
-* Submit a ticket for your issue, assuming one does not already exist.
- * Clearly describe the issue including steps to reproduce when it is a bug.
- * Make sure you fill in the earliest version that you know has the issue.
-* Fork the repository on GitHub
-
-## Making Changes
-
-* Create a topic branch from where you want to base your work.
- * This is usually the master branch.
- * Only target release branches if you are certain your fix must be on that
- branch.
- * To quickly create a topic branch based on master; `git branch
- fix/master/my_contribution master` then checkout the new branch with `git
- checkout fix/master/my_contribution`. Please avoid working directly on the
- `master` branch.
-* Make commits of logical units.
-* Check for unnecessary whitespace with `git diff --check` before committing.
-* Make sure your commit messages are in the proper format.
-
-````
- (#99999) Make the example in CONTRIBUTING imperative and concrete
-
- Without this patch applied the example commit message in the CONTRIBUTING
- document is not a concrete example. This is a problem because the
- contributor is left to imagine what the commit message should look like
- based on a description rather than an example. This patch fixes the
- problem by making the example concrete and imperative.
-
- The first line is a real life imperative statement with a ticket number
- from our issue tracker. The body describes the behavior without the patch,
- why this is a problem, and how the patch fixes the problem when applied.
-````
-
-* Make sure you have added the necessary tests for your changes.
-* Run _all_ the tests to assure nothing else was accidentally broken.
-
-## Submitting Changes
-
-* Sign the [Contributor License Agreement](http://links.puppetlabs.com/cla).
-* Push your changes to a topic branch in your fork of the repository.
-* Submit a pull request to the repository in the puppetlabs organization.
-* Update your ticket to mark that you have submitted code and are ready for it to be reviewed.
- * Include a link to the pull request in the ticket
-
-# Additional Resources
-
-* [More information on contributing](http://links.puppetlabs.com/contribute-to-puppet)
-* [Bug tracker (Jira)](http://tickets.puppetlabs.com)
-* [Contributor License Agreement](http://links.puppetlabs.com/cla)
-* [General GitHub documentation](http://help.github.com/)
-* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
-* #puppet-dev IRC channel on freenode.org
diff --git a/modules/stdlib/Gemfile b/modules/stdlib/Gemfile
deleted file mode 100644
index bbef720..0000000
--- a/modules/stdlib/Gemfile
+++ /dev/null
@@ -1,33 +0,0 @@
-source ENV['GEM_SOURCE'] || 'https://rubygems.org'
-
-def location_for(place, fake_version = nil)
- if place =~ /^(git[:@][^#]*)#(.*)/
- [fake_version, { :git => $1, :branch => $2, :require => false }].compact
- elsif place =~ /^file:\/\/(.*)/
- ['>= 0', { :path => File.expand_path($1), :require => false }]
- else
- [place, { :require => false }]
- end
-end
-
-group :development, :test do
- gem 'rake', '~> 10.1.0', :require => false
- gem 'rspec-puppet', :require => false
- gem 'puppetlabs_spec_helper', :require => false
- gem 'serverspec', :require => false
- gem 'puppet-lint', :require => false
- gem 'pry', :require => false
- gem 'simplecov', :require => false
- gem 'beaker', :require => false
- gem 'beaker-rspec', :require => false
-end
-
-ENV['GEM_PUPPET_VERSION'] ||= ENV['PUPPET_GEM_VERSION']
-puppetversion = ENV['GEM_PUPPET_VERSION']
-if puppetversion
- gem 'puppet', *location_for(puppetversion)
-else
- gem 'puppet', :require => false
-end
-
-# vim:ft=ruby
diff --git a/modules/stdlib/Gemfile.lock b/modules/stdlib/Gemfile.lock
deleted file mode 100644
index 402a3ea..0000000
--- a/modules/stdlib/Gemfile.lock
+++ /dev/null
@@ -1,166 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- CFPropertyList (2.2.8)
- addressable (2.3.6)
- archive-tar-minitar (0.5.2)
- autoparse (0.3.3)
- addressable (>= 2.3.1)
- extlib (>= 0.9.15)
- multi_json (>= 1.0.0)
- aws-sdk (1.42.0)
- json (~> 1.4)
- nokogiri (>= 1.4.4)
- beaker (1.12.1)
- aws-sdk (~> 1.38)
- blimpy (~> 0.6)
- docker-api
- fission (~> 0.4)
- google-api-client (~> 0.7.1)
- inifile (~> 2.0)
- json (~> 1.8)
- mime-types (~> 1.25)
- net-scp (~> 1.1)
- net-ssh (~> 2.6)
- nokogiri (= 1.5.10)
- rbvmomi (= 1.8.1)
- unf (~> 0.1)
- beaker-rspec (2.2.4)
- beaker (~> 1.10)
- rspec (~> 2.14)
- serverspec (~> 1.0)
- specinfra (~> 1.0)
- blimpy (0.6.7)
- fog
- minitar
- thor
- builder (3.2.2)
- coderay (1.1.0)
- diff-lcs (1.2.5)
- docile (1.1.3)
- docker-api (1.11.0)
- archive-tar-minitar
- excon (>= 0.34.0)
- json
- excon (0.34.0)
- extlib (0.9.16)
- facter (2.0.1)
- CFPropertyList (~> 2.2.6)
- faraday (0.9.0)
- multipart-post (>= 1.2, < 3)
- fission (0.5.0)
- CFPropertyList (~> 2.2)
- fog (1.11.1)
- builder
- excon (~> 0.20)
- formatador (~> 0.2.0)
- json (~> 1.7)
- mime-types
- net-scp (~> 1.1)
- net-ssh (>= 2.1.3)
- nokogiri (~> 1.5.0)
- ruby-hmac
- formatador (0.2.5)
- google-api-client (0.7.1)
- addressable (>= 2.3.2)
- autoparse (>= 0.3.3)
- extlib (>= 0.9.15)
- faraday (>= 0.9.0)
- jwt (>= 0.1.5)
- launchy (>= 2.1.1)
- multi_json (>= 1.0.0)
- retriable (>= 1.4)
- signet (>= 0.5.0)
- uuidtools (>= 2.1.0)
- hiera (1.3.3)
- json_pure
- highline (1.6.21)
- inifile (2.0.2)
- json (1.8.1)
- json_pure (1.8.1)
- jwt (1.0.0)
- launchy (2.4.2)
- addressable (~> 2.3)
- metaclass (0.0.4)
- method_source (0.8.2)
- mime-types (1.25.1)
- minitar (0.5.4)
- mocha (1.1.0)
- metaclass (~> 0.0.1)
- multi_json (1.10.1)
- multipart-post (2.0.0)
- net-scp (1.2.1)
- net-ssh (>= 2.6.5)
- net-ssh (2.9.1)
- nokogiri (1.5.10)
- pry (0.9.12.6)
- coderay (~> 1.0)
- method_source (~> 0.8)
- slop (~> 3.4)
- puppet (3.6.1)
- facter (> 1.6, < 3)
- hiera (~> 1.0)
- json_pure
- rgen (~> 0.6.5)
- puppet-lint (0.3.2)
- puppetlabs_spec_helper (0.4.1)
- mocha (>= 0.10.5)
- rake
- rspec (>= 2.9.0)
- rspec-puppet (>= 0.1.1)
- rake (10.1.1)
- rbvmomi (1.8.1)
- builder
- nokogiri (>= 1.4.1)
- trollop
- retriable (1.4.1)
- rgen (0.6.6)
- rspec (2.99.0)
- rspec-core (~> 2.99.0)
- rspec-expectations (~> 2.99.0)
- rspec-mocks (~> 2.99.0)
- rspec-core (2.99.0)
- rspec-expectations (2.99.0)
- diff-lcs (>= 1.1.3, < 2.0)
- rspec-mocks (2.99.0)
- rspec-puppet (1.0.1)
- rspec
- ruby-hmac (0.4.0)
- serverspec (1.7.0)
- highline
- net-ssh
- rspec (~> 2.13)
- specinfra (~> 1.13)
- signet (0.5.0)
- addressable (>= 2.2.3)
- faraday (>= 0.9.0.rc5)
- jwt (>= 0.1.5)
- multi_json (>= 1.0.0)
- simplecov (0.8.2)
- docile (~> 1.1.0)
- multi_json
- simplecov-html (~> 0.8.0)
- simplecov-html (0.8.0)
- slop (3.5.0)
- specinfra (1.15.0)
- thor (0.19.1)
- trollop (2.0)
- unf (0.1.4)
- unf_ext
- unf_ext (0.0.6)
- uuidtools (2.1.4)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- beaker
- beaker-rspec (= 2.2.4)
- pry
- puppet
- puppet-lint
- puppetlabs_spec_helper
- rake (~> 10.1.0)
- rspec-puppet
- serverspec
- simplecov
diff --git a/modules/stdlib/LICENSE b/modules/stdlib/LICENSE
deleted file mode 100644
index ec0587c..0000000
--- a/modules/stdlib/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2011 Puppet Labs Inc
-
-and some parts:
-
-Copyright (C) 2011 Krzysztof Wilczynski
-
-Puppet Labs can be contacted at: info@puppetlabs.com
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/modules/stdlib/Modulefile b/modules/stdlib/Modulefile
deleted file mode 100644
index bf80e3b..0000000
--- a/modules/stdlib/Modulefile
+++ /dev/null
@@ -1,11 +0,0 @@
-name 'puppetlabs-stdlib'
-version '4.2.2'
-source 'git://github.com/puppetlabs/puppetlabs-stdlib.git'
-author 'puppetlabs'
-license 'Apache 2.0'
-summary 'Puppet Module Standard Library'
-description 'Standard Library for Puppet Modules'
-project_page 'https://github.com/puppetlabs/puppetlabs-stdlib'
-
-## Add dependencies, if any:
-# dependency 'username/name', '>= 1.2.0'
diff --git a/modules/stdlib/README.markdown b/modules/stdlib/README.markdown
deleted file mode 100644
index e9ad53b..0000000
--- a/modules/stdlib/README.markdown
+++ /dev/null
@@ -1,1304 +0,0 @@
-# Puppet Labs Standard Library #
-
-[](https://travis-ci.org/puppetlabs/puppetlabs-stdlib)
-
-This module provides a "standard library" of resources for developing Puppet
-Modules. This modules will include the following additions to Puppet
-
- * Stages
- * Facts
- * Functions
- * Defined resource types
- * Types
- * Providers
-
-This module is officially curated and provided by Puppet Labs. The modules
-Puppet Labs writes and distributes will make heavy use of this standard
-library.
-
-To report or research a bug with any part of this module, please go to
-[http://tickets.puppetlabs.com/browse/PUP](http://tickets.puppetlabs.com/browse/PUP)
-
-# Versions #
-
-This module follows semver.org (v1.0.0) versioning guidelines. The standard
-library module is released as part of [Puppet
-Enterprise](http://puppetlabs.com/puppet/puppet-enterprise/) and as a result
-older versions of Puppet Enterprise that Puppet Labs still supports will have
-bugfix maintenance branches periodically "merged up" into master. The current
-list of integration branches are:
-
- * v2.1.x (v2.1.1 released in PE 1)
- * v2.2.x (Never released as part of PE, only to the Forge)
- * v2.3.x (Released in PE 2)
- * v3.0.x (Released in PE 3)
- * v4.0.x (Maintains compatibility with v3.x despite the major semantic version bump. Compatible with Puppet 2.7.x)
- * v5.x (To be released when stdlib can drop support for Puppet 2.7.x. Please see [this discussion](https://github.com/puppetlabs/puppetlabs-stdlib/pull/176#issuecomment-30251414))
- * master (mainline development branch)
-
-The first Puppet Enterprise version including the stdlib module is Puppet
-Enterprise 1.2.
-
-# Compatibility #
-
-Puppet Versions | < 2.6 | 2.6 | 2.7 | 3.x |
-:---------------|:-----:|:---:|:---:|:----:
-**stdlib 2.x** | no | **yes** | **yes** | no
-**stdlib 3.x** | no | no | **yes** | **yes**
-**stdlib 4.x** | no | no | **yes** | **yes**
-
-The stdlib module does not work with Puppet versions released prior to Puppet
-2.6.0.
-
-## stdlib 2.x ##
-
-All stdlib releases in the 2.0 major version support Puppet 2.6 and Puppet 2.7.
-
-## stdlib 3.x ##
-
-The 3.0 major release of stdlib drops support for Puppet 2.6. Stdlib 3.x
-supports Puppet 2 and Puppet 3.
-
-## stdlib 4.x ##
-
-The 4.0 major release of stdlib was intended to drop support for Puppet 2.7,
-but the impact on end users was too high. The decision was made to treat
-stdlib 4.x as a continuation of stdlib 3.x support. Stdlib 4.x supports Puppet
-2.7 and 3. Notably, ruby 1.8.5 is no longer supported though ruby
-1.8.7, 1.9.3, and 2.0.0 are fully supported.
-
-# Functions #
-
-abs
----
-Returns the absolute value of a number, for example -34.56 becomes
-34.56. Takes a single integer and float value as an argument.
-
-
-- *Type*: rvalue
-
-any2array
----------
-This converts any object to an array containing that object. Empty argument
-lists are converted to an empty array. Arrays are left untouched. Hashes are
-converted to arrays of alternating keys and values.
-
-
-- *Type*: rvalue
-
-base64
---------
-Converts a string to and from base64 encoding.
-Requires an action ['encode','decode'] and either a plain or base64 encoded
-string
-
-
-- *Type*: rvalue
-
-bool2num
---------
-Converts a boolean to a number. Converts the values:
-false, f, 0, n, and no to 0
-true, t, 1, y, and yes to 1
- Requires a single boolean or string as an input.
-
-
-- *Type*: rvalue
-
-capitalize
-----------
-Capitalizes the first letter of a string or array of strings.
-Requires either a single string or an array as an input.
-
-
-- *Type*: rvalue
-
-chomp
------
-Removes the record separator from the end of a string or an array of
-strings, for example `hello\n` becomes `hello`.
-Requires a single string or array as an input.
-
-
-- *Type*: rvalue
-
-chop
-----
-Returns a new string with the last character removed. If the string ends
-with `\r\n`, both characters are removed. Applying chop to an empty
-string returns an empty string. If you wish to merely remove record
-separators then you should use the `chomp` function.
-Requires a string or array of strings as input.
-
-
-- *Type*: rvalue
-
-concat
-------
-Appends the contents of array 2 onto array 1.
-
-*Example:*
-
- concat(['1','2','3'],['4','5','6'])
-
-Would result in:
-
- ['1','2','3','4','5','6']
-
- concat(['1','2','3'],'4')
-
-Would result in:
-
- ['1','2','3','4']
-
-- *Type*: rvalue
-
-count
------
-Takes an array as first argument and an optional second argument.
-Count the number of elements in array that matches second argument.
-If called with only an array it counts the number of elements that are not nil/undef.
-
-
-- *Type*: rvalue
-
-defined_with_params
--------------------
-Takes a resource reference and an optional hash of attributes.
-
-Returns true if a resource with the specified attributes has already been added
-to the catalog, and false otherwise.
-
- user { 'dan':
- ensure => present,
- }
-
- if ! defined_with_params(User[dan], {'ensure' => 'present' }) {
- user { 'dan': ensure => present, }
- }
-
-
-- *Type*: rvalue
-
-delete
-------
-Deletes all instances of a given element from an array, substring from a
-string, or key from a hash.
-
-*Examples:*
-
- delete(['a','b','c','b'], 'b')
- Would return: ['a','c']
-
- delete({'a'=>1,'b'=>2,'c'=>3}, 'b')
- Would return: {'a'=>1,'c'=>3}
-
- delete('abracadabra', 'bra')
- Would return: 'acada'
-
-
-- *Type*: rvalue
-
-delete_at
----------
-Deletes a determined indexed value from an array.
-
-*Examples:*
-
- delete_at(['a','b','c'], 1)
-
-Would return: ['a','c']
-
-
-- *Type*: rvalue
-
-delete_values
--------------
-Deletes all instances of a given value from a hash.
-
-*Examples:*
-
- delete_values({'a'=>'A','b'=>'B','c'=>'C','B'=>'D'}, 'B')
-
-Would return: {'a'=>'A','c'=>'C','B'=>'D'}
-
-
-- *Type*: rvalue
-
-delete_undef_values
--------------------
-Deletes all instances of the undef value from an array or hash.
-
-*Examples:*
-
- $hash = delete_undef_values({a=>'A', b=>'', c=>undef, d => false})
-
-Would return: {a => 'A', b => '', d => false}
-
- $array = delete_undef_values(['A','',undef,false])
-
-Would return: ['A','',false]
-
-- *Type*: rvalue
-
-difference
-----------
-This function returns the difference between two arrays.
-The returned array is a copy of the original array, removing any items that
-also appear in the second array.
-
-*Examples:*
-
- difference(["a","b","c"],["b","c","d"])
-
-Would return: ["a"]
-
-dirname
--------
-Returns the `dirname` of a path.
-
-*Examples:*
-
- dirname('/path/to/a/file.ext')
-
-Would return: '/path/to/a'
-
-downcase
---------
-Converts the case of a string or all strings in an array to lower case.
-
-
-- *Type*: rvalue
-
-empty
------
-Returns true if the variable is empty.
-
-
-- *Type*: rvalue
-
-ensure_packages
----------------
-Takes a list of packages and only installs them if they don't already exist.
-It optionally takes a hash as a second parameter that will be passed as the
-third argument to the ensure_resource() function.
-
-
-- *Type*: statement
-
-ensure_resource
----------------
-Takes a resource type, title, and a list of attributes that describe a
-resource.
-
- user { 'dan':
- ensure => present,
- }
-
-This example only creates the resource if it does not already exist:
-
- ensure_resource('user', 'dan', {'ensure' => 'present' })
-
-If the resource already exists but does not match the specified parameters,
-this function will attempt to recreate the resource leading to a duplicate
-resource definition error.
-
-An array of resources can also be passed in and each will be created with
-the type and parameters specified if it doesn't already exist.
-
- ensure_resource('user', ['dan','alex'], {'ensure' => 'present'})
-
-
-
-- *Type*: statement
-
-file_line
----------
-This resource ensures that a given line is contained within a file. You can also use
-"match" to replace existing lines.
-
-*Examples:*
-
- file_line { 'sudo_rule':
- path => '/etc/sudoers',
- line => '%sudo ALL=(ALL) ALL',
- }
-
- file_line { 'change_mount':
- path => '/etc/fstab',
- line => '10.0.0.1:/vol/data /opt/data nfs defaults 0 0',
- match => '^172.16.17.2:/vol/old',
- }
-
-- *Type*: resource
-
-flatten
--------
-This function flattens any deeply nested arrays and returns a single flat array
-as a result.
-
-*Examples:*
-
- flatten(['a', ['b', ['c']]])
-
-Would return: ['a','b','c']
-
-
-- *Type*: rvalue
-
-floor
------
-Returns the largest integer less or equal to the argument.
-Takes a single numeric value as an argument.
-
-
-- *Type*: rvalue
-
-fqdn_rotate
------------
-Rotates an array a random number of times based on a nodes fqdn.
-
-
-- *Type*: rvalue
-
-get_module_path
----------------
-Returns the absolute path of the specified module for the current
-environment.
-
-Example:
- $module_path = get_module_path('stdlib')
-
-
-- *Type*: rvalue
-
-getparam
---------
-Takes a resource reference and name of the parameter and
-returns value of resource's parameter.
-
-*Examples:*
-
- define example_resource($param) {
- }
-
- example_resource { "example_resource_instance":
- param => "param_value"
- }
-
- getparam(Example_resource["example_resource_instance"], "param")
-
-Would return: param_value
-
-
-- *Type*: rvalue
-
-getvar
-------
-Lookup a variable in a remote namespace.
-
-For example:
-
- $foo = getvar('site::data::foo')
- # Equivalent to $foo = $site::data::foo
-
-This is useful if the namespace itself is stored in a string:
-
- $datalocation = 'site::data'
- $bar = getvar("${datalocation}::bar")
- # Equivalent to $bar = $site::data::bar
-
-
-- *Type*: rvalue
-
-grep
-----
-This function searches through an array and returns any elements that match
-the provided regular expression.
-
-*Examples:*
-
- grep(['aaa','bbb','ccc','aaaddd'], 'aaa')
-
-Would return:
-
- ['aaa','aaaddd']
-
-
-- *Type*: rvalue
-
-has_interface_with
-------------------
-Returns boolean based on kind and value:
-* macaddress
-* netmask
-* ipaddress
-* network
-
-*Examples:*
-
- has_interface_with("macaddress", "x:x:x:x:x:x")
- has_interface_with("ipaddress", "127.0.0.1") => true
-
-etc.
-
-If no "kind" is given, then the presence of the interface is checked:
-
- has_interface_with("lo") => true
-
-
-- *Type*: rvalue
-
-has_ip_address
---------------
-Returns true if the client has the requested IP address on some interface.
-
-This function iterates through the 'interfaces' fact and checks the
-'ipaddress_IFACE' facts, performing a simple string comparison.
-
-
-- *Type*: rvalue
-
-has_ip_network
---------------
-Returns true if the client has an IP address within the requested network.
-
-This function iterates through the 'interfaces' fact and checks the
-'network_IFACE' facts, performing a simple string comparision.
-
-
-- *Type*: rvalue
-
-has_key
--------
-Determine if a hash has a certain key value.
-
-Example:
-
- $my_hash = {'key_one' => 'value_one'}
- if has_key($my_hash, 'key_two') {
- notice('we will not reach here')
- }
- if has_key($my_hash, 'key_one') {
- notice('this will be printed')
- }
-
-
-
-- *Type*: rvalue
-
-hash
-----
-This function converts an array into a hash.
-
-*Examples:*
-
- hash(['a',1,'b',2,'c',3])
-
-Would return: {'a'=>1,'b'=>2,'c'=>3}
-
-
-- *Type*: rvalue
-
-intersection
------------
-This function returns an array an intersection of two.
-
-*Examples:*
-
- intersection(["a","b","c"],["b","c","d"])
-
-Would return: ["b","c"]
-
-is_array
---------
-Returns true if the variable passed to this function is an array.
-
-- *Type*: rvalue
-
-is_bool
---------
-Returns true if the variable passed to this function is a boolean.
-
-- *Type*: rvalue
-
-is_domain_name
---------------
-Returns true if the string passed to this function is a syntactically correct domain name.
-
-- *Type*: rvalue
-
-is_float
---------
-Returns true if the variable passed to this function is a float.
-
-- *Type*: rvalue
-
-is_function_available
----------------------
-This function accepts a string as an argument, determines whether the
-Puppet runtime has access to a function by that name. It returns a
-true if the function exists, false if not.
-
-- *Type*: rvalue
-
-is_hash
--------
-Returns true if the variable passed to this function is a hash.
-
-- *Type*: rvalue
-
-is_integer
-----------
-Returns true if the variable returned to this string is an integer.
-
-- *Type*: rvalue
-
-is_ip_address
--------------
-Returns true if the string passed to this function is a valid IP address.
-
-- *Type*: rvalue
-
-is_mac_address
---------------
-Returns true if the string passed to this function is a valid mac address.
-
-- *Type*: rvalue
-
-is_numeric
-----------
-Returns true if the variable passed to this function is a number.
-
-- *Type*: rvalue
-
-is_string
----------
-Returns true if the variable passed to this function is a string.
-
-- *Type*: rvalue
-
-join
-----
-This function joins an array into a string using a separator.
-
-*Examples:*
-
- join(['a','b','c'], ",")
-
-Would result in: "a,b,c"
-
-- *Type*: rvalue
-
-join_keys_to_values
--------------------
-This function joins each key of a hash to that key's corresponding value with a
-separator. Keys and values are cast to strings. The return value is an array in
-which each element is one joined key/value pair.
-
-*Examples:*
-
- join_keys_to_values({'a'=>1,'b'=>2}, " is ")
-
-Would result in: ["a is 1","b is 2"]
-
-- *Type*: rvalue
-
-keys
-----
-Returns the keys of a hash as an array.
-
-- *Type*: rvalue
-
-loadyaml
---------
-Load a YAML file containing an array, string, or hash, and return the data
-in the corresponding native data type.
-
-For example:
-
- $myhash = loadyaml('/etc/puppet/data/myhash.yaml')
-
-
-- *Type*: rvalue
-
-lstrip
-------
-Strips leading spaces to the left of a string.
-
-- *Type*: rvalue
-
-max
----
-Returns the highest value of all arguments.
-Requires at least one argument.
-
-- *Type*: rvalue
-
-member
-------
-This function determines if a variable is a member of an array.
-
-*Examples:*
-
- member(['a','b'], 'b')
-
-Would return: true
-
- member(['a','b'], 'c')
-
-Would return: false
-
-- *Type*: rvalue
-
-merge
------
-Merges two or more hashes together and returns the resulting hash.
-
-For example:
-
- $hash1 = {'one' => 1, 'two' => 2}
- $hash2 = {'two' => 'dos', 'three' => 'tres'}
- $merged_hash = merge($hash1, $hash2)
- # The resulting hash is equivalent to:
- # $merged_hash = {'one' => 1, 'two' => 'dos', 'three' => 'tres'}
-
-When there is a duplicate key, the key in the rightmost hash will "win."
-
-- *Type*: rvalue
-
-min
----
-Returns the lowest value of all arguments.
-Requires at least one argument.
-
-- *Type*: rvalue
-
-num2bool
---------
-This function converts a number or a string representation of a number into a
-true boolean. Zero or anything non-numeric becomes false. Numbers higher then 0
-become true.
-
-- *Type*: rvalue
-
-parsejson
----------
-This function accepts JSON as a string and converts into the correct Puppet
-structure.
-
-- *Type*: rvalue
-
-parseyaml
----------
-This function accepts YAML as a string and converts it into the correct
-Puppet structure.
-
-- *Type*: rvalue
-
-pick
-----
-This function is similar to a coalesce function in SQL in that it will return
-the first value in a list of values that is not undefined or an empty string
-(two things in Puppet that will return a boolean false value). Typically,
-this function is used to check for a value in the Puppet Dashboard/Enterprise
-Console, and failover to a default value like the following:
-
- $real_jenkins_version = pick($::jenkins_version, '1.449')
-
-The value of $real_jenkins_version will first look for a top-scope variable
-called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
-Enterprise Console are brought into Puppet as top-scope variables), and,
-failing that, will use a default value of 1.449.
-
-- *Type*: rvalue
-
-prefix
-------
-This function applies a prefix to all elements in an array.
-
-*Examples:*
-
- prefix(['a','b','c'], 'p')
-
-Will return: ['pa','pb','pc']
-
-- *Type*: rvalue
-
-range
------
-When given range in the form of (start, stop) it will extrapolate a range as
-an array.
-
-*Examples:*
-
- range("0", "9")
-
-Will return: [0,1,2,3,4,5,6,7,8,9]
-
- range("00", "09")
-
-Will return: [0,1,2,3,4,5,6,7,8,9] - Zero padded strings are converted to
-integers automatically
-
- range("a", "c")
-
-Will return: ["a","b","c"]
-
- range("host01", "host10")
-
-Will return: ["host01", "host02", ..., "host09", "host10"]
-
-- *Type*: rvalue
-
-reject
-------
-This function searches through an array and rejects all elements that match
-the provided regular expression.
-
-*Examples:*
-
- reject(['aaa','bbb','ccc','aaaddd'], 'aaa')
-
-Would return:
-
- ['bbb','ccc']
-
-
-- *Type*: rvalue
-
-reverse
--------
-Reverses the order of a string or array.
-
-- *Type*: rvalue
-
-rstrip
-------
-Strips leading spaces to the right of the string.
-
-- *Type*: rvalue
-
-shuffle
--------
-Randomizes the order of a string or array elements.
-
-- *Type*: rvalue
-
-size
-----
-Returns the number of elements in a string or array.
-
-- *Type*: rvalue
-
-sort
-----
-Sorts strings and arrays lexically.
-
-- *Type*: rvalue
-
-squeeze
--------
-Returns a new string where runs of the same character that occur in this set
-are replaced by a single character.
-
-- *Type*: rvalue
-
-str2bool
---------
-This converts a string to a boolean. This attempts to convert strings that
-contain things like: y, 1, t, true to 'true' and strings that contain things
-like: 0, f, n, false, no to 'false'.
-
-
-- *Type*: rvalue
-
-str2saltedsha512
-----------------
-This converts a string to a salted-SHA512 password hash (which is used for
-OS X versions >= 10.7). Given any simple string, you will get a hex version
-of a salted-SHA512 password hash that can be inserted into your Puppet
-manifests as a valid password attribute.
-
-
-- *Type*: rvalue
-
-strftime
---------
-This function returns formatted time.
-
-*Examples:*
-
-To return the time since epoch:
-
- strftime("%s")
-
-To return the date:
-
- strftime("%Y-%m-%d")
-
-*Format meaning:*
-
- %a - The abbreviated weekday name (``Sun'')
- %A - The full weekday name (``Sunday'')
- %b - The abbreviated month name (``Jan'')
- %B - The full month name (``January'')
- %c - The preferred local date and time representation
- %C - Century (20 in 2009)
- %d - Day of the month (01..31)
- %D - Date (%m/%d/%y)
- %e - Day of the month, blank-padded ( 1..31)
- %F - Equivalent to %Y-%m-%d (the ISO 8601 date format)
- %h - Equivalent to %b
- %H - Hour of the day, 24-hour clock (00..23)
- %I - Hour of the day, 12-hour clock (01..12)
- %j - Day of the year (001..366)
- %k - hour, 24-hour clock, blank-padded ( 0..23)
- %l - hour, 12-hour clock, blank-padded ( 0..12)
- %L - Millisecond of the second (000..999)
- %m - Month of the year (01..12)
- %M - Minute of the hour (00..59)
- %n - Newline (\n)
- %N - Fractional seconds digits, default is 9 digits (nanosecond)
- %3N millisecond (3 digits)
- %6N microsecond (6 digits)
- %9N nanosecond (9 digits)
- %p - Meridian indicator (``AM'' or ``PM'')
- %P - Meridian indicator (``am'' or ``pm'')
- %r - time, 12-hour (same as %I:%M:%S %p)
- %R - time, 24-hour (%H:%M)
- %s - Number of seconds since 1970-01-01 00:00:00 UTC.
- %S - Second of the minute (00..60)
- %t - Tab character ( )
- %T - time, 24-hour (%H:%M:%S)
- %u - Day of the week as a decimal, Monday being 1. (1..7)
- %U - Week number of the current year,
- starting with the first Sunday as the first
- day of the first week (00..53)
- %v - VMS date (%e-%b-%Y)
- %V - Week number of year according to ISO 8601 (01..53)
- %W - Week number of the current year,
- starting with the first Monday as the first
- day of the first week (00..53)
- %w - Day of the week (Sunday is 0, 0..6)
- %x - Preferred representation for the date alone, no time
- %X - Preferred representation for the time alone, no date
- %y - Year without a century (00..99)
- %Y - Year with century
- %z - Time zone as hour offset from UTC (e.g. +0900)
- %Z - Time zone name
- %% - Literal ``%'' character
-
-
-- *Type*: rvalue
-
-strip
------
-This function removes leading and trailing whitespace from a string or from
-every string inside an array.
-
-*Examples:*
-
- strip(" aaa ")
-
-Would result in: "aaa"
-
-
-- *Type*: rvalue
-
-suffix
-------
-This function applies a suffix to all elements in an array.
-
-*Examples:*
-
- suffix(['a','b','c'], 'p')
-
-Will return: ['ap','bp','cp']
-
-
-- *Type*: rvalue
-
-swapcase
---------
-This function will swap the existing case of a string.
-
-*Examples:*
-
- swapcase("aBcD")
-
-Would result in: "AbCd"
-
-
-- *Type*: rvalue
-
-time
-----
-This function will return the current time since epoch as an integer.
-
-*Examples:*
-
- time()
-
-Will return something like: 1311972653
-
-
-- *Type*: rvalue
-
-to_bytes
---------
-Converts the argument into bytes, for example 4 kB becomes 4096.
-Takes a single string value as an argument.
-
-
-- *Type*: rvalue
-
-type
-----
-Returns the type when passed a variable. Type can be one of:
-
-* string
-* array
-* hash
-* float
-* integer
-* boolean
-
-
-- *Type*: rvalue
-
-union
------
-This function returns a union of two arrays.
-
-*Examples:*
-
- union(["a","b","c"],["b","c","d"])
-
-Would return: ["a","b","c","d"]
-
-
-unique
-------
-This function will remove duplicates from strings and arrays.
-
-*Examples:*
-
- unique("aabbcc")
-
-Will return:
-
- abc
-
-You can also use this with arrays:
-
- unique(["a","a","b","b","c","c"])
-
-This returns:
-
- ["a","b","c"]
-
-
-- *Type*: rvalue
-
-upcase
-------
-Converts a string or an array of strings to uppercase.
-
-*Examples:*
-
- upcase("abcd")
-
-Will return:
-
- ABCD
-
-
-- *Type*: rvalue
-
-uriescape
----------
-Urlencodes a string or array of strings.
-Requires either a single string or an array as an input.
-
-
-- *Type*: rvalue
-
-validate_absolute_path
-----------------------
-Validate the string represents an absolute path in the filesystem. This function works
-for windows and unix style paths.
-
-The following values will pass:
-
- $my_path = "C:/Program Files (x86)/Puppet Labs/Puppet"
- validate_absolute_path($my_path)
- $my_path2 = "/var/lib/puppet"
- validate_absolute_path($my_path2)
-
-
-The following values will fail, causing compilation to abort:
-
- validate_absolute_path(true)
- validate_absolute_path([ 'var/lib/puppet', '/var/foo' ])
- validate_absolute_path([ '/var/lib/puppet', 'var/foo' ])
- $undefined = undef
- validate_absolute_path($undefined)
-
-
-
-- *Type*: statement
-
-validate_array
---------------
-Validate that all passed values are array data structures. Abort catalog
-compilation if any value fails this check.
-
-The following values will pass:
-
- $my_array = [ 'one', 'two' ]
- validate_array($my_array)
-
-The following values will fail, causing compilation to abort:
-
- validate_array(true)
- validate_array('some_string')
- $undefined = undef
- validate_array($undefined)
-
-
-
-- *Type*: statement
-
-validate_augeas
----------------
-Perform validation of a string using an Augeas lens
-The first argument of this function should be a string to
-test, and the second argument should be the name of the Augeas lens to use.
-If Augeas fails to parse the string with the lens, the compilation will
-abort with a parse error.
-
-A third argument can be specified, listing paths which should
-not be found in the file. The `$file` variable points to the location
-of the temporary file being tested in the Augeas tree.
-
-For example, if you want to make sure your passwd content never contains
-a user `foo`, you could write:
-
- validate_augeas($passwdcontent, 'Passwd.lns', ['$file/foo'])
-
-Or if you wanted to ensure that no users used the '/bin/barsh' shell,
-you could use:
-
- validate_augeas($passwdcontent, 'Passwd.lns', ['$file/*[shell="/bin/barsh"]']
-
-If a fourth argument is specified, this will be the error message raised and
-seen by the user.
-
-A helpful error message can be returned like this:
-
- validate_augeas($sudoerscontent, 'Sudoers.lns', [], 'Failed to validate sudoers content with Augeas')
-
-
-
-- *Type*: statement
-
-validate_bool
--------------
-Validate that all passed values are either true or false. Abort catalog
-compilation if any value fails this check.
-
-The following values will pass:
-
- $iamtrue = true
- validate_bool(true)
- validate_bool(true, true, false, $iamtrue)
-
-The following values will fail, causing compilation to abort:
-
- $some_array = [ true ]
- validate_bool("false")
- validate_bool("true")
- validate_bool($some_array)
-
-
-
-- *Type*: statement
-
-validate_cmd
-------------
-Perform validation of a string with an external command.
-The first argument of this function should be a string to
-test, and the second argument should be a path to a test command
-taking a file as last argument. If the command, launched against
-a tempfile containing the passed string, returns a non-null value,
-compilation will abort with a parse error.
-
-If a third argument is specified, this will be the error message raised and
-seen by the user.
-
-A helpful error message can be returned like this:
-
-Example:
-
- validate_cmd($sudoerscontent, '/usr/sbin/visudo -c -f', 'Visudo failed to validate sudoers content')
-
-
-
-- *Type*: statement
-
-validate_hash
--------------
-Validate that all passed values are hash data structures. Abort catalog
-compilation if any value fails this check.
-
-The following values will pass:
-
- $my_hash = { 'one' => 'two' }
- validate_hash($my_hash)
-
-The following values will fail, causing compilation to abort:
-
- validate_hash(true)
- validate_hash('some_string')
- $undefined = undef
- validate_hash($undefined)
-
-
-
-- *Type*: statement
-
-validate_re
------------
-Perform simple validation of a string against one or more regular
-expressions. The first argument of this function should be a string to
-test, and the second argument should be a stringified regular expression
-(without the // delimiters) or an array of regular expressions. If none
-of the regular expressions match the string passed in, compilation will
-abort with a parse error.
-
-If a third argument is specified, this will be the error message raised and
-seen by the user.
-
-The following strings will validate against the regular expressions:
-
- validate_re('one', '^one$')
- validate_re('one', [ '^one', '^two' ])
-
-The following strings will fail to validate, causing compilation to abort:
-
- validate_re('one', [ '^two', '^three' ])
-
-A helpful error message can be returned like this:
-
- validate_re($::puppetversion, '^2.7', 'The $puppetversion fact value does not match 2.7')
-
-
-
-- *Type*: statement
-
-validate_slength
-----------------
-Validate that the first argument is a string (or an array of strings), and
-less/equal to than the length of the second argument. It fails if the first
-argument is not a string or array of strings, and if arg 2 is not convertable
-to a number.
-
-The following values will pass:
-
- validate_slength("discombobulate",17)
- validate_slength(["discombobulate","moo"],17)
-
-The following values will not:
-
- validate_slength("discombobulate",1)
- validate_slength(["discombobulate","thermometer"],5)
-
-
-
-- *Type*: statement
-
-validate_string
----------------
-Validate that all passed values are string data structures. Abort catalog
-compilation if any value fails this check.
-
-The following values will pass:
-
- $my_string = "one two"
- validate_string($my_string, 'three')
-
-The following values will fail, causing compilation to abort:
-
- validate_string(true)
- validate_string([ 'some', 'array' ])
- $undefined = undef
- validate_string($undefined)
-
-
-- *Type*: statement
-
-values
-------
-When given a hash this function will return the values of that hash.
-
-*Examples:*
-
- $hash = {
- 'a' => 1,
- 'b' => 2,
- 'c' => 3,
- }
- values($hash)
-
-This example would return:
-
- [1,2,3]
-
-
-- *Type*: rvalue
-
-values_at
----------
-Finds value inside an array based on location.
-
-The first argument is the array you want to analyze, and the second element can
-be a combination of:
-
-* A single numeric index
-* A range in the form of 'start-stop' (eg. 4-9)
-* An array combining the above
-
-*Examples*:
-
- values_at(['a','b','c'], 2)
-
-Would return ['c'].
-
- values_at(['a','b','c'], ["0-1"])
-
-Would return ['a','b'].
-
- values_at(['a','b','c','d','e'], [0, "2-3"])
-
-Would return ['a','c','d'].
-
-
-- *Type*: rvalue
-
-zip
----
-Takes one element from first array and merges corresponding elements from second array. This generates a sequence of n-element arrays, where n is one more than the count of arguments.
-
-*Example:*
-
- zip(['1','2','3'],['4','5','6'])
-
-Would result in:
-
- ["1", "4"], ["2", "5"], ["3", "6"]
-
-
-- *Type*: rvalue
-
-*This page autogenerated on 2013-04-11 13:54:25 -0700*
diff --git a/modules/stdlib/README_DEVELOPER.markdown b/modules/stdlib/README_DEVELOPER.markdown
deleted file mode 100644
index 04349ed..0000000
--- a/modules/stdlib/README_DEVELOPER.markdown
+++ /dev/null
@@ -1,35 +0,0 @@
-Puppet Specific Facts
-=====================
-
-Facter is meant to stand alone and apart from Puppet. However, Facter often
-runs inside Puppet and all custom facts included in the stdlib module will
-almost always be evaluated in the context of Puppet and Facter working
-together.
-
-Still, we don't want to write custom facts that blow up in the users face if
-Puppet is not loaded in memory. This is often the case if the user runs
-`facter` without also supplying the `--puppet` flag.
-
-Ah! But Jeff, the custom fact won't be in the `$LOAD_PATH` unless the user
-supplies `--facter`! You might say...
-
-Not (always) true I say! If the user happens to have a CWD of
-`/stdlib/lib` then the facts will automatically be evaluated and
-blow up.
-
-In any event, it's pretty easy to write a fact that has no value if Puppet is
-not loaded. Simply do it like this:
-
- Facter.add(:node_vardir) do
- setcode do
- # This will be nil if Puppet is not available.
- Facter::Util::PuppetSettings.with_puppet do
- Puppet[:vardir]
- end
- end
- end
-
-The `Facter::Util::PuppetSettings.with_puppet` method accepts a block and
-yields to it only if the Puppet library is loaded. If the Puppet library is
-not loaded, then the method silently returns `nil` which Facter interprets as
-an undefined fact value. The net effect is that the fact won't be set.
diff --git a/modules/stdlib/README_SPECS.markdown b/modules/stdlib/README_SPECS.markdown
deleted file mode 100644
index 917b631..0000000
--- a/modules/stdlib/README_SPECS.markdown
+++ /dev/null
@@ -1,7 +0,0 @@
-NOTE
-====
-
-This project's specs depend on puppet core, and thus they require the
-`puppetlabs_spec_helper` project. For more information please see the README
-in that project, which can be found here: [puppetlabs spec
-helper](https://github.com/puppetlabs/puppetlabs_spec_helper)
diff --git a/modules/stdlib/RELEASE_PROCESS.markdown b/modules/stdlib/RELEASE_PROCESS.markdown
deleted file mode 100644
index 0f9328e..0000000
--- a/modules/stdlib/RELEASE_PROCESS.markdown
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributing to this module #
-
- * Work in a topic branch
- * Submit a github pull request
- * Address any comments / feeback
- * Merge into master using --no-ff
-
-# Releasing this module #
-
- * This module adheres to http://semver.org/
- * Look for API breaking changes using git diff vX.Y.Z..master
- * If no API breaking changes, the minor version may be bumped.
- * If there are API breaking changes, the major version must be bumped.
- * If there are only small minor changes, the patch version may be bumped.
- * Update the CHANGELOG
- * Update the Modulefile
- * Commit these changes with a message along the lines of "Update CHANGELOG and
- Modulefile for release"
- * Create an annotated tag with git tag -a vX.Y.Z -m 'version X.Y.Z' (NOTE the
- leading v as per semver.org)
- * Push the tag with git push origin --tags
- * Build a new package with puppet-module or the rake build task if it exists
- * Publish the new package to the forge
- * Bonus points for an announcement to puppet-users.
diff --git a/modules/stdlib/Rakefile b/modules/stdlib/Rakefile
deleted file mode 100644
index 4ed1327..0000000
--- a/modules/stdlib/Rakefile
+++ /dev/null
@@ -1,18 +0,0 @@
-require 'rubygems'
-require 'puppetlabs_spec_helper/rake_tasks'
-require 'puppet-lint/tasks/puppet-lint'
-PuppetLint.configuration.send('disable_80chars')
-PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"]
-
-desc "Validate manifests, templates, and ruby files in lib."
-task :validate do
- Dir['manifests/**/*.pp'].each do |manifest|
- sh "puppet parser validate --noop #{manifest}"
- end
- Dir['lib/**/*.rb'].each do |lib_file|
- sh "ruby -c #{lib_file}"
- end
- Dir['templates/**/*.erb'].each do |template|
- sh "erb -P -x -T '-' #{template} | ruby -c"
- end
-end
diff --git a/modules/stdlib/checksums.json b/modules/stdlib/checksums.json
deleted file mode 100644
index a423e04..0000000
--- a/modules/stdlib/checksums.json
+++ /dev/null
@@ -1,349 +0,0 @@
-{
- "CHANGELOG.md": "a3a77d93597fffb4b829b6b56e5d2f16",
- "CONTRIBUTING.md": "7fcaaec4913b3d7c123510329ecc4b2d",
- "Gemfile": "38895f95212fe38cf47474a05cff2ad2",
- "Gemfile.lock": "381b13f5540032a5b9c731766d25c13a",
- "LICENSE": "38a048b9d82e713d4e1b2573e370a756",
- "Modulefile": "ee2ec9280b87e32529db8b20cf6b1a19",
- "README.markdown": "21410cab41d903b5c39c55739846b6b3",
- "README_DEVELOPER.markdown": "220a8b28521b5c5d2ea87c4ddb511165",
- "README_SPECS.markdown": "82bb4c6abbb711f40778b162ec0070c1",
- "RELEASE_PROCESS.markdown": "94b92bc99ac4106ba1a74d5c04e520f9",
- "Rakefile": "dfa334598bfd087adf11533a72d71106",
- "lib/facter/facter_dot_d.rb": "1f1fcf1bde3443e42a445d3573602304",
- "lib/facter/pe_version.rb": "4a9353952963b011759f3e6652a10da5",
- "lib/facter/puppet_vardir.rb": "c7ddc97e8a84ded3dd93baa5b9b3283d",
- "lib/facter/root_home.rb": "d9c8276acdceb7340d95f60c36dcdcc5",
- "lib/facter/util/puppet_settings.rb": "9f1d2593d0ae56bfca89d4b9266aeee1",
- "lib/puppet/parser/functions/abs.rb": "32161bd0435fdfc2aec2fc559d2b454b",
- "lib/puppet/parser/functions/any2array.rb": "a81e71d6b67a551d38770ba9a1948a75",
- "lib/puppet/parser/functions/base64.rb": "ae25adf92295df67ebd9edfabc9ecdd6",
- "lib/puppet/parser/functions/bool2num.rb": "8e627eee990e811e35e7e838c586bd77",
- "lib/puppet/parser/functions/capitalize.rb": "14481fc8c7c83fe002066ebcf6722f17",
- "lib/puppet/parser/functions/chomp.rb": "719d46923d75251f7b6b68b6e015cccc",
- "lib/puppet/parser/functions/chop.rb": "4691a56e6064b792ed4575e4ad3f3d20",
- "lib/puppet/parser/functions/concat.rb": "c522e67e558336e1ac26b0a3cfeeed2d",
- "lib/puppet/parser/functions/count.rb": "9eb74eccd93e2b3c87fd5ea14e329eba",
- "lib/puppet/parser/functions/deep_merge.rb": "d83696855578fb81b64b9e92b9c7cc7c",
- "lib/puppet/parser/functions/defined_with_params.rb": "ffab4433d03f32b551f2ea024a2948fc",
- "lib/puppet/parser/functions/delete.rb": "96e569dac96b8c9387e9303445d73048",
- "lib/puppet/parser/functions/delete_at.rb": "6bc24b79390d463d8be95396c963381a",
- "lib/puppet/parser/functions/delete_undef_values.rb": "b32d4a3925753b2eb2c318cbd7f14404",
- "lib/puppet/parser/functions/delete_values.rb": "39b147f7d369bb5f809044b6341954a2",
- "lib/puppet/parser/functions/difference.rb": "e31b95fbaf974cf853a510177368bfb9",
- "lib/puppet/parser/functions/dirname.rb": "bef7214eb89db3eb8f7ee5fc9dca0233",
- "lib/puppet/parser/functions/downcase.rb": "9204a04c2a168375a38d502db8811bbe",
- "lib/puppet/parser/functions/empty.rb": "ae92905c9d94ddca30bf56b7b1dabedf",
- "lib/puppet/parser/functions/ensure_packages.rb": "fbed5c0c9bf82b7746e01f15f89d184f",
- "lib/puppet/parser/functions/ensure_resource.rb": "6678127386e77bbc0f09db7b5a32ab6a",
- "lib/puppet/parser/functions/flatten.rb": "25777b76f9719162a8bab640e5595b7a",
- "lib/puppet/parser/functions/floor.rb": "42cad4c689231a51526c55a6f0985d1f",
- "lib/puppet/parser/functions/fqdn_rotate.rb": "20743a138c56fc806a35cb7b60137dbc",
- "lib/puppet/parser/functions/get_module_path.rb": "d4bf50da25c0b98d26b75354fa1bcc45",
- "lib/puppet/parser/functions/getparam.rb": "4dd7a0e35f4a3780dcfc9b19b4e0006e",
- "lib/puppet/parser/functions/getvar.rb": "10bf744212947bc6a7bfd2c9836dbd23",
- "lib/puppet/parser/functions/grep.rb": "5682995af458b05f3b53dd794c4bf896",
- "lib/puppet/parser/functions/has_interface_with.rb": "8d3ebca805dc6edb88b6b7a13d404787",
- "lib/puppet/parser/functions/has_ip_address.rb": "ee207f47906455a5aa49c4fb219dd325",
- "lib/puppet/parser/functions/has_ip_network.rb": "b4d726c8b2a0afac81ced8a3a28aa731",
- "lib/puppet/parser/functions/has_key.rb": "7cd9728c38f0b0065f832dabd62b0e7e",
- "lib/puppet/parser/functions/hash.rb": "9d072527dfc7354b69292e9302906530",
- "lib/puppet/parser/functions/intersection.rb": "924ac4aceec7b896952166a7ec08fdb1",
- "lib/puppet/parser/functions/is_array.rb": "875ca4356cb0d7a10606fb146b4a3d11",
- "lib/puppet/parser/functions/is_bool.rb": "e693b7c4b5366cff1380b6e0c7dd7b11",
- "lib/puppet/parser/functions/is_domain_name.rb": "cf72726c0fec831eb703ec9deea739eb",
- "lib/puppet/parser/functions/is_float.rb": "10e0d3ecf75fac15e415aee79acf70dc",
- "lib/puppet/parser/functions/is_function_available.rb": "628428bbcd9313ce09783d9484330e09",
- "lib/puppet/parser/functions/is_hash.rb": "8c7d9a05084dab0389d1b779c8a05b1a",
- "lib/puppet/parser/functions/is_integer.rb": "c665be82686aa4729959bb42c66a7510",
- "lib/puppet/parser/functions/is_ip_address.rb": "a714a736c1560e8739aaacd9030cca00",
- "lib/puppet/parser/functions/is_mac_address.rb": "288bd4b38d4df42a83681f13e7eaaee0",
- "lib/puppet/parser/functions/is_numeric.rb": "93ddc9d4c0834a5e5e0562d7b3cdce91",
- "lib/puppet/parser/functions/is_string.rb": "2bd9a652bbb2668323eee6c57729ff64",
- "lib/puppet/parser/functions/join.rb": "a285a05c015ae278608f6454aef211ea",
- "lib/puppet/parser/functions/join_keys_to_values.rb": "f29da49531228f6ca5b3aa0df00a14c2",
- "lib/puppet/parser/functions/keys.rb": "eb6ac815ea14fbf423580ed903ef7bad",
- "lib/puppet/parser/functions/loadyaml.rb": "2b912f257aa078e376d3b3f6a86c2a00",
- "lib/puppet/parser/functions/lstrip.rb": "210b103f78622e099f91cc2956b6f741",
- "lib/puppet/parser/functions/max.rb": "f652fd0b46ef7d2fbdb42b141f8fdd1d",
- "lib/puppet/parser/functions/member.rb": "541e67d06bc4155e79b00843a125e9bc",
- "lib/puppet/parser/functions/merge.rb": "f3dcc5c83440cdda2036cce69b61a14b",
- "lib/puppet/parser/functions/min.rb": "0d2a1b7e735ab251c5469e735fa3f4c6",
- "lib/puppet/parser/functions/num2bool.rb": "605c12fa518c87ed2c66ae153e0686ce",
- "lib/puppet/parser/functions/parsejson.rb": "e7f968c34928107b84cd0860daf50ab1",
- "lib/puppet/parser/functions/parseyaml.rb": "00f10ec1e2b050e23d80c256061ebdd7",
- "lib/puppet/parser/functions/pick.rb": "bf01f13bbfe2318e7f6a302ac7c4433f",
- "lib/puppet/parser/functions/pick_default.rb": "ad3ea60262de408767786d37a54d45dc",
- "lib/puppet/parser/functions/prefix.rb": "aebbea0290be82a4ae89ddfffbee1125",
- "lib/puppet/parser/functions/range.rb": "17a05dbae8f562f882450f9e648d4e2d",
- "lib/puppet/parser/functions/reject.rb": "689f6a7c961a55fe9dcd240921f4c7f9",
- "lib/puppet/parser/functions/reverse.rb": "1386371c0f5301055fdf99079e862b3e",
- "lib/puppet/parser/functions/rstrip.rb": "8a0d69876bdbc88a2054ba41c9c38961",
- "lib/puppet/parser/functions/shuffle.rb": "6445e6b4dc62c37b184a60eeaf34414b",
- "lib/puppet/parser/functions/size.rb": "8972d48c0f9e487d659bd7326b40b642",
- "lib/puppet/parser/functions/sort.rb": "504b033b438461ca4f9764feeb017833",
- "lib/puppet/parser/functions/squeeze.rb": "541f85b4203b55c9931d3d6ecd5c75f8",
- "lib/puppet/parser/functions/str2bool.rb": "6320f1a50fd28ec027981cd1fb8ffdd0",
- "lib/puppet/parser/functions/str2saltedsha512.rb": "49afad7b386be38ce53deaefef326e85",
- "lib/puppet/parser/functions/strftime.rb": "e02e01a598ca5d7d6eee0ba22440304a",
- "lib/puppet/parser/functions/strip.rb": "273d547c7b05c0598556464dfd12f5fd",
- "lib/puppet/parser/functions/suffix.rb": "109279db4180441e75545dbd5f273298",
- "lib/puppet/parser/functions/swapcase.rb": "4902f38f0b9292afec66d40fee4b02ec",
- "lib/puppet/parser/functions/time.rb": "08d88d52abd1e230e3a2f82107545d48",
- "lib/puppet/parser/functions/to_bytes.rb": "83f23c33adbfa42b2a9d9fc2db3daeb4",
- "lib/puppet/parser/functions/type.rb": "62f914d6c90662aaae40c5539701be60",
- "lib/puppet/parser/functions/union.rb": "137998fe47decf25aede20f0c0155a4c",
- "lib/puppet/parser/functions/unique.rb": "217ccce6d23235af92923f50f8556963",
- "lib/puppet/parser/functions/upcase.rb": "a5744a74577cfa136fca2835e75888d3",
- "lib/puppet/parser/functions/uriescape.rb": "321b8d2c33a5ea48337e1293774db4e0",
- "lib/puppet/parser/functions/validate_absolute_path.rb": "385137ac24a2dec6cecc4e6ea75be442",
- "lib/puppet/parser/functions/validate_array.rb": "72b29289b8af1cfc3662ef9be78911b8",
- "lib/puppet/parser/functions/validate_augeas.rb": "d4acca7b8a9fdada9ae39e5101902cc1",
- "lib/puppet/parser/functions/validate_bool.rb": "a712634a000024398b3c6cd4ecc46463",
- "lib/puppet/parser/functions/validate_cmd.rb": "78fd21cb3fc52efc3b53ba2b3301de18",
- "lib/puppet/parser/functions/validate_hash.rb": "e9cfaca68751524efe16ecf2f958a9a0",
- "lib/puppet/parser/functions/validate_ipv4_address.rb": "a8fb6f0ca36aa460d462c07c2af5d5a2",
- "lib/puppet/parser/functions/validate_ipv6_address.rb": "4699238e4cad60e7e1428905523eaeb7",
- "lib/puppet/parser/functions/validate_re.rb": "c6664b3943bc820415a43f16372dc2a9",
- "lib/puppet/parser/functions/validate_slength.rb": "7e67c213509b9383707819cc612b2a29",
- "lib/puppet/parser/functions/validate_string.rb": "6afcbc51f83f0714348b8d61e06ea7eb",
- "lib/puppet/parser/functions/values.rb": "066a6e4170e5034edb9a80463dff2bb5",
- "lib/puppet/parser/functions/values_at.rb": "094ac110ce9f7a5b16d0c80a0cf2243c",
- "lib/puppet/parser/functions/zip.rb": "a80782461ed9465f0cd0c010936f1855",
- "lib/puppet/provider/file_line/ruby.rb": "10d65268d2d1e75b5dae014974b79d60",
- "lib/puppet/type/anchor.rb": "bbd36bb49c3b554f8602d8d3df366c0c",
- "lib/puppet/type/file_line.rb": "a1eceef6bd7cbfe99892cf3ee57ef2b4",
- "manifests/init.pp": "f2ba5f36e7227ed87bbb69034fc0de8b",
- "manifests/stages.pp": "cc6ed1751d334b0ea278c0335c7f0b5a",
- "metadata.json": "42591a032ab4a712a52a294148361090",
- "spec/acceptance/abs_spec.rb": "435478ef1ba43a6cca1f7b4db14a4bcc",
- "spec/acceptance/any2array_spec.rb": "78187dc3683c8ecd15774d99024de47d",
- "spec/acceptance/base64_spec.rb": "1684d5dd176dd5bbd4c3c6b1e64fbcea",
- "spec/acceptance/bool2num_spec.rb": "c5e3aadb08a437f181247429f4125bab",
- "spec/acceptance/build_csv.rb": "f28ef587de764ade1513091c4906412c",
- "spec/acceptance/capitalize_spec.rb": "e77ea2c37144a75a67969c0d0839adfd",
- "spec/acceptance/chomp_spec.rb": "fb0862a6b7eeb3c290e280788e705061",
- "spec/acceptance/chop_spec.rb": "0bd1065b9c16a54b86adeb4e3be041fb",
- "spec/acceptance/concat_spec.rb": "3a0dae19a34bb13d406c8e0ec87d8fe5",
- "spec/acceptance/count_spec.rb": "5b35e597ae1051f41431812707d4b502",
- "spec/acceptance/deep_merge_spec.rb": "c335a947f1666e185e0210e661f1c78a",
- "spec/acceptance/defined_with_params_spec.rb": "f27c54ade9872c63c69316f62b03c119",
- "spec/acceptance/delete_at_spec.rb": "9c028b703ee0286565c9877757678f3f",
- "spec/acceptance/delete_spec.rb": "31e6dfcb9cc7c16b20d47c00e6a85a1d",
- "spec/acceptance/delete_undef_values_spec.rb": "6e6a66aee0c383c843b5f92ef8c8410c",
- "spec/acceptance/delete_values_spec.rb": "22c9b4914d4cbc0153aa3862cb4fb50e",
- "spec/acceptance/difference_spec.rb": "289f4f1788feaacb304ffd54971c7e7e",
- "spec/acceptance/dirname_spec.rb": "84db53878c4400a6c684c924cff05cfc",
- "spec/acceptance/downcase_spec.rb": "0f094849b94a94df491ee01186473104",
- "spec/acceptance/empty_spec.rb": "35c1f43e8a3e1fe7dd4335ef86e7efcc",
- "spec/acceptance/ensure_packages_spec.rb": "d4c02a9313e2b8339d9e4a2f5b200e0e",
- "spec/acceptance/ensure_resource_spec.rb": "9e03216abb2431e749be76a4302931df",
- "spec/acceptance/flatten_spec.rb": "83fb08cc168a105c1d5d0df66b1d9e84",
- "spec/acceptance/floor_spec.rb": "d7267b2914b1da6406224abb7489ca86",
- "spec/acceptance/fqdn_rotate_spec.rb": "a1fa84292395adec3c47b21c3dc79ec3",
- "spec/acceptance/get_module_path_spec.rb": "6a6552ff8d6d75ce795b0139c68a7993",
- "spec/acceptance/getparam_spec.rb": "b62a47524f434b903f9e155ad56959b3",
- "spec/acceptance/getvar_spec.rb": "ba2f081a88be97c0e7004a6296294f23",
- "spec/acceptance/grep_spec.rb": "98818b8b0557b80d6ff519f70ea7617c",
- "spec/acceptance/has_interface_with_spec.rb": "467183aeada0bec74143be6cf0b89a3d",
- "spec/acceptance/has_ip_address_spec.rb": "e0369b12725695c528e2d47b8ea2b4d8",
- "spec/acceptance/has_ip_network_spec.rb": "ca8dd6faa6df940784a60a49bec1330d",
- "spec/acceptance/has_key_spec.rb": "6509a26a0886f7d591eaa926b2f92407",
- "spec/acceptance/hash_spec.rb": "1c626457ba056bdd3936e28aa5bf503e",
- "spec/acceptance/intersection_spec.rb": "40f586af7f95408a5d4a2882a4aa98f1",
- "spec/acceptance/is_array_spec.rb": "c2ff70ce59b90b50a5aed67abaa5399d",
- "spec/acceptance/is_bool_spec.rb": "c001fdecff6b0a3c9dc78774987a0b15",
- "spec/acceptance/is_domain_name_spec.rb": "63e84285c26d8717fd5d4dda01e3f432",
- "spec/acceptance/is_float_spec.rb": "2f0164b4d732166aa46055a2cf7b4ea9",
- "spec/acceptance/is_function_available_spec.rb": "7745eba89f8719c9ca7ebf04d5b005f7",
- "spec/acceptance/is_hash_spec.rb": "cff723cd8fddac45033af5dc8406d4e4",
- "spec/acceptance/is_integer_spec.rb": "c09201d17d3914bba197872897fa3413",
- "spec/acceptance/is_ip_address_spec.rb": "aa14cf9abf404c3fe1e761ea957871fe",
- "spec/acceptance/is_mac_address_spec.rb": "30ff4c6a63be58daa3568305617ca2a7",
- "spec/acceptance/is_numeric_spec.rb": "fb9829c7a1a8d4a58836df6ff4c3386d",
- "spec/acceptance/is_string_spec.rb": "df3022de123b72f0022728eb2d8ce857",
- "spec/acceptance/join_keys_to_values_spec.rb": "8aa128bbaeea65aab8d92badee3ca2b5",
- "spec/acceptance/join_spec.rb": "c6378ed481265152bba9871fc5501ee6",
- "spec/acceptance/keys_spec.rb": "20486e3ebee53e50dc9de3b78b9d6ae6",
- "spec/acceptance/loadyaml_spec.rb": "5bce9c4b90e73bccdcd4f66fc988676b",
- "spec/acceptance/lstrip_spec.rb": "e29ab4039b65660ec2bd76a298adcae0",
- "spec/acceptance/max_spec.rb": "209cda4b83d677743afb1a8870330618",
- "spec/acceptance/member_spec.rb": "0dac8ec7c7f670fca429fc26cf8ccc14",
- "spec/acceptance/merge_spec.rb": "ac61d7627c66565a3a5cbfb2f9db21eb",
- "spec/acceptance/min_spec.rb": "152a7db28434a0d0378561d4f64cddcc",
- "spec/acceptance/nodesets/centos-6-vcloud.yml": "bdf9ce9d3b0f0b4995666ae9d64d878d",
- "spec/acceptance/nodesets/centos-64-x64-pe.yml": "ec075d95760df3d4702abea1ce0a829b",
- "spec/acceptance/nodesets/centos-64-x64.yml": "092dd2c588a9f87fa1fb12997c0723ef",
- "spec/acceptance/nodesets/default.yml": "3e5c36e6aa5a690229e720f4048bb8af",
- "spec/acceptance/nodesets/fedora-18-x64.yml": "80e41b1ee16ea489f53164bfdae58855",
- "spec/acceptance/nodesets/sles-11-x64.yml": "44e4c6c15c018333bfa9840a5e702f66",
- "spec/acceptance/nodesets/ubuntu-server-10044-x64.yml": "75e86400b7889888dc0781c0ae1a1297",
- "spec/acceptance/nodesets/ubuntu-server-12042-x64.yml": "d30d73e34cd50b043c7d14e305955269",
- "spec/acceptance/num2bool_spec.rb": "e4a00b913b08c68a689837e9f9336cb2",
- "spec/acceptance/parsejson_spec.rb": "ea3973d412ad6f72425fdfac6fbb2bb4",
- "spec/acceptance/parseyaml_spec.rb": "7bbfeed73d0626f69daedfc151957967",
- "spec/acceptance/pick_default_spec.rb": "1bc2562380ef6f6cded5ec90a03922be",
- "spec/acceptance/pick_spec.rb": "272c54c8f9398f499768331bdb4276ee",
- "spec/acceptance/prefix_spec.rb": "da620568c6771e7d492ec1ff697c531c",
- "spec/acceptance/range_spec.rb": "65e5b98ceca257658604d988fbec7d03",
- "spec/acceptance/reject_spec.rb": "b5185f1a6071c9bdc7aca92e6f899c3e",
- "spec/acceptance/reverse_spec.rb": "7bdee543e82532e97bbf7a067140031c",
- "spec/acceptance/rstrip_spec.rb": "28a64ceb7cb5ae8a93d31f49816190ab",
- "spec/acceptance/shuffle_spec.rb": "8a8652e57d56f2b4946cdf4d20052b7a",
- "spec/acceptance/size_spec.rb": "ae17d8a55921a0570972200c7c9327e1",
- "spec/acceptance/sort_spec.rb": "d44b1b8c090f0f00a2f38515fda431ea",
- "spec/acceptance/squeeze_spec.rb": "adcd65fa4e72203b97f1f14c8835c2cd",
- "spec/acceptance/str2bool_spec.rb": "55ad165ceef6b9ba32bf20ca3b53b44c",
- "spec/acceptance/str2saltedsha512_spec.rb": "b684c4214d06ae3d5bae055262a5ccaa",
- "spec/acceptance/strftime_spec.rb": "0f4eadbd74445b35de4a42c9790fbcc1",
- "spec/acceptance/strip_spec.rb": "6767da5bc735beb5362aeee6ff692c9e",
- "spec/acceptance/suffix_spec.rb": "07dfc7eed48b75fcc1b93d0308243eda",
- "spec/acceptance/swapcase_spec.rb": "5c3c1bc19a09fed6e01881f79b0b4ea5",
- "spec/acceptance/time_spec.rb": "044b2f634a1fa6ecc735998d68a93b73",
- "spec/acceptance/to_bytes_spec.rb": "f9df1f234b9409f5eaf56ef24e651c36",
- "spec/acceptance/type_spec.rb": "d103a7e1607ab9cea74cdef25af610b0",
- "spec/acceptance/union_spec.rb": "b6092941e0574f3c60910bebf84d2844",
- "spec/acceptance/unique_spec.rb": "9b00b21cefde3b5391f50eeb9cd2493b",
- "spec/acceptance/unsupported_spec.rb": "09b9265ecb05252cd5e5a18327c7ae97",
- "spec/acceptance/upcase_spec.rb": "ffd1d6f9e6ec24131fb78983c53a75f9",
- "spec/acceptance/uriescape_spec.rb": "13daa387714cbfc63b587aaa8dbf7fcd",
- "spec/acceptance/validate_absolute_path_spec.rb": "8b9ebfae80329231d84fcab606a3eeaf",
- "spec/acceptance/validate_array_spec.rb": "382641719e754622ffae562d10e38bf7",
- "spec/acceptance/validate_augeas_spec.rb": "ec0a9c030e2c3494889973d74d60b2a4",
- "spec/acceptance/validate_bool_spec.rb": "08bc139459204cf0a35098a5bc30ab95",
- "spec/acceptance/validate_cmd_spec.rb": "d08eacac4dd5bdb50b5b0f02a6494048",
- "spec/acceptance/validate_hash_spec.rb": "70ceacc18a0dee97b26ab2e50f925706",
- "spec/acceptance/validate_ipv4_address_spec.rb": "dc901bbd05c3764a93cb49154cea6e4b",
- "spec/acceptance/validate_ipv6_address_spec.rb": "c0872c56230ac2800cd5723eaa5bc53a",
- "spec/acceptance/validate_re_spec.rb": "b289909078d6ae0d015419f518566698",
- "spec/acceptance/validate_slength_spec.rb": "f0a05c1c2b895b096cb7326df4821594",
- "spec/acceptance/validate_string_spec.rb": "6c9ced99fb1e263e66e25427d24f8f7b",
- "spec/acceptance/values_at_spec.rb": "669b26c4d47742051472003518c3aa61",
- "spec/acceptance/values_spec.rb": "714a13735aa0db3ffd3dfc4cd2c2e330",
- "spec/acceptance/zip_spec.rb": "0a76aa26bd9552b8dae3294af7d233ab",
- "spec/classes/anchor_spec.rb": "40600ba2845f9bd360a9504a347f12ba",
- "spec/fixtures/dscacheutil/root": "e1a7622f55f3d1be258c9a5b16b474be",
- "spec/fixtures/manifests/site.pp": "d41d8cd98f00b204e9800998ecf8427e",
- "spec/functions/abs_spec.rb": "0a5864a29a8e9e99acc483268bd5917c",
- "spec/functions/any2array_spec.rb": "167e114cfa222de971bf8be141766b6a",
- "spec/functions/base64_spec.rb": "fe16d992be54dbb06d040f1b0e189571",
- "spec/functions/bool2num_spec.rb": "67c3055d5d4e4c9fbcaca82038a09081",
- "spec/functions/capitalize_spec.rb": "82a4209a033fc88c624f708c12e64e2a",
- "spec/functions/chomp_spec.rb": "3cd8e2fe6b12efeffad94cce5b693b7c",
- "spec/functions/chop_spec.rb": "4e9534d25b952b261c9f46add677c390",
- "spec/functions/concat_spec.rb": "d7657b1af27a96072aae711cee041181",
- "spec/functions/count_spec.rb": "db98ef89752a7112425f0aade10108e0",
- "spec/functions/deep_merge_spec.rb": "7961a696e1b45167cead127f841f1c99",
- "spec/functions/defined_with_params_spec.rb": "3bdfac38e3d6f06140ff2e926f4ebed2",
- "spec/functions/delete_at_spec.rb": "7fd4fe7db8d213925fbc80c992673d10",
- "spec/functions/delete_spec.rb": "fe66bdf9e61b9c992bc73ee54a37035c",
- "spec/functions/delete_undef_values_spec.rb": "83b9c3027463f5c8a90a6d47d219acd5",
- "spec/functions/delete_values_spec.rb": "ddcaa269caa95ad926b8a3ef82976da9",
- "spec/functions/difference_spec.rb": "e64c1501699fef8eb1037a3ca60a05a6",
- "spec/functions/dirname_spec.rb": "1d7cf70468c2cfa6dacfc75935322395",
- "spec/functions/downcase_spec.rb": "b0197829512f2e92a2d2b06ce8e2226f",
- "spec/functions/empty_spec.rb": "028c30267d648a172d8a81a9262c3abe",
- "spec/functions/ensure_packages_spec.rb": "f1b60599078cdcb3cff1368346108264",
- "spec/functions/ensure_resource_spec.rb": "7765dde3b9fc54b7dddb6597e0f7b523",
- "spec/functions/flatten_spec.rb": "583c9a70f93e492cfb22ffa1811f6aa0",
- "spec/functions/floor_spec.rb": "d01ef7dfe0245d7a0a73d7df13cb02e3",
- "spec/functions/fqdn_rotate_spec.rb": "c67b71737bee9936f5261d41a37bad46",
- "spec/functions/get_module_path_spec.rb": "b7ea196f548b1a9a745ab6671295ab27",
- "spec/functions/getparam_spec.rb": "75153d949eb122aa18f0c5e2c8e861e5",
- "spec/functions/getvar_spec.rb": "842bf88d47077a9ae64097b6e39c3364",
- "spec/functions/grep_spec.rb": "78179537496a7150469e591a95e255d8",
- "spec/functions/has_interface_with_spec.rb": "7c16d731c518b434c81b8cb2227cc916",
- "spec/functions/has_ip_address_spec.rb": "f53c7baeaf024ff577447f6c28c0f3a7",
- "spec/functions/has_ip_network_spec.rb": "885ea8a4c987b735d683b742bf846cb1",
- "spec/functions/has_key_spec.rb": "3e4e730d98bbdfb88438b6e08e45868e",
- "spec/functions/hash_spec.rb": "826337a92d8f7a189b7ac19615db0ed7",
- "spec/functions/intersection_spec.rb": "1b1f1a3900a1f1e165692b056e766fba",
- "spec/functions/is_array_spec.rb": "8c020af9c360abdbbf1ba887bb26babe",
- "spec/functions/is_bool_spec.rb": "3219ba1500de75161bfb4f292404d1fa",
- "spec/functions/is_domain_name_spec.rb": "8eed3a9eb9334bf6a473ad4e2cabc2ec",
- "spec/functions/is_float_spec.rb": "171fc0e382d9856c2d8db2b70c9ec9cd",
- "spec/functions/is_function_available.rb": "c8858a3c6253713cce0113a98d229b5d",
- "spec/functions/is_hash_spec.rb": "408e121a5e30c4c5c4a0a383beb6e209",
- "spec/functions/is_integer_spec.rb": "c848f20da5f62ac4bbaf0f6c1485c88f",
- "spec/functions/is_ip_address_spec.rb": "6040a9bae4e5c853966148b634501157",
- "spec/functions/is_mac_address_spec.rb": "644cd498b426ff2f9ea9cbc5d8e141d7",
- "spec/functions/is_numeric_spec.rb": "65f2ad0e70d9b60c601740351eba94fd",
- "spec/functions/is_string_spec.rb": "5c015d8267de852da3a12b984e077092",
- "spec/functions/join_keys_to_values_spec.rb": "7c7937411b7fe4bb944c0c022d3a96b0",
- "spec/functions/join_spec.rb": "c3b50c39390a86b493511be2c6722235",
- "spec/functions/keys_spec.rb": "35cc2ed490dc68da6464f245dfebd617",
- "spec/functions/loadyaml_spec.rb": "ce86614d8aaceec93653ecf299d3d441",
- "spec/functions/lstrip_spec.rb": "1fc2c2d80b5f724a358c3cfeeaae6249",
- "spec/functions/max_spec.rb": "5562bccc643443af7e4fa7c9d1e52b8b",
- "spec/functions/member_spec.rb": "067c60985efc57022ca1c5508d74d77f",
- "spec/functions/merge_spec.rb": "c17a7244453f2da22970acc02a6de110",
- "spec/functions/min_spec.rb": "bf80bf58261117bb24392670b624a611",
- "spec/functions/num2bool_spec.rb": "8cd5b46b7c8e612dfae3362e3a68a5f9",
- "spec/functions/parsejson_spec.rb": "37ab84381e035c31d6a3dd9bf73a3d53",
- "spec/functions/parseyaml_spec.rb": "65dfed872930ffe0d21954c15daaf498",
- "spec/functions/pick_default_spec.rb": "db0a9d261b7e1b82e2786716dd924e92",
- "spec/functions/pick_spec.rb": "34382f7483b6c10d38831de2169777c2",
- "spec/functions/prefix_spec.rb": "7245749e27bafe1b36c1c5bae6f705c7",
- "spec/functions/range_spec.rb": "c40b3c6d4031fc541c2421ff7b8c41fe",
- "spec/functions/reject_spec.rb": "8e16c9f064870e958b6278261e480954",
- "spec/functions/reverse_spec.rb": "48169990e59081ccbd112b6703418ce4",
- "spec/functions/rstrip_spec.rb": "a408e933753c9c323a05d7079d32cbb3",
- "spec/functions/shuffle_spec.rb": "2141a54d2fb3cf725b88184d639677f4",
- "spec/functions/size_spec.rb": "d126b696b21a8cd754d58f78ddba6f06",
- "spec/functions/sort_spec.rb": "7039cd230a94e95d9d1de2e1094acae2",
- "spec/functions/squeeze_spec.rb": "df5b349c208a9a2a4d4b8e6d9324756f",
- "spec/functions/str2bool_spec.rb": "e2a8a4d39680f3ed18621e26d67c6024",
- "spec/functions/str2saltedsha512_spec.rb": "1de174be8835ba6fef86b590887bb2cc",
- "spec/functions/strftime_spec.rb": "bf140883ecf3254277306fa5b25f0344",
- "spec/functions/strip_spec.rb": "a01796bebbdabd3fad12b0662ea5966e",
- "spec/functions/suffix_spec.rb": "ee875e2d09d7ffc363bf6c34d9ef322f",
- "spec/functions/swapcase_spec.rb": "0660ce8807608cc8f98ad1edfa76a402",
- "spec/functions/time_spec.rb": "b6d0279062779efe5153fe5cfafc5bbd",
- "spec/functions/to_bytes_spec.rb": "80aaf68cf7e938e46b5278c1907af6be",
- "spec/functions/type_spec.rb": "422f2c33458fe9b0cc9614d16f7573ba",
- "spec/functions/union_spec.rb": "c4f72a55e186813cd3a47a83ba3e9a61",
- "spec/functions/unique_spec.rb": "2df8b3b2edb9503943cb4dcb4a371867",
- "spec/functions/upcase_spec.rb": "813668919bc62cdd1d349dafc19fbbb3",
- "spec/functions/uriescape_spec.rb": "204e9b1566e330a0234761ac8ac7083f",
- "spec/functions/validate_absolute_path_spec.rb": "5a0b98675070e511810dab9e60dc43b6",
- "spec/functions/validate_array_spec.rb": "bcd231229554785c4270ca92ef99cb60",
- "spec/functions/validate_augeas_spec.rb": "eee1a0c3ef3051bda525b1e17d577ab0",
- "spec/functions/validate_bool_spec.rb": "7aeb6085fc9601c6bbe6c49e56d209a4",
- "spec/functions/validate_cmd_spec.rb": "efc88e8e21481acd36c7f948b1f226ea",
- "spec/functions/validate_hash_spec.rb": "8529c74051ceb71e6b1b97c9cecdf625",
- "spec/functions/validate_ipv4_address_spec.rb": "19f2f44fbbdf7a2e69aeaa2f0f402695",
- "spec/functions/validate_ipv6_address_spec.rb": "2d8617be4405bdbd84d140ba8be6c184",
- "spec/functions/validate_re_spec.rb": "d8ab477f9afcb748f144588ebb3a28a3",
- "spec/functions/validate_slength_spec.rb": "73273a083a26941b3f7c1e3b2e18b3e2",
- "spec/functions/validate_string_spec.rb": "64a4f681084cba55775a070f7fab5e0c",
- "spec/functions/values_at_spec.rb": "de45fd8abbc4c037c3c4fac2dcf186f9",
- "spec/functions/values_spec.rb": "0ac9e141ed1f612d7cc224f747b2d1d9",
- "spec/functions/zip_spec.rb": "06a86e4e70d2aea63812582aae1d26c4",
- "spec/lib/puppet_spec/compiler.rb": "3c1f03dd8ac2f6f90d7e8f879a3ce4c0",
- "spec/lib/puppet_spec/database.rb": "c74c0cf62980beea88c7749f876ccfa7",
- "spec/lib/puppet_spec/files.rb": "906da85e399302cee403e10e357d3f4c",
- "spec/lib/puppet_spec/fixtures.rb": "0722c5ccbfcba1fc27da1900e54b4463",
- "spec/lib/puppet_spec/matchers.rb": "dd30ba6b936e8c267511d67acb087c35",
- "spec/lib/puppet_spec/modules.rb": "445d2739aa8754568a14816280727d70",
- "spec/lib/puppet_spec/pops.rb": "adf661defa460b7189e3750535533d34",
- "spec/lib/puppet_spec/scope.rb": "01aeb89bdc2d29a2528ced26ec6402ec",
- "spec/lib/puppet_spec/settings.rb": "5da4e0dad8bf6b21cc4437c73753a56d",
- "spec/lib/puppet_spec/verbose.rb": "71dbccd9a45ed89d12fd1c44456a6820",
- "spec/monkey_patches/alias_should_to_must.rb": "b19ee31563afb91a72f9869f9d7362ff",
- "spec/monkey_patches/publicize_methods.rb": "c690e444b77c871375d321e413e28ca1",
- "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c",
- "spec/spec_helper.rb": "846cc69a2d612d55d130622759aa12e0",
- "spec/spec_helper_acceptance.rb": "d82b5682eac4ff46bbe5aa08c29d5e28",
- "spec/unit/facter/facter_dot_d_spec.rb": "cce0748b2671b1b104332a7c757e5206",
- "spec/unit/facter/pe_version_spec.rb": "ef031cca838f36f99b1dab3259df96a5",
- "spec/unit/facter/root_home_spec.rb": "ecd851e2b8a4a8578960cce094cf41ee",
- "spec/unit/facter/util/puppet_settings_spec.rb": "8666142d017e5804445f5596f3be76e8",
- "spec/unit/puppet/provider/file_line/ruby_spec.rb": "e118a65a3eb0ccd3d1bf99d7bb010669",
- "spec/unit/puppet/type/anchor_spec.rb": "3c3251acbc1085b121623f4617107fb9",
- "spec/unit/puppet/type/file_line_spec.rb": "72ba1d9ad9de5df592f3ff03551983cb",
- "tests/file_line.pp": "67727539aa7b7dd76f06626fe734f7f7",
- "tests/has_interface_with.pp": "59c98b4af0d39fc11d1ef4c7a6dc8f7a",
- "tests/has_ip_address.pp": "93ce02915f67ddfb43a049b2b84ef391",
- "tests/has_ip_network.pp": "abc05686797a776ea8c054657e6f7456",
- "tests/init.pp": "1d98070412c76824e66db4b7eb74d433"
-}
\ No newline at end of file
diff --git a/modules/stdlib/lib/facter/facter_dot_d.rb b/modules/stdlib/lib/facter/facter_dot_d.rb
deleted file mode 100644
index 2c096b0..0000000
--- a/modules/stdlib/lib/facter/facter_dot_d.rb
+++ /dev/null
@@ -1,202 +0,0 @@
-# A Facter plugin that loads facts from /etc/facter/facts.d
-# and /etc/puppetlabs/facter/facts.d.
-#
-# Facts can be in the form of JSON, YAML or Text files
-# and any executable that returns key=value pairs.
-#
-# In the case of scripts you can also create a file that
-# contains a cache TTL. For foo.sh store the ttl as just
-# a number in foo.sh.ttl
-#
-# The cache is stored in /tmp/facts_cache.yaml as a mode
-# 600 file and will have the end result of not calling your
-# fact scripts more often than is needed
-
-class Facter::Util::DotD
- require 'yaml'
-
- def initialize(dir="/etc/facts.d", cache_file="/tmp/facts_cache.yml")
- @dir = dir
- @cache_file = cache_file
- @cache = nil
- @types = {".txt" => :txt, ".json" => :json, ".yaml" => :yaml}
- end
-
- def entries
- Dir.entries(@dir).reject{|f| f =~ /^\.|\.ttl$/}.sort.map {|f| File.join(@dir, f) }
- rescue
- []
- end
-
- def fact_type(file)
- extension = File.extname(file)
-
- type = @types[extension] || :unknown
-
- type = :script if type == :unknown && File.executable?(file)
-
- return type
- end
-
- def txt_parser(file)
- File.readlines(file).each do |line|
- if line =~ /^([^=]+)=(.+)$/
- var = $1; val = $2
-
- Facter.add(var) do
- setcode { val }
- end
- end
- end
- rescue Exception => e
- Facter.warn("Failed to handle #{file} as text facts: #{e.class}: #{e}")
- end
-
- def json_parser(file)
- begin
- require 'json'
- rescue LoadError
- retry if require 'rubygems'
- raise
- end
-
- JSON.load(File.read(file)).each_pair do |f, v|
- Facter.add(f) do
- setcode { v }
- end
- end
- rescue Exception => e
- Facter.warn("Failed to handle #{file} as json facts: #{e.class}: #{e}")
- end
-
- def yaml_parser(file)
- require 'yaml'
-
- YAML.load_file(file).each_pair do |f, v|
- Facter.add(f) do
- setcode { v }
- end
- end
- rescue Exception => e
- Facter.warn("Failed to handle #{file} as yaml facts: #{e.class}: #{e}")
- end
-
- def script_parser(file)
- result = cache_lookup(file)
- ttl = cache_time(file)
-
- unless result
- result = Facter::Util::Resolution.exec(file)
-
- if ttl > 0
- Facter.debug("Updating cache for #{file}")
- cache_store(file, result)
- cache_save!
- end
- else
- Facter.debug("Using cached data for #{file}")
- end
-
- result.split("\n").each do |line|
- if line =~ /^(.+)=(.+)$/
- var = $1; val = $2
-
- Facter.add(var) do
- setcode { val }
- end
- end
- end
- rescue Exception => e
- Facter.warn("Failed to handle #{file} as script facts: #{e.class}: #{e}")
- Facter.debug(e.backtrace.join("\n\t"))
- end
-
- def cache_save!
- cache = load_cache
- File.open(@cache_file, "w", 0600) {|f| f.write(YAML.dump(cache)) }
- rescue
- end
-
- def cache_store(file, data)
- load_cache
-
- @cache[file] = {:data => data, :stored => Time.now.to_i}
- rescue
- end
-
- def cache_lookup(file)
- cache = load_cache
-
- return nil if cache.empty?
-
- ttl = cache_time(file)
-
- if cache[file]
- now = Time.now.to_i
-
- return cache[file][:data] if ttl == -1
- return cache[file][:data] if (now - cache[file][:stored]) <= ttl
- return nil
- else
- return nil
- end
- rescue
- return nil
- end
-
- def cache_time(file)
- meta = file + ".ttl"
-
- return File.read(meta).chomp.to_i
- rescue
- return 0
- end
-
- def load_cache
- unless @cache
- if File.exist?(@cache_file)
- @cache = YAML.load_file(@cache_file)
- else
- @cache = {}
- end
- end
-
- return @cache
- rescue
- @cache = {}
- return @cache
- end
-
- def create
- entries.each do |fact|
- type = fact_type(fact)
- parser = "#{type}_parser"
-
- if respond_to?("#{type}_parser")
- Facter.debug("Parsing #{fact} using #{parser}")
-
- send(parser, fact)
- end
- end
- end
-end
-
-
-mdata = Facter.version.match(/(\d+)\.(\d+)\.(\d+)/)
-if mdata
- (major, minor, patch) = mdata.captures.map { |v| v.to_i }
- if major < 2
- # Facter 1.7 introduced external facts support directly
- unless major == 1 and minor > 6
- Facter::Util::DotD.new("/etc/facter/facts.d").create
- Facter::Util::DotD.new("/etc/puppetlabs/facter/facts.d").create
-
- # Windows has a different configuration directory that defaults to a vendor
- # specific sub directory of the %COMMON_APPDATA% directory.
- if Dir.const_defined? 'COMMON_APPDATA' then
- windows_facts_dot_d = File.join(Dir::COMMON_APPDATA, 'PuppetLabs', 'facter', 'facts.d')
- Facter::Util::DotD.new(windows_facts_dot_d).create
- end
- end
- end
-end
diff --git a/modules/stdlib/lib/facter/pe_version.rb b/modules/stdlib/lib/facter/pe_version.rb
deleted file mode 100644
index 0cc0f64..0000000
--- a/modules/stdlib/lib/facter/pe_version.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-# Fact: is_pe, pe_version, pe_major_version, pe_minor_version, pe_patch_version
-#
-# Purpose: Return various facts about the PE state of the system
-#
-# Resolution: Uses a regex match against puppetversion to determine whether the
-# machine has Puppet Enterprise installed, and what version (overall, major,
-# minor, patch) is installed.
-#
-# Caveats:
-#
-Facter.add("pe_version") do
- setcode do
- pe_ver = Facter.value("puppetversion").match(/Puppet Enterprise (\d+\.\d+\.\d+)/)
- pe_ver[1] if pe_ver
- end
-end
-
-Facter.add("is_pe") do
- setcode do
- if Facter.value(:pe_version).to_s.empty? then
- false
- else
- true
- end
- end
-end
-
-Facter.add("pe_major_version") do
- confine :is_pe => true
- setcode do
- if pe_version = Facter.value(:pe_version)
- pe_version.to_s.split('.')[0]
- end
- end
-end
-
-Facter.add("pe_minor_version") do
- confine :is_pe => true
- setcode do
- if pe_version = Facter.value(:pe_version)
- pe_version.to_s.split('.')[1]
- end
- end
-end
-
-Facter.add("pe_patch_version") do
- confine :is_pe => true
- setcode do
- if pe_version = Facter.value(:pe_version)
- pe_version.to_s.split('.')[2]
- end
- end
-end
diff --git a/modules/stdlib/lib/facter/puppet_vardir.rb b/modules/stdlib/lib/facter/puppet_vardir.rb
deleted file mode 100644
index 0e6af40..0000000
--- a/modules/stdlib/lib/facter/puppet_vardir.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# This facter fact returns the value of the Puppet vardir setting for the node
-# running puppet or puppet agent. The intent is to enable Puppet modules to
-# automatically have insight into a place where they can place variable data,
-# regardless of the node's platform.
-#
-# The value should be directly usable in a File resource path attribute.
-
-
-begin
- require 'facter/util/puppet_settings'
-rescue LoadError => e
- # puppet apply does not add module lib directories to the $LOAD_PATH (See
- # #4248). It should (in the future) but for the time being we need to be
- # defensive which is what this rescue block is doing.
- rb_file = File.join(File.dirname(__FILE__), 'util', 'puppet_settings.rb')
- load rb_file if File.exists?(rb_file) or raise e
-end
-
-Facter.add(:puppet_vardir) do
- setcode do
- # This will be nil if Puppet is not available.
- Facter::Util::PuppetSettings.with_puppet do
- Puppet[:vardir]
- end
- end
-end
diff --git a/modules/stdlib/lib/facter/root_home.rb b/modules/stdlib/lib/facter/root_home.rb
deleted file mode 100644
index b4f87ff..0000000
--- a/modules/stdlib/lib/facter/root_home.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-# A facter fact to determine the root home directory.
-# This varies on PE supported platforms and may be
-# reconfigured by the end user.
-
-module Facter::Util::RootHome
- class << self
- def get_root_home
- root_ent = Facter::Util::Resolution.exec("getent passwd root")
- # The home directory is the sixth element in the passwd entry
- # If the platform doesn't have getent, root_ent will be nil and we should
- # return it straight away.
- root_ent && root_ent.split(":")[5]
- end
- end
-end
-
-Facter.add(:root_home) do
- setcode { Facter::Util::RootHome.get_root_home }
-end
-
-Facter.add(:root_home) do
- confine :kernel => :darwin
- setcode do
- str = Facter::Util::Resolution.exec("dscacheutil -q user -a name root")
- hash = {}
- str.split("\n").each do |pair|
- key,value = pair.split(/:/)
- hash[key] = value
- end
- hash['dir'].strip
- end
-end
diff --git a/modules/stdlib/lib/facter/util/puppet_settings.rb b/modules/stdlib/lib/facter/util/puppet_settings.rb
deleted file mode 100644
index 1ad9452..0000000
--- a/modules/stdlib/lib/facter/util/puppet_settings.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-module Facter
- module Util
- module PuppetSettings
- # This method is intended to provide a convenient way to evaluate a
- # Facter code block only if Puppet is loaded. This is to account for the
- # situation where the fact happens to be in the load path, but Puppet is
- # not loaded for whatever reason. Perhaps the user is simply running
- # facter without the --puppet flag and they happen to be working in a lib
- # directory of a module.
- def self.with_puppet
- begin
- Module.const_get("Puppet")
- rescue NameError
- nil
- else
- yield
- end
- end
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/abs.rb b/modules/stdlib/lib/puppet/parser/functions/abs.rb
deleted file mode 100644
index 11d2d7f..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/abs.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# abs.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:abs, :type => :rvalue, :doc => <<-EOS
- Returns the absolute value of a number, for example -34.56 becomes
- 34.56. Takes a single integer and float value as an argument.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "abs(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
-
- # Numbers in Puppet are often string-encoded which is troublesome ...
- if value.is_a?(String)
- if value.match(/^-?(?:\d+)(?:\.\d+){1}$/)
- value = value.to_f
- elsif value.match(/^-?\d+$/)
- value = value.to_i
- else
- raise(Puppet::ParseError, 'abs(): Requires float or ' +
- 'integer to work with')
- end
- end
-
- # We have numeric value to handle ...
- result = value.abs
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/any2array.rb b/modules/stdlib/lib/puppet/parser/functions/any2array.rb
deleted file mode 100644
index e71407e..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/any2array.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# any2array.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:any2array, :type => :rvalue, :doc => <<-EOS
-This converts any object to an array containing that object. Empty argument
-lists are converted to an empty array. Arrays are left untouched. Hashes are
-converted to arrays of alternating keys and values.
- EOS
- ) do |arguments|
-
- if arguments.empty?
- return []
- end
-
- if arguments.length == 1
- if arguments[0].kind_of?(Array)
- return arguments[0]
- elsif arguments[0].kind_of?(Hash)
- result = []
- arguments[0].each do |key, value|
- result << key << value
- end
- return result
- end
- end
-
- return arguments
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/base64.rb b/modules/stdlib/lib/puppet/parser/functions/base64.rb
deleted file mode 100644
index 617ba31..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/base64.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:base64, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
-
- Base64 encode or decode a string based on the command and the string submitted
-
- Usage:
-
- $encodestring = base64('encode','thestring')
- $decodestring = base64('decode','dGhlc3RyaW5n')
-
- ENDHEREDOC
-
- require 'base64'
-
- raise Puppet::ParseError, ("base64(): Wrong number of arguments (#{args.length}; must be = 2)") unless args.length == 2
-
- actions = ['encode','decode']
-
- unless actions.include?(args[0])
- raise Puppet::ParseError, ("base64(): the first argument must be one of 'encode' or 'decode'")
- end
-
- unless args[1].is_a?(String)
- raise Puppet::ParseError, ("base64(): the second argument must be a string to base64")
- end
-
- case args[0]
- when 'encode'
- result = Base64.encode64(args[1])
- when 'decode'
- result = Base64.decode64(args[1])
- end
-
- return result
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/bool2num.rb b/modules/stdlib/lib/puppet/parser/functions/bool2num.rb
deleted file mode 100644
index 9a07a8a..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/bool2num.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# bool2num.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:bool2num, :type => :rvalue, :doc => <<-EOS
- Converts a boolean to a number. Converts the values:
- false, f, 0, n, and no to 0
- true, t, 1, y, and yes to 1
- Requires a single boolean or string as an input.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "bool2num(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- # We can have either true or false, or string which resembles boolean ...
- unless [FalseClass, TrueClass, String].include?(klass)
- raise(Puppet::ParseError, 'bool2num(): Requires either ' +
- 'boolean or string to work with')
- end
-
- if value.is_a?(String)
- # We consider all the yes, no, y, n and so on too ...
- value = case value
- #
- # This is how undef looks like in Puppet ...
- # We yield 0 (or false if you wish) in this case.
- #
- when /^$/, '' then false # Empty string will be false ...
- when /^(1|t|y|true|yes)$/ then true
- when /^(0|f|n|false|no)$/ then false
- when /^(undef|undefined)$/ then false # This is not likely to happen ...
- else
- raise(Puppet::ParseError, 'bool2num(): Unknown type of boolean given')
- end
- end
-
- # We have real boolean values as well ...
- result = value ? 1 : 0
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/capitalize.rb b/modules/stdlib/lib/puppet/parser/functions/capitalize.rb
deleted file mode 100644
index 640d00b..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/capitalize.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# capitalize.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:capitalize, :type => :rvalue, :doc => <<-EOS
- Capitalizes the first letter of a string or array of strings.
- Requires either a single string or an array as an input.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "capitalize(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'capitalize(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.capitalize : i }
- else
- result = value.capitalize
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/chomp.rb b/modules/stdlib/lib/puppet/parser/functions/chomp.rb
deleted file mode 100644
index 4564a00..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/chomp.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# chomp.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:chomp, :type => :rvalue, :doc => <<-'EOS'
- Removes the record separator from the end of a string or an array of
- strings, for example `hello\n` becomes `hello`.
- Requires a single string or array as an input.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "chomp(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'chomp(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.chomp : i }
- else
- result = value.chomp
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/chop.rb b/modules/stdlib/lib/puppet/parser/functions/chop.rb
deleted file mode 100644
index f242af3..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/chop.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# chop.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:chop, :type => :rvalue, :doc => <<-'EOS'
- Returns a new string with the last character removed. If the string ends
- with `\r\n`, both characters are removed. Applying chop to an empty
- string returns an empty string. If you wish to merely remove record
- separators then you should use the `chomp` function.
- Requires a string or array of strings as input.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "chop(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'chop(): Requires either an ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.chop : i }
- else
- result = value.chop
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/concat.rb b/modules/stdlib/lib/puppet/parser/functions/concat.rb
deleted file mode 100644
index 6c86382..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/concat.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# concat.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:concat, :type => :rvalue, :doc => <<-EOS
-Appends the contents of array 2 onto array 1.
-
-*Example:*
-
- concat(['1','2','3'],['4','5','6'])
-
-Would result in:
-
- ['1','2','3','4','5','6']
- EOS
- ) do |arguments|
-
- # Check that 2 arguments have been given ...
- raise(Puppet::ParseError, "concat(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size != 2
-
- a = arguments[0]
- b = arguments[1]
-
- # Check that the first parameter is an array
- unless a.is_a?(Array)
- raise(Puppet::ParseError, 'concat(): Requires array to work with')
- end
-
- if b.is_a?(Array)
- result = a.concat(b)
- else
- result = a << b
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/count.rb b/modules/stdlib/lib/puppet/parser/functions/count.rb
deleted file mode 100644
index 52de1b8..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/count.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:count, :type => :rvalue, :arity => -2, :doc => <<-EOS
-Takes an array as first argument and an optional second argument.
-Count the number of elements in array that matches second argument.
-If called with only an array it counts the number of elements that are not nil/undef.
- EOS
- ) do |args|
-
- if (args.size > 2) then
- raise(ArgumentError, "count(): Wrong number of arguments "+
- "given #{args.size} for 1 or 2.")
- end
-
- collection, item = args
-
- if item then
- collection.count item
- else
- collection.count { |obj| obj != nil && obj != :undef && obj != '' }
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb b/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb
deleted file mode 100644
index 6df32e9..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:deep_merge, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
- Recursively merges two or more hashes together and returns the resulting hash.
-
- For example:
-
- $hash1 = {'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }
- $hash2 = {'two' => 'dos', 'three' => { 'five' => 5 } }
- $merged_hash = deep_merge($hash1, $hash2)
- # The resulting hash is equivalent to:
- # $merged_hash = { 'one' => 1, 'two' => 'dos', 'three' => { 'four' => 4, 'five' => 5 } }
-
- When there is a duplicate key that is a hash, they are recursively merged.
- When there is a duplicate key that is not a hash, the key in the rightmost hash will "win."
-
- ENDHEREDOC
-
- if args.length < 2
- raise Puppet::ParseError, ("deep_merge(): wrong number of arguments (#{args.length}; must be at least 2)")
- end
-
- deep_merge = Proc.new do |hash1,hash2|
- hash1.merge(hash2) do |key,old_value,new_value|
- if old_value.is_a?(Hash) && new_value.is_a?(Hash)
- deep_merge.call(old_value, new_value)
- else
- new_value
- end
- end
- end
-
- result = Hash.new
- args.each do |arg|
- next if arg.is_a? String and arg.empty? # empty string is synonym for puppet's undef
- # If the argument was not a hash, skip it.
- unless arg.is_a?(Hash)
- raise Puppet::ParseError, "deep_merge: unexpected argument type #{arg.class}, only expects hash arguments"
- end
-
- result = deep_merge.call(result, arg)
- end
- return( result )
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb b/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb
deleted file mode 100644
index d7df306..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Test whether a given class or definition is defined
-require 'puppet/parser/functions'
-
-Puppet::Parser::Functions.newfunction(:defined_with_params,
- :type => :rvalue,
- :doc => <<-'ENDOFDOC'
-Takes a resource reference and an optional hash of attributes.
-
-Returns true if a resource with the specified attributes has already been added
-to the catalog, and false otherwise.
-
- user { 'dan':
- ensure => present,
- }
-
- if ! defined_with_params(User[dan], {'ensure' => 'present' }) {
- user { 'dan': ensure => present, }
- }
-ENDOFDOC
-) do |vals|
- reference, params = vals
- raise(ArgumentError, 'Must specify a reference') unless reference
- if (! params) || params == ''
- params = {}
- end
- ret = false
- if resource = findresource(reference.to_s)
- matches = params.collect do |key, value|
- resource[key] == value
- end
- ret = params.empty? || !matches.include?(false)
- end
- Puppet.debug("Resource #{reference} was not determined to be defined")
- ret
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/delete.rb b/modules/stdlib/lib/puppet/parser/functions/delete.rb
deleted file mode 100644
index d03a293..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/delete.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# delete.rb
-#
-
-# TODO(Krzysztof Wilczynski): We need to add support for regular expression ...
-
-module Puppet::Parser::Functions
- newfunction(:delete, :type => :rvalue, :doc => <<-EOS
-Deletes all instances of a given element from an array, substring from a
-string, or key from a hash.
-
-*Examples:*
-
- delete(['a','b','c','b'], 'b')
- Would return: ['a','c']
-
- delete({'a'=>1,'b'=>2,'c'=>3}, 'b')
- Would return: {'a'=>1,'c'=>3}
-
- delete('abracadabra', 'bra')
- Would return: 'acada'
- EOS
- ) do |arguments|
-
- if (arguments.size != 2) then
- raise(Puppet::ParseError, "delete(): Wrong number of arguments "+
- "given #{arguments.size} for 2.")
- end
-
- collection = arguments[0].dup
- item = arguments[1]
-
- case collection
- when Array, Hash
- collection.delete item
- when String
- collection.gsub! item, ''
- else
- raise(TypeError, "delete(): First argument must be an Array, " +
- "String, or Hash. Given an argument of class #{collection.class}.")
- end
- collection
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/delete_at.rb b/modules/stdlib/lib/puppet/parser/functions/delete_at.rb
deleted file mode 100644
index 3eb4b53..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/delete_at.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# delete_at.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:delete_at, :type => :rvalue, :doc => <<-EOS
-Deletes a determined indexed value from an array.
-
-*Examples:*
-
- delete_at(['a','b','c'], 1)
-
-Would return: ['a','c']
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "delete_at(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'delete_at(): Requires array to work with')
- end
-
- index = arguments[1]
-
- if index.is_a?(String) and not index.match(/^\d+$/)
- raise(Puppet::ParseError, 'delete_at(): You must provide ' +
- 'non-negative numeric index')
- end
-
- result = array.clone
-
- # Numbers in Puppet are often string-encoded which is troublesome ...
- index = index.to_i
-
- if index > result.size - 1 # First element is at index 0 is it not?
- raise(Puppet::ParseError, 'delete_at(): Given index ' +
- 'exceeds size of array given')
- end
-
- result.delete_at(index) # We ignore the element that got deleted ...
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb b/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb
deleted file mode 100644
index f94d4da..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:delete_undef_values, :type => :rvalue, :doc => <<-EOS
-Returns a copy of input hash or array with all undefs deleted.
-
-*Examples:*
-
- $hash = delete_undef_values({a=>'A', b=>'', c=>undef, d => false})
-
-Would return: {a => 'A', b => '', d => false}
-
- $array = delete_undef_values(['A','',undef,false])
-
-Would return: ['A','',false]
-
- EOS
- ) do |args|
-
- raise(Puppet::ParseError,
- "delete_undef_values(): Wrong number of arguments given " +
- "(#{args.size})") if args.size < 1
-
- unless args[0].is_a? Array or args[0].is_a? Hash
- raise(Puppet::ParseError,
- "delete_undef_values(): expected an array or hash, got #{args[0]} type #{args[0].class} ")
- end
- result = args[0].dup
- if result.is_a?(Hash)
- result.delete_if {|key, val| val.equal? :undef}
- elsif result.is_a?(Array)
- result.delete :undef
- end
- result
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/delete_values.rb b/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
deleted file mode 100644
index f6c8c0e..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:delete_values, :type => :rvalue, :doc => <<-EOS
-Deletes all instances of a given value from a hash.
-
-*Examples:*
-
- delete_values({'a'=>'A','b'=>'B','c'=>'C','B'=>'D'}, 'B')
-
-Would return: {'a'=>'A','c'=>'C','B'=>'D'}
-
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError,
- "delete_values(): Wrong number of arguments given " +
- "(#{arguments.size} of 2)") if arguments.size != 2
-
- hash, item = arguments
-
- if not hash.is_a?(Hash)
- raise(TypeError, "delete_values(): First argument must be a Hash. " + \
- "Given an argument of class #{hash.class}.")
- end
- hash.dup.delete_if { |key, val| item == val }
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/difference.rb b/modules/stdlib/lib/puppet/parser/functions/difference.rb
deleted file mode 100644
index cd258f7..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/difference.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# difference.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:difference, :type => :rvalue, :doc => <<-EOS
-This function returns the difference between two arrays.
-The returned array is a copy of the original array, removing any items that
-also appear in the second array.
-
-*Examples:*
-
- difference(["a","b","c"],["b","c","d"])
-
-Would return: ["a"]
- EOS
- ) do |arguments|
-
- # Two arguments are required
- raise(Puppet::ParseError, "difference(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size != 2
-
- first = arguments[0]
- second = arguments[1]
-
- unless first.is_a?(Array) && second.is_a?(Array)
- raise(Puppet::ParseError, 'difference(): Requires 2 arrays')
- end
-
- result = first - second
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/dirname.rb b/modules/stdlib/lib/puppet/parser/functions/dirname.rb
deleted file mode 100644
index ea8cc1e..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/dirname.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:dirname, :type => :rvalue, :doc => <<-EOS
- Returns the dirname of a path.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "dirname(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- path = arguments[0]
- return File.dirname(path)
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/downcase.rb b/modules/stdlib/lib/puppet/parser/functions/downcase.rb
deleted file mode 100644
index 4066d21..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/downcase.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# downcase.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:downcase, :type => :rvalue, :doc => <<-EOS
-Converts the case of a string or all strings in an array to lower case.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "downcase(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'downcase(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.downcase : i }
- else
- result = value.downcase
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/empty.rb b/modules/stdlib/lib/puppet/parser/functions/empty.rb
deleted file mode 100644
index 80ebb86..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/empty.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# empty.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:empty, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable is empty.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "empty(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, Hash, String].include?(klass)
- raise(Puppet::ParseError, 'empty(): Requires either ' +
- 'array, hash or string to work with')
- end
-
- result = value.empty?
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb b/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb
deleted file mode 100644
index f1da4aa..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# ensure_packages.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:ensure_packages, :type => :statement, :doc => <<-EOS
-Takes a list of packages and only installs them if they don't already exist.
-It optionally takes a hash as a second parameter that will be passed as the
-third argument to the ensure_resource() function.
- EOS
- ) do |arguments|
-
- if arguments.size > 2 or arguments.size == 0
- raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
- "given (#{arguments.size} for 1 or 2)")
- elsif arguments.size == 2 and !arguments[1].is_a?(Hash)
- raise(Puppet::ParseError, 'ensure_packages(): Requires second argument to be a Hash')
- end
-
- packages = Array(arguments[0])
-
- if arguments[1]
- defaults = { 'ensure' => 'present' }.merge(arguments[1])
- else
- defaults = { 'ensure' => 'present' }
- end
-
- Puppet::Parser::Functions.function(:ensure_resource)
- packages.each { |package_name|
- function_ensure_resource(['package', package_name, defaults ])
- }
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb b/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb
deleted file mode 100644
index 05e5593..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# Test whether a given class or definition is defined
-require 'puppet/parser/functions'
-
-Puppet::Parser::Functions.newfunction(:ensure_resource,
- :type => :statement,
- :doc => <<-'ENDOFDOC'
-Takes a resource type, title, and a list of attributes that describe a
-resource.
-
- user { 'dan':
- ensure => present,
- }
-
-This example only creates the resource if it does not already exist:
-
- ensure_resource('user', 'dan', {'ensure' => 'present' })
-
-If the resource already exists but does not match the specified parameters,
-this function will attempt to recreate the resource leading to a duplicate
-resource definition error.
-
-An array of resources can also be passed in and each will be created with
-the type and parameters specified if it doesn't already exist.
-
- ensure_resource('user', ['dan','alex'], {'ensure' => 'present'})
-
-ENDOFDOC
-) do |vals|
- type, title, params = vals
- raise(ArgumentError, 'Must specify a type') unless type
- raise(ArgumentError, 'Must specify a title') unless title
- params ||= {}
-
- items = [title].flatten
-
- items.each do |item|
- Puppet::Parser::Functions.function(:defined_with_params)
- if function_defined_with_params(["#{type}[#{item}]", params])
- Puppet.debug("Resource #{type}[#{item}] not created because it already exists")
- else
- Puppet::Parser::Functions.function(:create_resources)
- function_create_resources([type.capitalize, { item => params }])
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/flatten.rb b/modules/stdlib/lib/puppet/parser/functions/flatten.rb
deleted file mode 100644
index a1ed183..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/flatten.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# flatten.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:flatten, :type => :rvalue, :doc => <<-EOS
-This function flattens any deeply nested arrays and returns a single flat array
-as a result.
-
-*Examples:*
-
- flatten(['a', ['b', ['c']]])
-
-Would return: ['a','b','c']
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "flatten(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'flatten(): Requires array to work with')
- end
-
- result = array.flatten
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/floor.rb b/modules/stdlib/lib/puppet/parser/functions/floor.rb
deleted file mode 100644
index 9a6f014..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/floor.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:floor, :type => :rvalue, :doc => <<-EOS
- Returns the largest integer less or equal to the argument.
- Takes a single numeric value as an argument.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "floor(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- begin
- arg = Float(arguments[0])
- rescue TypeError, ArgumentError => e
- raise(Puppet::ParseError, "floor(): Wrong argument type " +
- "given (#{arguments[0]} for Numeric)")
- end
-
- raise(Puppet::ParseError, "floor(): Wrong argument type " +
- "given (#{arg.class} for Numeric)") if arg.is_a?(Numeric) == false
-
- arg.floor
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb b/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb
deleted file mode 100644
index 6558206..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# fqdn_rotate.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:fqdn_rotate, :type => :rvalue, :doc => <<-EOS
-Rotates an array a random number of times based on a nodes fqdn.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "fqdn_rotate(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
- require 'digest/md5'
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'fqdn_rotate(): Requires either ' +
- 'array or string to work with')
- end
-
- result = value.clone
-
- string = value.is_a?(String) ? true : false
-
- # Check whether it makes sense to rotate ...
- return result if result.size <= 1
-
- # We turn any string value into an array to be able to rotate ...
- result = string ? result.split('') : result
-
- elements = result.size
-
- srand(Digest::MD5.hexdigest([lookupvar('::fqdn'),arguments].join(':')).hex)
- rand(elements).times {
- result.push result.shift
- }
-
- result = string ? result.join : result
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb b/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb
deleted file mode 100644
index 1421b91..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:get_module_path, :type =>:rvalue, :doc => <<-EOT
- Returns the absolute path of the specified module for the current
- environment.
-
- Example:
- $module_path = get_module_path('stdlib')
- EOT
- ) do |args|
- raise(Puppet::ParseError, "get_module_path(): Wrong number of arguments, expects one") unless args.size == 1
- if module_path = Puppet::Module.find(args[0], compiler.environment.to_s)
- module_path.path
- else
- raise(Puppet::ParseError, "Could not find module #{args[0]} in environment #{compiler.environment}")
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/getparam.rb b/modules/stdlib/lib/puppet/parser/functions/getparam.rb
deleted file mode 100644
index 6d51006..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/getparam.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Test whether a given class or definition is defined
-require 'puppet/parser/functions'
-
-Puppet::Parser::Functions.newfunction(:getparam,
- :type => :rvalue,
- :doc => <<-'ENDOFDOC'
-Takes a resource reference and name of the parameter and
-returns value of resource's parameter.
-
-*Examples:*
-
- define example_resource($param) {
- }
-
- example_resource { "example_resource_instance":
- param => "param_value"
- }
-
- getparam(Example_resource["example_resource_instance"], "param")
-
-Would return: param_value
-ENDOFDOC
-) do |vals|
- reference, param = vals
- raise(ArgumentError, 'Must specify a reference') unless reference
- raise(ArgumentError, 'Must specify name of a parameter') unless param and param.instance_of? String
-
- return '' if param.empty?
-
- if resource = findresource(reference.to_s)
- return resource[param] if resource[param]
- end
-
- return ''
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/getvar.rb b/modules/stdlib/lib/puppet/parser/functions/getvar.rb
deleted file mode 100644
index 1621149..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/getvar.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:getvar, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
- Lookup a variable in a remote namespace.
-
- For example:
-
- $foo = getvar('site::data::foo')
- # Equivalent to $foo = $site::data::foo
-
- This is useful if the namespace itself is stored in a string:
-
- $datalocation = 'site::data'
- $bar = getvar("${datalocation}::bar")
- # Equivalent to $bar = $site::data::bar
- ENDHEREDOC
-
- unless args.length == 1
- raise Puppet::ParseError, ("getvar(): wrong number of arguments (#{args.length}; must be 1)")
- end
-
- self.lookupvar("#{args[0]}")
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/grep.rb b/modules/stdlib/lib/puppet/parser/functions/grep.rb
deleted file mode 100644
index ceba9ec..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/grep.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# grep.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:grep, :type => :rvalue, :doc => <<-EOS
-This function searches through an array and returns any elements that match
-the provided regular expression.
-
-*Examples:*
-
- grep(['aaa','bbb','ccc','aaaddd'], 'aaa')
-
-Would return:
-
- ['aaa','aaaddd']
- EOS
- ) do |arguments|
-
- if (arguments.size != 2) then
- raise(Puppet::ParseError, "grep(): Wrong number of arguments "+
- "given #{arguments.size} for 2")
- end
-
- a = arguments[0]
- pattern = Regexp.new(arguments[1])
-
- a.grep(pattern)
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb b/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb
deleted file mode 100644
index 7f150a7..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# has_interface_with
-#
-
-module Puppet::Parser::Functions
- newfunction(:has_interface_with, :type => :rvalue, :doc => <<-EOS
-Returns boolean based on kind and value:
- * macaddress
- * netmask
- * ipaddress
- * network
-
-has_interface_with("macaddress", "x:x:x:x:x:x")
-has_interface_with("ipaddress", "127.0.0.1") => true
-etc.
-
-If no "kind" is given, then the presence of the interface is checked:
-has_interface_with("lo") => true
- EOS
- ) do |args|
-
- raise(Puppet::ParseError, "has_interface_with(): Wrong number of arguments " +
- "given (#{args.size} for 1 or 2)") if args.size < 1 or args.size > 2
-
- interfaces = lookupvar('interfaces')
-
- # If we do not have any interfaces, then there are no requested attributes
- return false if (interfaces == :undefined)
-
- interfaces = interfaces.split(',')
-
- if args.size == 1
- return interfaces.member?(args[0])
- end
-
- kind, value = args
-
- if lookupvar(kind) == value
- return true
- end
-
- result = false
- interfaces.each do |iface|
- if value == lookupvar("#{kind}_#{iface}")
- result = true
- break
- end
- end
-
- result
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb b/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb
deleted file mode 100644
index 842c8ec..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# has_ip_address
-#
-
-module Puppet::Parser::Functions
- newfunction(:has_ip_address, :type => :rvalue, :doc => <<-EOS
-Returns true if the client has the requested IP address on some interface.
-
-This function iterates through the 'interfaces' fact and checks the
-'ipaddress_IFACE' facts, performing a simple string comparison.
- EOS
- ) do |args|
-
- raise(Puppet::ParseError, "has_ip_address(): Wrong number of arguments " +
- "given (#{args.size} for 1)") if args.size != 1
-
- Puppet::Parser::Functions.autoloader.load(:has_interface_with) \
- unless Puppet::Parser::Functions.autoloader.loaded?(:has_interface_with)
-
- function_has_interface_with(['ipaddress', args[0]])
-
- end
-end
-
-# vim:sts=2 sw=2
diff --git a/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb b/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb
deleted file mode 100644
index 9ccf902..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# has_ip_network
-#
-
-module Puppet::Parser::Functions
- newfunction(:has_ip_network, :type => :rvalue, :doc => <<-EOS
-Returns true if the client has an IP address within the requested network.
-
-This function iterates through the 'interfaces' fact and checks the
-'network_IFACE' facts, performing a simple string comparision.
- EOS
- ) do |args|
-
- raise(Puppet::ParseError, "has_ip_network(): Wrong number of arguments " +
- "given (#{args.size} for 1)") if args.size != 1
-
- Puppet::Parser::Functions.autoloader.load(:has_interface_with) \
- unless Puppet::Parser::Functions.autoloader.loaded?(:has_interface_with)
-
- function_has_interface_with(['network', args[0]])
-
- end
-end
-
-# vim:sts=2 sw=2
diff --git a/modules/stdlib/lib/puppet/parser/functions/has_key.rb b/modules/stdlib/lib/puppet/parser/functions/has_key.rb
deleted file mode 100644
index 4657cc2..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/has_key.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:has_key, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
- Determine if a hash has a certain key value.
-
- Example:
-
- $my_hash = {'key_one' => 'value_one'}
- if has_key($my_hash, 'key_two') {
- notice('we will not reach here')
- }
- if has_key($my_hash, 'key_one') {
- notice('this will be printed')
- }
-
- ENDHEREDOC
-
- unless args.length == 2
- raise Puppet::ParseError, ("has_key(): wrong number of arguments (#{args.length}; must be 2)")
- end
- unless args[0].is_a?(Hash)
- raise Puppet::ParseError, "has_key(): expects the first argument to be a hash, got #{args[0].inspect} which is of type #{args[0].class}"
- end
- args[0].has_key?(args[1])
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/hash.rb b/modules/stdlib/lib/puppet/parser/functions/hash.rb
deleted file mode 100644
index 8cc4823..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/hash.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# hash.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:hash, :type => :rvalue, :doc => <<-EOS
-This function converts an array into a hash.
-
-*Examples:*
-
- hash(['a',1,'b',2,'c',3])
-
-Would return: {'a'=>1,'b'=>2,'c'=>3}
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "hash(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'hash(): Requires array to work with')
- end
-
- result = {}
-
- begin
- # This is to make it compatible with older version of Ruby ...
- array = array.flatten
- result = Hash[*array]
- rescue Exception
- raise(Puppet::ParseError, 'hash(): Unable to compute ' +
- 'hash from array given')
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/intersection.rb b/modules/stdlib/lib/puppet/parser/functions/intersection.rb
deleted file mode 100644
index 48f02e9..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/intersection.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# intersection.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:intersection, :type => :rvalue, :doc => <<-EOS
-This function returns an array an intersection of two.
-
-*Examples:*
-
- intersection(["a","b","c"],["b","c","d"])
-
-Would return: ["b","c"]
- EOS
- ) do |arguments|
-
- # Two arguments are required
- raise(Puppet::ParseError, "intersection(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size != 2
-
- first = arguments[0]
- second = arguments[1]
-
- unless first.is_a?(Array) && second.is_a?(Array)
- raise(Puppet::ParseError, 'intersection(): Requires 2 arrays')
- end
-
- result = first & second
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_array.rb b/modules/stdlib/lib/puppet/parser/functions/is_array.rb
deleted file mode 100644
index b39e184..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_array.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# is_array.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_array, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is an array.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "is_array(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- type = arguments[0]
-
- result = type.is_a?(Array)
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_bool.rb b/modules/stdlib/lib/puppet/parser/functions/is_bool.rb
deleted file mode 100644
index 8bbdbc8..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_bool.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# is_bool.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_bool, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is a boolean.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "is_bool(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- type = arguments[0]
-
- result = type.is_a?(TrueClass) || type.is_a?(FalseClass)
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb b/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb
deleted file mode 100644
index b3fee96..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# is_domain_name.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_domain_name, :type => :rvalue, :doc => <<-EOS
-Returns true if the string passed to this function is a syntactically correct domain name.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_domain_name(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- domain = arguments[0]
-
- # Limits (rfc1035, 3.1)
- domain_max_length=255
- label_min_length=1
- label_max_length=63
-
- # Only allow string types
- return false unless domain.is_a?(String)
-
- # Allow ".", it is the top level domain
- return true if domain == '.'
-
- # Remove the final dot, if present.
- domain.chomp!('.')
-
- # Check the whole domain
- return false if domain.empty?
- return false if domain.length > domain_max_length
-
- # Check each label in the domain
- labels = domain.split('.')
- vlabels = labels.each do |label|
- break if label.length < label_min_length
- break if label.length > label_max_length
- break if label[-1..-1] == '-'
- break if label[0..0] == '-'
- break unless /^[a-z\d-]+$/i.match(label)
- end
- return vlabels == labels
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_float.rb b/modules/stdlib/lib/puppet/parser/functions/is_float.rb
deleted file mode 100644
index a2da943..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_float.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# is_float.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_float, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is a float.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_float(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- value = arguments[0]
-
- # Only allow Numeric or String types
- return false unless value.is_a?(Numeric) or value.is_a?(String)
-
- if value != value.to_f.to_s and !value.is_a? Float then
- return false
- else
- return true
- end
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb b/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb
deleted file mode 100644
index 6da82c8..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# is_function_available.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_function_available, :type => :rvalue, :doc => <<-EOS
-This function accepts a string as an argument, determines whether the
-Puppet runtime has access to a function by that name. It returns a
-true if the function exists, false if not.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_function_available?(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- # Only allow String types
- return false unless arguments[0].is_a?(String)
-
- function = Puppet::Parser::Functions.function(arguments[0].to_sym)
- function.is_a?(String) and not function.empty?
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_hash.rb b/modules/stdlib/lib/puppet/parser/functions/is_hash.rb
deleted file mode 100644
index ad907f0..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_hash.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# is_hash.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_hash, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is a hash.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "is_hash(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- type = arguments[0]
-
- result = type.is_a?(Hash)
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_integer.rb b/modules/stdlib/lib/puppet/parser/functions/is_integer.rb
deleted file mode 100644
index c03d28d..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_integer.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# is_integer.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_integer, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is an Integer or
-a decimal (base 10) integer in String form. The string may
-start with a '-' (minus). A value of '0' is allowed, but a leading '0' digit may not
-be followed by other digits as this indicates that the value is octal (base 8).
-
-If given any other argument `false` is returned.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_integer(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- value = arguments[0]
-
- # Regex is taken from the lexer of puppet
- # puppet/pops/parser/lexer.rb but modified to match also
- # negative values and disallow numbers prefixed with multiple
- # 0's
- #
- # TODO these parameter should be a constant but I'm not sure
- # if there is no risk to declare it inside of the module
- # Puppet::Parser::Functions
-
- # Integer numbers like
- # -1234568981273
- # 47291
- numeric = %r{^-?(?:(?:[1-9]\d*)|0)$}
-
- if value.is_a? Integer or (value.is_a? String and value.match numeric)
- return true
- else
- return false
- end
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb b/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb
deleted file mode 100644
index a90adab..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# is_ip_address.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_ip_address, :type => :rvalue, :doc => <<-EOS
-Returns true if the string passed to this function is a valid IP address.
- EOS
- ) do |arguments|
-
- require 'ipaddr'
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_ip_address(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- begin
- ip = IPAddr.new(arguments[0])
- rescue ArgumentError
- return false
- end
-
- if ip.ipv4? or ip.ipv6? then
- return true
- else
- return false
- end
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb b/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb
deleted file mode 100644
index 1b3088a..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# is_mac_address.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_mac_address, :type => :rvalue, :doc => <<-EOS
-Returns true if the string passed to this function is a valid mac address.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_mac_address(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- mac = arguments[0]
-
- if /^[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}$/.match(mac) then
- return true
- else
- return false
- end
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb b/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb
deleted file mode 100644
index e7e1d2a..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# is_numeric.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_numeric, :type => :rvalue, :doc => <<-EOS
-Returns true if the given argument is a Numeric (Integer or Float),
-or a String containing either a valid integer in decimal base 10 form, or
-a valid floating point string representation.
-
-The function recognizes only decimal (base 10) integers and float but not
-integers in hex (base 16) or octal (base 8) form.
-
-The string representation may start with a '-' (minus). If a decimal '.' is used,
-it must be followed by at least one digit.
-
-Valid examples:
-
- 77435
- 10e-12
- -8475
- 0.2343
- -23.561e3
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "is_numeric(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- value = arguments[0]
-
- # Regex is taken from the lexer of puppet
- # puppet/pops/parser/lexer.rb but modified to match also
- # negative values and disallow invalid octal numbers or
- # numbers prefixed with multiple 0's (except in hex numbers)
- #
- # TODO these parameters should be constants but I'm not sure
- # if there is no risk to declare them inside of the module
- # Puppet::Parser::Functions
-
- # TODO decide if this should be used
- # HEX numbers like
- # 0xaa230F
- # 0X1234009C
- # 0x0012
- # -12FcD
- #numeric_hex = %r{^-?0[xX][0-9A-Fa-f]+$}
-
- # TODO decide if this should be used
- # OCTAL numbers like
- # 01234567
- # -045372
- #numeric_oct = %r{^-?0[1-7][0-7]*$}
-
- # Integer/Float numbers like
- # -0.1234568981273
- # 47291
- # 42.12345e-12
- numeric = %r{^-?(?:(?:[1-9]\d*)|0)(?:\.\d+)?(?:[eE]-?\d+)?$}
-
- if value.is_a? Numeric or (value.is_a? String and (
- value.match(numeric) #or
- # value.match(numeric_hex) or
- # value.match(numeric_oct)
- ))
- return true
- else
- return false
- end
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/is_string.rb b/modules/stdlib/lib/puppet/parser/functions/is_string.rb
deleted file mode 100644
index f5bef04..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/is_string.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# is_string.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:is_string, :type => :rvalue, :doc => <<-EOS
-Returns true if the variable passed to this function is a string.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "is_string(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- type = arguments[0]
-
- result = type.is_a?(String)
-
- if result and (type == type.to_f.to_s or type == type.to_i.to_s) then
- return false
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/join.rb b/modules/stdlib/lib/puppet/parser/functions/join.rb
deleted file mode 100644
index 6c0a6ba..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/join.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# join.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:join, :type => :rvalue, :doc => <<-EOS
-This function joins an array into a string using a separator.
-
-*Examples:*
-
- join(['a','b','c'], ",")
-
-Would result in: "a,b,c"
- EOS
- ) do |arguments|
-
- # Technically we support two arguments but only first is mandatory ...
- raise(Puppet::ParseError, "join(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'join(): Requires array to work with')
- end
-
- suffix = arguments[1] if arguments[1]
-
- if suffix
- unless suffix.is_a?(String)
- raise(Puppet::ParseError, 'join(): Requires string to work with')
- end
- end
-
- result = suffix ? array.join(suffix) : array.join
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb b/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb
deleted file mode 100644
index e9924fe..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# join.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:join_keys_to_values, :type => :rvalue, :doc => <<-EOS
-This function joins each key of a hash to that key's corresponding value with a
-separator. Keys and values are cast to strings. The return value is an array in
-which each element is one joined key/value pair.
-
-*Examples:*
-
- join_keys_to_values({'a'=>1,'b'=>2}, " is ")
-
-Would result in: ["a is 1","b is 2"]
- EOS
- ) do |arguments|
-
- # Validate the number of arguments.
- if arguments.size != 2
- raise(Puppet::ParseError, "join_keys_to_values(): Takes exactly two " +
- "arguments, but #{arguments.size} given.")
- end
-
- # Validate the first argument.
- hash = arguments[0]
- if not hash.is_a?(Hash)
- raise(TypeError, "join_keys_to_values(): The first argument must be a " +
- "hash, but a #{hash.class} was given.")
- end
-
- # Validate the second argument.
- separator = arguments[1]
- if not separator.is_a?(String)
- raise(TypeError, "join_keys_to_values(): The second argument must be a " +
- "string, but a #{separator.class} was given.")
- end
-
- # Join the keys to their values.
- hash.map do |k,v|
- String(k) + separator + String(v)
- end
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/keys.rb b/modules/stdlib/lib/puppet/parser/functions/keys.rb
deleted file mode 100644
index f0d13b6..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/keys.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# keys.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:keys, :type => :rvalue, :doc => <<-EOS
-Returns the keys of a hash as an array.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "keys(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- hash = arguments[0]
-
- unless hash.is_a?(Hash)
- raise(Puppet::ParseError, 'keys(): Requires hash to work with')
- end
-
- result = hash.keys
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb b/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb
deleted file mode 100644
index 10c4005..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:loadyaml, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
- Load a YAML file containing an array, string, or hash, and return the data
- in the corresponding native data type.
-
- For example:
-
- $myhash = loadyaml('/etc/puppet/data/myhash.yaml')
- ENDHEREDOC
-
- unless args.length == 1
- raise Puppet::ParseError, ("loadyaml(): wrong number of arguments (#{args.length}; must be 1)")
- end
-
- YAML.load_file(args[0])
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/lstrip.rb b/modules/stdlib/lib/puppet/parser/functions/lstrip.rb
deleted file mode 100644
index 3a64de3..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/lstrip.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# lstrip.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:lstrip, :type => :rvalue, :doc => <<-EOS
-Strips leading spaces to the left of a string.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "lstrip(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'lstrip(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.lstrip : i }
- else
- result = value.lstrip
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/max.rb b/modules/stdlib/lib/puppet/parser/functions/max.rb
deleted file mode 100644
index 60fb94a..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/max.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:max, :type => :rvalue, :doc => <<-EOS
- Returns the highest value of all arguments.
- Requires at least one argument.
- EOS
- ) do |args|
-
- raise(Puppet::ParseError, "max(): Wrong number of arguments " +
- "need at least one") if args.size == 0
-
- # Sometimes we get numbers as numerics and sometimes as strings.
- # We try to compare them as numbers when possible
- return args.max do |a,b|
- if a.to_s =~ /\A-?\d+(.\d+)?\z/ and b.to_s =~ /\A-?\d+(.\d+)?\z/ then
- a.to_f <=> b.to_f
- else
- a.to_s <=> b.to_s
- end
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/member.rb b/modules/stdlib/lib/puppet/parser/functions/member.rb
deleted file mode 100644
index 43d76af..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/member.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# member.rb
-#
-
-# TODO(Krzysztof Wilczynski): We need to add support for regular expression ...
-# TODO(Krzysztof Wilczynski): Support for strings and hashes too ...
-
-module Puppet::Parser::Functions
- newfunction(:member, :type => :rvalue, :doc => <<-EOS
-This function determines if a variable is a member of an array.
-
-*Examples:*
-
- member(['a','b'], 'b')
-
-Would return: true
-
- member(['a','b'], 'c')
-
-Would return: false
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "member(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'member(): Requires array to work with')
- end
-
- item = arguments[1]
-
- raise(Puppet::ParseError, 'member(): You must provide item ' +
- 'to search for within array given') if item.empty?
-
- result = array.include?(item)
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/merge.rb b/modules/stdlib/lib/puppet/parser/functions/merge.rb
deleted file mode 100644
index 1b39f20..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/merge.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:merge, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
- Merges two or more hashes together and returns the resulting hash.
-
- For example:
-
- $hash1 = {'one' => 1, 'two', => 2}
- $hash2 = {'two' => 'dos', 'three', => 'tres'}
- $merged_hash = merge($hash1, $hash2)
- # The resulting hash is equivalent to:
- # $merged_hash = {'one' => 1, 'two' => 'dos', 'three' => 'tres'}
-
- When there is a duplicate key, the key in the rightmost hash will "win."
-
- ENDHEREDOC
-
- if args.length < 2
- raise Puppet::ParseError, ("merge(): wrong number of arguments (#{args.length}; must be at least 2)")
- end
-
- # The hash we accumulate into
- accumulator = Hash.new
- # Merge into the accumulator hash
- args.each do |arg|
- next if arg.is_a? String and arg.empty? # empty string is synonym for puppet's undef
- unless arg.is_a?(Hash)
- raise Puppet::ParseError, "merge: unexpected argument type #{arg.class}, only expects hash arguments"
- end
- accumulator.merge!(arg)
- end
- # Return the fully merged hash
- accumulator
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/min.rb b/modules/stdlib/lib/puppet/parser/functions/min.rb
deleted file mode 100644
index 6bd6ebf..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/min.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:min, :type => :rvalue, :doc => <<-EOS
- Returns the lowest value of all arguments.
- Requires at least one argument.
- EOS
- ) do |args|
-
- raise(Puppet::ParseError, "min(): Wrong number of arguments " +
- "need at least one") if args.size == 0
-
- # Sometimes we get numbers as numerics and sometimes as strings.
- # We try to compare them as numbers when possible
- return args.min do |a,b|
- if a.to_s =~ /\A^-?\d+(.\d+)?\z/ and b.to_s =~ /\A-?\d+(.\d+)?\z/ then
- a.to_f <=> b.to_f
- else
- a.to_s <=> b.to_s
- end
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/num2bool.rb b/modules/stdlib/lib/puppet/parser/functions/num2bool.rb
deleted file mode 100644
index af0e6ed..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/num2bool.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# num2bool.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:num2bool, :type => :rvalue, :doc => <<-EOS
-This function converts a number or a string representation of a number into a
-true boolean. Zero or anything non-numeric becomes false. Numbers higher then 0
-become true.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "num2bool(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- number = arguments[0]
-
- case number
- when Numeric
- # Yay, it's a number
- when String
- begin
- number = Float(number)
- rescue ArgumentError => ex
- raise(Puppet::ParseError, "num2bool(): '#{number}' does not look like a number: #{ex.message}")
- end
- else
- begin
- number = number.to_s
- rescue NoMethodError => ex
- raise(Puppet::ParseError, "num2bool(): Unable to parse argument: #{ex.message}")
- end
- end
-
- # Truncate Floats
- number = number.to_i
-
- # Return true for any positive number and false otherwise
- return number > 0
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/parsejson.rb b/modules/stdlib/lib/puppet/parser/functions/parsejson.rb
deleted file mode 100644
index a9a16a4..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/parsejson.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# parsejson.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:parsejson, :type => :rvalue, :doc => <<-EOS
-This function accepts JSON as a string and converts into the correct Puppet
-structure.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "parsejson(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- json = arguments[0]
-
- # PSON is natively available in puppet
- PSON.load(json)
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb b/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb
deleted file mode 100644
index 53d54fa..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# parseyaml.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:parseyaml, :type => :rvalue, :doc => <<-EOS
-This function accepts YAML as a string and converts it into the correct
-Puppet structure.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "parseyaml(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- require 'yaml'
-
- YAML::load(arguments[0])
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/pick.rb b/modules/stdlib/lib/puppet/parser/functions/pick.rb
deleted file mode 100644
index fdd0aef..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/pick.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:pick, :type => :rvalue, :doc => <<-EOS
-
-This function is similar to a coalesce function in SQL in that it will return
-the first value in a list of values that is not undefined or an empty string
-(two things in Puppet that will return a boolean false value). Typically,
-this function is used to check for a value in the Puppet Dashboard/Enterprise
-Console, and failover to a default value like the following:
-
- $real_jenkins_version = pick($::jenkins_version, '1.449')
-
-The value of $real_jenkins_version will first look for a top-scope variable
-called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
-Enterprise Console are brought into Puppet as top-scope variables), and,
-failing that, will use a default value of 1.449.
-
-EOS
-) do |args|
- args = args.compact
- args.delete(:undef)
- args.delete(:undefined)
- args.delete("")
- if args[0].to_s.empty? then
- fail Puppet::ParseError, "pick(): must receive at least one non empty value"
- else
- return args[0]
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/pick_default.rb b/modules/stdlib/lib/puppet/parser/functions/pick_default.rb
deleted file mode 100644
index 36e33ab..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/pick_default.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:pick_default, :type => :rvalue, :doc => <<-EOS
-
-This function is similar to a coalesce function in SQL in that it will return
-the first value in a list of values that is not undefined or an empty string
-(two things in Puppet that will return a boolean false value). If no value is
-found, it will return the last argument.
-
-Typically, this function is used to check for a value in the Puppet
-Dashboard/Enterprise Console, and failover to a default value like the
-following:
-
- $real_jenkins_version = pick_default($::jenkins_version, '1.449')
-
-The value of $real_jenkins_version will first look for a top-scope variable
-called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
-Enterprise Console are brought into Puppet as top-scope variables), and,
-failing that, will use a default value of 1.449.
-
-Note that, contrary to the pick() function, the pick_default does not fail if
-all arguments are empty. This allows pick_default to use an empty value as
-default.
-
-EOS
-) do |args|
- fail "Must receive at least one argument." if args.empty?
- default = args.last
- args = args[0..-2].compact
- args.delete(:undef)
- args.delete(:undefined)
- args.delete("")
- args << default
- return args[0]
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/prefix.rb b/modules/stdlib/lib/puppet/parser/functions/prefix.rb
deleted file mode 100644
index d02286a..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/prefix.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# prefix.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:prefix, :type => :rvalue, :doc => <<-EOS
-This function applies a prefix to all elements in an array.
-
-*Examples:*
-
- prefix(['a','b','c'], 'p')
-
-Will return: ['pa','pb','pc']
- EOS
- ) do |arguments|
-
- # Technically we support two arguments but only first is mandatory ...
- raise(Puppet::ParseError, "prefix(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise Puppet::ParseError, "prefix(): expected first argument to be an Array, got #{array.inspect}"
- end
-
- prefix = arguments[1] if arguments[1]
-
- if prefix
- unless prefix.is_a?(String)
- raise Puppet::ParseError, "prefix(): expected second argument to be a String, got #{prefix.inspect}"
- end
- end
-
- # Turn everything into string same as join would do ...
- result = array.collect do |i|
- i = i.to_s
- prefix ? prefix + i : i
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/range.rb b/modules/stdlib/lib/puppet/parser/functions/range.rb
deleted file mode 100644
index ffbdf84..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/range.rb
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-# range.rb
-#
-
-# TODO(Krzysztof Wilczynski): We probably need to approach numeric values differently ...
-
-module Puppet::Parser::Functions
- newfunction(:range, :type => :rvalue, :doc => <<-EOS
-When given range in the form of (start, stop) it will extrapolate a range as
-an array.
-
-*Examples:*
-
- range("0", "9")
-
-Will return: [0,1,2,3,4,5,6,7,8,9]
-
- range("00", "09")
-
-Will return: [0,1,2,3,4,5,6,7,8,9] (Zero padded strings are converted to
-integers automatically)
-
- range("a", "c")
-
-Will return: ["a","b","c"]
-
- range("host01", "host10")
-
-Will return: ["host01", "host02", ..., "host09", "host10"]
-
-Passing a third argument will cause the generated range to step by that
-interval, e.g.
-
- range("0", "9", "2")
-
-Will return: [0,2,4,6,8]
- EOS
- ) do |arguments|
-
- # We support more than one argument but at least one is mandatory ...
- raise(Puppet::ParseError, "range(): Wrong number of " +
- "arguments given (#{arguments.size} for 1)") if arguments.size < 1
-
- if arguments.size > 1
- start = arguments[0]
- stop = arguments[1]
- step = arguments[2].nil? ? 1 : arguments[2].to_i.abs
-
- type = '..' # We select simplest type for Range available in Ruby ...
-
- elsif arguments.size > 0
- value = arguments[0]
-
- if m = value.match(/^(\w+)(\.\.\.?|\-)(\w+)$/)
- start = m[1]
- stop = m[3]
-
- type = m[2]
-
- elsif value.match(/^.+$/)
- raise(Puppet::ParseError, 'range(): Unable to compute range ' +
- 'from the value given')
- else
- raise(Puppet::ParseError, 'range(): Unknown format of range given')
- end
- end
-
- # Check whether we have integer value if so then make it so ...
- if start.match(/^\d+$/)
- start = start.to_i
- stop = stop.to_i
- else
- start = start.to_s
- stop = stop.to_s
- end
-
- range = case type
- when /^(\.\.|\-)$/ then (start .. stop)
- when /^(\.\.\.)$/ then (start ... stop) # Exclusive of last element ...
- end
-
- result = range.step(step).collect { |i| i } # Get them all ... Pokemon ...
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/reject.rb b/modules/stdlib/lib/puppet/parser/functions/reject.rb
deleted file mode 100644
index 1953ffc..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/reject.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# reject.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:reject, :type => :rvalue, :doc => <<-EOS) do |args|
-This function searches through an array and rejects all elements that match
-the provided regular expression.
-
-*Examples:*
-
- reject(['aaa','bbb','ccc','aaaddd'], 'aaa')
-
-Would return:
-
- ['bbb','ccc']
-EOS
-
- if (args.size != 2)
- raise Puppet::ParseError,
- "reject(): Wrong number of arguments given #{args.size} for 2"
- end
-
- ary = args[0]
- pattern = Regexp.new(args[1])
-
- ary.reject { |e| e =~ pattern }
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/reverse.rb b/modules/stdlib/lib/puppet/parser/functions/reverse.rb
deleted file mode 100644
index fe04869..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/reverse.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# reverse.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:reverse, :type => :rvalue, :doc => <<-EOS
-Reverses the order of a string or array.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "reverse(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'reverse(): Requires either ' +
- 'array or string to work with')
- end
-
- result = value.reverse
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/rstrip.rb b/modules/stdlib/lib/puppet/parser/functions/rstrip.rb
deleted file mode 100644
index 29b0998..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/rstrip.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# rstrip.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:rstrip, :type => :rvalue, :doc => <<-EOS
-Strips leading spaces to the right of the string.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "rstrip(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'rstrip(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- result = value.collect { |i| i.is_a?(String) ? i.rstrip : i }
- else
- result = value.rstrip
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/shuffle.rb b/modules/stdlib/lib/puppet/parser/functions/shuffle.rb
deleted file mode 100644
index 18134ab..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/shuffle.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# shuffle.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:shuffle, :type => :rvalue, :doc => <<-EOS
-Randomizes the order of a string or array elements.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "shuffle(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'shuffle(): Requires either ' +
- 'array or string to work with')
- end
-
- result = value.clone
-
- string = value.is_a?(String) ? true : false
-
- # Check whether it makes sense to shuffle ...
- return result if result.size <= 1
-
- # We turn any string value into an array to be able to shuffle ...
- result = string ? result.split('') : result
-
- elements = result.size
-
- # Simple implementation of Fisher–Yates in-place shuffle ...
- elements.times do |i|
- j = rand(elements - i) + i
- result[j], result[i] = result[i], result[j]
- end
-
- result = string ? result.join : result
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/size.rb b/modules/stdlib/lib/puppet/parser/functions/size.rb
deleted file mode 100644
index cc207e3..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/size.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# size.rb
-#
-
-# TODO(Krzysztof Wilczynski): Support for hashes would be nice too ...
-
-module Puppet::Parser::Functions
- newfunction(:size, :type => :rvalue, :doc => <<-EOS
-Returns the number of elements in a string or array.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "size(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- item = arguments[0]
-
- if item.is_a?(String)
-
- begin
- #
- # Check whether your item is a numeric value or not ...
- # This will take care about positive and/or negative numbers
- # for both integer and floating-point values ...
- #
- # Please note that Puppet has no notion of hexadecimal
- # nor octal numbers for its DSL at this point in time ...
- #
- Float(item)
-
- raise(Puppet::ParseError, 'size(): Requires either ' +
- 'string or array to work with')
-
- rescue ArgumentError
- result = item.size
- end
-
- elsif item.is_a?(Array)
- result = item.size
- else
- raise(Puppet::ParseError, 'size(): Unknown type given')
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/sort.rb b/modules/stdlib/lib/puppet/parser/functions/sort.rb
deleted file mode 100644
index cefbe54..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/sort.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# sort.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:sort, :type => :rvalue, :doc => <<-EOS
-Sorts strings and arrays lexically.
- EOS
- ) do |arguments|
-
- if (arguments.size != 1) then
- raise(Puppet::ParseError, "sort(): Wrong number of arguments "+
- "given #{arguments.size} for 1")
- end
-
- value = arguments[0]
-
- if value.is_a?(Array) then
- value.sort
- elsif value.is_a?(String) then
- value.split("").sort.join("")
- end
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/squeeze.rb b/modules/stdlib/lib/puppet/parser/functions/squeeze.rb
deleted file mode 100644
index 81fadfd..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/squeeze.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# squeeze.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:squeeze, :type => :rvalue, :doc => <<-EOS
-Returns a new string where runs of the same character that occur in this set are replaced by a single character.
- EOS
- ) do |arguments|
-
- if ((arguments.size != 2) and (arguments.size != 1)) then
- raise(Puppet::ParseError, "squeeze(): Wrong number of arguments "+
- "given #{arguments.size} for 2 or 1")
- end
-
- item = arguments[0]
- squeezeval = arguments[1]
-
- if item.is_a?(Array) then
- if squeezeval then
- item.collect { |i| i.squeeze(squeezeval) }
- else
- item.collect { |i| i.squeeze }
- end
- else
- if squeezeval then
- item.squeeze(squeezeval)
- else
- item.squeeze
- end
- end
-
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/str2bool.rb b/modules/stdlib/lib/puppet/parser/functions/str2bool.rb
deleted file mode 100644
index 446732e..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/str2bool.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# str2bool.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:str2bool, :type => :rvalue, :doc => <<-EOS
-This converts a string to a boolean. This attempt to convert strings that
-contain things like: y, 1, t, true to 'true' and strings that contain things
-like: 0, f, n, false, no to 'false'.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "str2bool(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- string = arguments[0]
-
- # If string is already Boolean, return it
- if !!string == string
- return string
- end
-
- unless string.is_a?(String)
- raise(Puppet::ParseError, 'str2bool(): Requires either ' +
- 'string to work with')
- end
-
- # We consider all the yes, no, y, n and so on too ...
- result = case string
- #
- # This is how undef looks like in Puppet ...
- # We yield false in this case.
- #
- when /^$/, '' then false # Empty string will be false ...
- when /^(1|t|y|true|yes)$/ then true
- when /^(0|f|n|false|no)$/ then false
- when /^(undef|undefined)$/ then false # This is not likely to happen ...
- else
- raise(Puppet::ParseError, 'str2bool(): Unknown type of boolean given')
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb b/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb
deleted file mode 100644
index 7fe7b01..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# str2saltedsha512.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:str2saltedsha512, :type => :rvalue, :doc => <<-EOS
-This converts a string to a salted-SHA512 password hash (which is used for
-OS X versions >= 10.7). Given any simple string, you will get a hex version
-of a salted-SHA512 password hash that can be inserted into your Puppet
-manifests as a valid password attribute.
- EOS
- ) do |arguments|
- require 'digest/sha2'
-
- raise(Puppet::ParseError, "str2saltedsha512(): Wrong number of arguments " +
- "passed (#{arguments.size} but we require 1)") if arguments.size != 1
-
- password = arguments[0]
-
- unless password.is_a?(String)
- raise(Puppet::ParseError, 'str2saltedsha512(): Requires a ' +
- "String argument, you passed: #{password.class}")
- end
-
- seedint = rand(2**31 - 1)
- seedstring = Array(seedint).pack("L")
- saltedpass = Digest::SHA512.digest(seedstring + password)
- (seedstring + saltedpass).unpack('H*')[0]
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/strftime.rb b/modules/stdlib/lib/puppet/parser/functions/strftime.rb
deleted file mode 100644
index 0b52ade..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/strftime.rb
+++ /dev/null
@@ -1,107 +0,0 @@
-#
-# strftime.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:strftime, :type => :rvalue, :doc => <<-EOS
-This function returns formatted time.
-
-*Examples:*
-
-To return the time since epoch:
-
- strftime("%s")
-
-To return the date:
-
- strftime("%Y-%m-%d")
-
-*Format meaning:*
-
- %a - The abbreviated weekday name (``Sun'')
- %A - The full weekday name (``Sunday'')
- %b - The abbreviated month name (``Jan'')
- %B - The full month name (``January'')
- %c - The preferred local date and time representation
- %C - Century (20 in 2009)
- %d - Day of the month (01..31)
- %D - Date (%m/%d/%y)
- %e - Day of the month, blank-padded ( 1..31)
- %F - Equivalent to %Y-%m-%d (the ISO 8601 date format)
- %h - Equivalent to %b
- %H - Hour of the day, 24-hour clock (00..23)
- %I - Hour of the day, 12-hour clock (01..12)
- %j - Day of the year (001..366)
- %k - hour, 24-hour clock, blank-padded ( 0..23)
- %l - hour, 12-hour clock, blank-padded ( 0..12)
- %L - Millisecond of the second (000..999)
- %m - Month of the year (01..12)
- %M - Minute of the hour (00..59)
- %n - Newline (\n)
- %N - Fractional seconds digits, default is 9 digits (nanosecond)
- %3N millisecond (3 digits)
- %6N microsecond (6 digits)
- %9N nanosecond (9 digits)
- %p - Meridian indicator (``AM'' or ``PM'')
- %P - Meridian indicator (``am'' or ``pm'')
- %r - time, 12-hour (same as %I:%M:%S %p)
- %R - time, 24-hour (%H:%M)
- %s - Number of seconds since 1970-01-01 00:00:00 UTC.
- %S - Second of the minute (00..60)
- %t - Tab character (\t)
- %T - time, 24-hour (%H:%M:%S)
- %u - Day of the week as a decimal, Monday being 1. (1..7)
- %U - Week number of the current year,
- starting with the first Sunday as the first
- day of the first week (00..53)
- %v - VMS date (%e-%b-%Y)
- %V - Week number of year according to ISO 8601 (01..53)
- %W - Week number of the current year,
- starting with the first Monday as the first
- day of the first week (00..53)
- %w - Day of the week (Sunday is 0, 0..6)
- %x - Preferred representation for the date alone, no time
- %X - Preferred representation for the time alone, no date
- %y - Year without a century (00..99)
- %Y - Year with century
- %z - Time zone as hour offset from UTC (e.g. +0900)
- %Z - Time zone name
- %% - Literal ``%'' character
- EOS
- ) do |arguments|
-
- # Technically we support two arguments but only first is mandatory ...
- raise(Puppet::ParseError, "strftime(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- format = arguments[0]
-
- raise(Puppet::ParseError, 'strftime(): You must provide ' +
- 'format for evaluation') if format.empty?
-
- # The Time Zone argument is optional ...
- time_zone = arguments[1] if arguments[1]
-
- time = Time.new
-
- # There is probably a better way to handle Time Zone ...
- if time_zone and not time_zone.empty?
- original_zone = ENV['TZ']
-
- local_time = time.clone
- local_time = local_time.utc
-
- ENV['TZ'] = time_zone
-
- time = local_time.localtime
-
- ENV['TZ'] = original_zone
- end
-
- result = time.strftime(format)
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/strip.rb b/modules/stdlib/lib/puppet/parser/functions/strip.rb
deleted file mode 100644
index 5f4630d..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/strip.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# strip.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:strip, :type => :rvalue, :doc => <<-EOS
-This function removes leading and trailing whitespace from a string or from
-every string inside an array.
-
-*Examples:*
-
- strip(" aaa ")
-
-Would result in: "aaa"
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "strip(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'strip(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- result = value.collect { |i| i.is_a?(String) ? i.strip : i }
- else
- result = value.strip
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/suffix.rb b/modules/stdlib/lib/puppet/parser/functions/suffix.rb
deleted file mode 100644
index f7792d6..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/suffix.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# suffix.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:suffix, :type => :rvalue, :doc => <<-EOS
-This function applies a suffix to all elements in an array.
-
-*Examples:*
-
- suffix(['a','b','c'], 'p')
-
-Will return: ['ap','bp','cp']
- EOS
- ) do |arguments|
-
- # Technically we support two arguments but only first is mandatory ...
- raise(Puppet::ParseError, "suffix(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- array = arguments[0]
-
- unless array.is_a?(Array)
- raise Puppet::ParseError, "suffix(): expected first argument to be an Array, got #{array.inspect}"
- end
-
- suffix = arguments[1] if arguments[1]
-
- if suffix
- unless suffix.is_a? String
- raise Puppet::ParseError, "suffix(): expected second argument to be a String, got #{suffix.inspect}"
- end
- end
-
- # Turn everything into string same as join would do ...
- result = array.collect do |i|
- i = i.to_s
- suffix ? i + suffix : i
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/swapcase.rb b/modules/stdlib/lib/puppet/parser/functions/swapcase.rb
deleted file mode 100644
index b9e6632..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/swapcase.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# swapcase.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:swapcase, :type => :rvalue, :doc => <<-EOS
-This function will swap the existing case of a string.
-
-*Examples:*
-
- swapcase("aBcD")
-
-Would result in: "AbCd"
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "swapcase(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'swapcase(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.swapcase : i }
- else
- result = value.swapcase
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/time.rb b/modules/stdlib/lib/puppet/parser/functions/time.rb
deleted file mode 100644
index 0cddaf8..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/time.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# time.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:time, :type => :rvalue, :doc => <<-EOS
-This function will return the current time since epoch as an integer.
-
-*Examples:*
-
- time()
-
-Will return something like: 1311972653
- EOS
- ) do |arguments|
-
- # The Time Zone argument is optional ...
- time_zone = arguments[0] if arguments[0]
-
- if (arguments.size != 0) and (arguments.size != 1) then
- raise(Puppet::ParseError, "time(): Wrong number of arguments "+
- "given #{arguments.size} for 0 or 1")
- end
-
- time = Time.new
-
- # There is probably a better way to handle Time Zone ...
- if time_zone and not time_zone.empty?
- original_zone = ENV['TZ']
-
- local_time = time.clone
- local_time = local_time.utc
-
- ENV['TZ'] = time_zone
-
- time = local_time.localtime
-
- ENV['TZ'] = original_zone
- end
-
- # Calling Time#to_i on a receiver changes it. Trust me I am the Doctor.
- result = time.strftime('%s')
- result = result.to_i
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb b/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb
deleted file mode 100644
index 8ff73d1..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:to_bytes, :type => :rvalue, :doc => <<-EOS
- Converts the argument into bytes, for example 4 kB becomes 4096.
- Takes a single string value as an argument.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "to_bytes(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- arg = arguments[0]
-
- return arg if arg.is_a? Numeric
-
- value,prefix = */([0-9.e+-]*)\s*([^bB]?)/.match(arg)[1,2]
-
- value = value.to_f
- case prefix
- when '' then return value.to_i
- when 'k' then return (value*(1<<10)).to_i
- when 'M' then return (value*(1<<20)).to_i
- when 'G' then return (value*(1<<30)).to_i
- when 'T' then return (value*(1<<40)).to_i
- when 'E' then return (value*(1<<50)).to_i
- else raise Puppet::ParseError, "to_bytes(): Unknown prefix #{prefix}"
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/type.rb b/modules/stdlib/lib/puppet/parser/functions/type.rb
deleted file mode 100644
index 8d85f11..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/type.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# type.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:type, :type => :rvalue, :doc => <<-EOS
-Returns the type when passed a variable. Type can be one of:
-
-* string
-* array
-* hash
-* float
-* integer
-* boolean
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "type(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
-
- klass = value.class
-
- if not [TrueClass, FalseClass, Array, Bignum, Fixnum, Float, Hash, String].include?(klass)
- raise(Puppet::ParseError, 'type(): Unknown type')
- end
-
- klass = klass.to_s # Ugly ...
-
- # We note that Integer is the parent to Bignum and Fixnum ...
- result = case klass
- when /^(?:Big|Fix)num$/ then 'integer'
- when /^(?:True|False)Class$/ then 'boolean'
- else klass
- end
-
- if result == "String" then
- if value == value.to_i.to_s then
- result = "Integer"
- elsif value == value.to_f.to_s then
- result = "Float"
- end
- end
-
- return result.downcase
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/union.rb b/modules/stdlib/lib/puppet/parser/functions/union.rb
deleted file mode 100644
index c91bb80..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/union.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# union.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:union, :type => :rvalue, :doc => <<-EOS
-This function returns a union of two arrays.
-
-*Examples:*
-
- union(["a","b","c"],["b","c","d"])
-
-Would return: ["a","b","c","d"]
- EOS
- ) do |arguments|
-
- # Two arguments are required
- raise(Puppet::ParseError, "union(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size != 2
-
- first = arguments[0]
- second = arguments[1]
-
- unless first.is_a?(Array) && second.is_a?(Array)
- raise(Puppet::ParseError, 'union(): Requires 2 arrays')
- end
-
- result = first | second
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/unique.rb b/modules/stdlib/lib/puppet/parser/functions/unique.rb
deleted file mode 100644
index 8844a74..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/unique.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# unique.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:unique, :type => :rvalue, :doc => <<-EOS
-This function will remove duplicates from strings and arrays.
-
-*Examples:*
-
- unique("aabbcc")
-
-Will return:
-
- abc
-
-You can also use this with arrays:
-
- unique(["a","a","b","b","c","c"])
-
-This returns:
-
- ["a","b","c"]
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "unique(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'unique(): Requires either ' +
- 'array or string to work with')
- end
-
- result = value.clone
-
- string = value.is_a?(String) ? true : false
-
- # We turn any string value into an array to be able to shuffle ...
- result = string ? result.split('') : result
- result = result.uniq # Remove duplicates ...
- result = string ? result.join : result
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/upcase.rb b/modules/stdlib/lib/puppet/parser/functions/upcase.rb
deleted file mode 100644
index fe6cadc..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/upcase.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# upcase.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:upcase, :type => :rvalue, :doc => <<-EOS
-Converts a string or an array of strings to uppercase.
-
-*Examples:*
-
- upcase("abcd")
-
-Will return:
-
- ASDF
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "upcase(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'upcase(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? i.upcase : i }
- else
- result = value.upcase
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/uriescape.rb b/modules/stdlib/lib/puppet/parser/functions/uriescape.rb
deleted file mode 100644
index 0d81de5..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/uriescape.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# uriescape.rb
-#
-require 'uri'
-
-module Puppet::Parser::Functions
- newfunction(:uriescape, :type => :rvalue, :doc => <<-EOS
- Urlencodes a string or array of strings.
- Requires either a single string or an array as an input.
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "uriescape(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- value = arguments[0]
- klass = value.class
-
- unless [Array, String].include?(klass)
- raise(Puppet::ParseError, 'uriescape(): Requires either ' +
- 'array or string to work with')
- end
-
- if value.is_a?(Array)
- # Numbers in Puppet are often string-encoded which is troublesome ...
- result = value.collect { |i| i.is_a?(String) ? URI.escape(i,unsafe) : i }
- else
- result = URI.escape(value)
- end
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb b/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb
deleted file mode 100644
index fe27974..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:validate_absolute_path, :doc => <<-'ENDHEREDOC') do |args|
- Validate the string represents an absolute path in the filesystem. This function works
- for windows and unix style paths.
-
- The following values will pass:
-
- $my_path = "C:/Program Files (x86)/Puppet Labs/Puppet"
- validate_absolute_path($my_path)
- $my_path2 = "/var/lib/puppet"
- validate_absolute_path($my_path2)
-
-
- The following values will fail, causing compilation to abort:
-
- validate_absolute_path(true)
- validate_absolute_path([ 'var/lib/puppet', '/var/foo' ])
- validate_absolute_path([ '/var/lib/puppet', 'var/foo' ])
- $undefined = undef
- validate_absolute_path($undefined)
-
- ENDHEREDOC
-
- require 'puppet/util'
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_absolute_path(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- # This logic was borrowed from
- # [lib/puppet/file_serving/base.rb](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/file_serving/base.rb)
-
- # Puppet 2.7 and beyond will have Puppet::Util.absolute_path? Fall back to a back-ported implementation otherwise.
- if Puppet::Util.respond_to?(:absolute_path?) then
- unless Puppet::Util.absolute_path?(arg, :posix) or Puppet::Util.absolute_path?(arg, :windows)
- raise Puppet::ParseError, ("#{arg.inspect} is not an absolute path.")
- end
- else
- # This code back-ported from 2.7.x's lib/puppet/util.rb Puppet::Util.absolute_path?
- # Determine in a platform-specific way whether a path is absolute. This
- # defaults to the local platform if none is specified.
- # Escape once for the string literal, and once for the regex.
- slash = '[\\\\/]'
- name = '[^\\\\/]+'
- regexes = {
- :windows => %r!^(([A-Z]:#{slash})|(#{slash}#{slash}#{name}#{slash}#{name})|(#{slash}#{slash}\?#{slash}#{name}))!i,
- :posix => %r!^/!,
- }
-
- rval = (!!(arg =~ regexes[:posix])) || (!!(arg =~ regexes[:windows]))
- rval or raise Puppet::ParseError, ("#{arg.inspect} is not an absolute path.")
- end
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_array.rb b/modules/stdlib/lib/puppet/parser/functions/validate_array.rb
deleted file mode 100644
index 34b5118..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_array.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_array, :doc => <<-'ENDHEREDOC') do |args|
- Validate that all passed values are array data structures. Abort catalog
- compilation if any value fails this check.
-
- The following values will pass:
-
- $my_array = [ 'one', 'two' ]
- validate_array($my_array)
-
- The following values will fail, causing compilation to abort:
-
- validate_array(true)
- validate_array('some_string')
- $undefined = undef
- validate_array($undefined)
-
- ENDHEREDOC
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_array(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless arg.is_a?(Array)
- raise Puppet::ParseError, ("#{arg.inspect} is not an Array. It looks to be a #{arg.class}")
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb b/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb
deleted file mode 100644
index 154d660..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:validate_augeas, :doc => <<-'ENDHEREDOC') do |args|
- Perform validation of a string using an Augeas lens
- The first argument of this function should be a string to
- test, and the second argument should be the name of the Augeas lens to use.
- If Augeas fails to parse the string with the lens, the compilation will
- abort with a parse error.
-
- A third argument can be specified, listing paths which should
- not be found in the file. The `$file` variable points to the location
- of the temporary file being tested in the Augeas tree.
-
- For example, if you want to make sure your passwd content never contains
- a user `foo`, you could write:
-
- validate_augeas($passwdcontent, 'Passwd.lns', ['$file/foo'])
-
- Or if you wanted to ensure that no users used the '/bin/barsh' shell,
- you could use:
-
- validate_augeas($passwdcontent, 'Passwd.lns', ['$file/*[shell="/bin/barsh"]']
-
- If a fourth argument is specified, this will be the error message raised and
- seen by the user.
-
- A helpful error message can be returned like this:
-
- validate_augeas($sudoerscontent, 'Sudoers.lns', [], 'Failed to validate sudoers content with Augeas')
-
- ENDHEREDOC
- unless Puppet.features.augeas?
- raise Puppet::ParseError, ("validate_augeas(): this function requires the augeas feature. See http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Augeas#Pre-requisites for how to activate it.")
- end
-
- if (args.length < 2) or (args.length > 4) then
- raise Puppet::ParseError, ("validate_augeas(): wrong number of arguments (#{args.length}; must be 2, 3, or 4)")
- end
-
- msg = args[3] || "validate_augeas(): Failed to validate content against #{args[1].inspect}"
-
- require 'augeas'
- aug = Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD)
- begin
- content = args[0]
-
- # Test content in a temporary file
- tmpfile = Tempfile.new("validate_augeas")
- begin
- tmpfile.write(content)
- ensure
- tmpfile.close
- end
-
- # Check for syntax
- lens = args[1]
- aug.transform(
- :lens => lens,
- :name => 'Validate_augeas',
- :incl => tmpfile.path
- )
- aug.load!
-
- unless aug.match("/augeas/files#{tmpfile.path}//error").empty?
- error = aug.get("/augeas/files#{tmpfile.path}//error/message")
- msg += " with error: #{error}"
- raise Puppet::ParseError, (msg)
- end
-
- # Launch unit tests
- tests = args[2] || []
- aug.defvar('file', "/files#{tmpfile.path}")
- tests.each do |t|
- msg += " testing path #{t}"
- raise Puppet::ParseError, (msg) unless aug.match(t).empty?
- end
- ensure
- aug.close
- tmpfile.unlink
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb b/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb
deleted file mode 100644
index 59a0805..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_bool, :doc => <<-'ENDHEREDOC') do |args|
- Validate that all passed values are either true or false. Abort catalog
- compilation if any value fails this check.
-
- The following values will pass:
-
- $iamtrue = true
- validate_bool(true)
- validate_bool(true, true, false, $iamtrue)
-
- The following values will fail, causing compilation to abort:
-
- $some_array = [ true ]
- validate_bool("false")
- validate_bool("true")
- validate_bool($some_array)
-
- ENDHEREDOC
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_bool(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless function_is_bool([arg])
- raise Puppet::ParseError, ("#{arg.inspect} is not a boolean. It looks to be a #{arg.class}")
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb b/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb
deleted file mode 100644
index 2ebe91c..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-require 'puppet/util/execution'
-
-module Puppet::Parser::Functions
- newfunction(:validate_cmd, :doc => <<-'ENDHEREDOC') do |args|
- Perform validation of a string with an external command.
- The first argument of this function should be a string to
- test, and the second argument should be a path to a test command
- taking a file as last argument. If the command, launched against
- a tempfile containing the passed string, returns a non-null value,
- compilation will abort with a parse error.
-
- If a third argument is specified, this will be the error message raised and
- seen by the user.
-
- A helpful error message can be returned like this:
-
- Example:
-
- validate_cmd($sudoerscontent, '/usr/sbin/visudo -c -f', 'Visudo failed to validate sudoers content')
-
- ENDHEREDOC
- if (args.length < 2) or (args.length > 3) then
- raise Puppet::ParseError, ("validate_cmd(): wrong number of arguments (#{args.length}; must be 2 or 3)")
- end
-
- msg = args[2] || "validate_cmd(): failed to validate content with command #{args[1].inspect}"
-
- content = args[0]
- checkscript = args[1]
-
- # Test content in a temporary file
- tmpfile = Tempfile.new("validate_cmd")
- begin
- tmpfile.write(content)
- tmpfile.close
- if Puppet::Util::Execution.respond_to?('execute')
- Puppet::Util::Execution.execute("#{checkscript} #{tmpfile.path}")
- else
- Puppet::Util.execute("#{checkscript} #{tmpfile.path}")
- end
- rescue Puppet::ExecutionFailure => detail
- msg += "\n#{detail}"
- raise Puppet::ParseError, msg
- ensure
- tmpfile.unlink
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb b/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb
deleted file mode 100644
index 9bdd543..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_hash, :doc => <<-'ENDHEREDOC') do |args|
- Validate that all passed values are hash data structures. Abort catalog
- compilation if any value fails this check.
-
- The following values will pass:
-
- $my_hash = { 'one' => 'two' }
- validate_hash($my_hash)
-
- The following values will fail, causing compilation to abort:
-
- validate_hash(true)
- validate_hash('some_string')
- $undefined = undef
- validate_hash($undefined)
-
- ENDHEREDOC
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_hash(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless arg.is_a?(Hash)
- raise Puppet::ParseError, ("#{arg.inspect} is not a Hash. It looks to be a #{arg.class}")
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb b/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb
deleted file mode 100644
index fc02748..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_ipv4_address, :doc => <<-ENDHEREDOC
- Validate that all values passed are valid IPv4 addresses.
- Fail compilation if any value fails this check.
-
- The following values will pass:
-
- $my_ip = "1.2.3.4"
- validate_ipv4_address($my_ip)
- validate_bool("8.8.8.8", "172.16.0.1", $my_ip)
-
- The following values will fail, causing compilation to abort:
-
- $some_array = [ 1, true, false, "garbage string", "3ffe:505:2" ]
- validate_ipv4_address($some_array)
-
- ENDHEREDOC
- ) do |args|
-
- require "ipaddr"
- rescuable_exceptions = [ ArgumentError ]
-
- if defined?(IPAddr::InvalidAddressError)
- rescuable_exceptions << IPAddr::InvalidAddressError
- end
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_ipv4_address(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless arg.is_a?(String)
- raise Puppet::ParseError, "#{arg.inspect} is not a string."
- end
-
- begin
- unless IPAddr.new(arg).ipv4?
- raise Puppet::ParseError, "#{arg.inspect} is not a valid IPv4 address."
- end
- rescue *rescuable_exceptions
- raise Puppet::ParseError, "#{arg.inspect} is not a valid IPv4 address."
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb b/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb
deleted file mode 100644
index b0f2558..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_ipv6_address, :doc => <<-ENDHEREDOC
- Validate that all values passed are valid IPv6 addresses.
- Fail compilation if any value fails this check.
-
- The following values will pass:
-
- $my_ip = "3ffe:505:2"
- validate_ipv6_address(1)
- validate_ipv6_address($my_ip)
- validate_bool("fe80::baf6:b1ff:fe19:7507", $my_ip)
-
- The following values will fail, causing compilation to abort:
-
- $some_array = [ true, false, "garbage string", "1.2.3.4" ]
- validate_ipv6_address($some_array)
-
- ENDHEREDOC
- ) do |args|
-
- require "ipaddr"
- rescuable_exceptions = [ ArgumentError ]
-
- if defined?(IPAddr::InvalidAddressError)
- rescuable_exceptions << IPAddr::InvalidAddressError
- end
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_ipv6_address(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless arg.is_a?(String)
- raise Puppet::ParseError, "#{arg.inspect} is not a string."
- end
-
- begin
- unless IPAddr.new(arg).ipv6?
- raise Puppet::ParseError, "#{arg.inspect} is not a valid IPv6 address."
- end
- rescue *rescuable_exceptions
- raise Puppet::ParseError, "#{arg.inspect} is not a valid IPv6 address."
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_re.rb b/modules/stdlib/lib/puppet/parser/functions/validate_re.rb
deleted file mode 100644
index ca25a70..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_re.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-module Puppet::Parser::Functions
- newfunction(:validate_re, :doc => <<-'ENDHEREDOC') do |args|
- Perform simple validation of a string against one or more regular
- expressions. The first argument of this function should be a string to
- test, and the second argument should be a stringified regular expression
- (without the // delimiters) or an array of regular expressions. If none
- of the regular expressions match the string passed in, compilation will
- abort with a parse error.
-
- If a third argument is specified, this will be the error message raised and
- seen by the user.
-
- The following strings will validate against the regular expressions:
-
- validate_re('one', '^one$')
- validate_re('one', [ '^one', '^two' ])
-
- The following strings will fail to validate, causing compilation to abort:
-
- validate_re('one', [ '^two', '^three' ])
-
- A helpful error message can be returned like this:
-
- validate_re($::puppetversion, '^2.7', 'The $puppetversion fact value does not match 2.7')
-
- ENDHEREDOC
- if (args.length < 2) or (args.length > 3) then
- raise Puppet::ParseError, ("validate_re(): wrong number of arguments (#{args.length}; must be 2 or 3)")
- end
-
- msg = args[2] || "validate_re(): #{args[0].inspect} does not match #{args[1].inspect}"
-
- # We're using a flattened array here because we can't call String#any? in
- # Ruby 1.9 like we can in Ruby 1.8
- raise Puppet::ParseError, (msg) unless [args[1]].flatten.any? do |re_str|
- args[0] =~ Regexp.compile(re_str)
- end
-
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb b/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb
deleted file mode 100644
index 7d534f3..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb
+++ /dev/null
@@ -1,71 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_slength, :doc => <<-'ENDHEREDOC') do |args|
- Validate that the first argument is a string (or an array of strings), and
- less/equal to than the length of the second argument. An optional third
- parameter can be given a the minimum length. It fails if the first
- argument is not a string or array of strings, and if arg 2 and arg 3 are
- not convertable to a number.
-
- The following values will pass:
-
- validate_slength("discombobulate",17)
- validate_slength(["discombobulate","moo"],17)
- validate_slength(["discombobulate","moo"],17,3)
-
- The following valueis will not:
-
- validate_slength("discombobulate",1)
- validate_slength(["discombobulate","thermometer"],5)
- validate_slength(["discombobulate","moo"],17,10)
-
- ENDHEREDOC
-
- raise Puppet::ParseError, "validate_slength(): Wrong number of arguments (#{args.length}; must be 2 or 3)" unless args.length == 2 or args.length == 3
-
- input, max_length, min_length = *args
-
- begin
- max_length = Integer(max_length)
- raise ArgumentError if max_length <= 0
- rescue ArgumentError, TypeError
- raise Puppet::ParseError, "validate_slength(): Expected second argument to be a positive Numeric, got #{max_length}:#{max_length.class}"
- end
-
- if min_length
- begin
- min_length = Integer(min_length)
- raise ArgumentError if min_length < 0
- rescue ArgumentError, TypeError
- raise Puppet::ParseError, "validate_slength(): Expected third argument to be unset or a positive Numeric, got #{min_length}:#{min_length.class}"
- end
- else
- min_length = 0
- end
-
- if min_length > max_length
- raise Puppet::ParseError, "validate_slength(): Expected second argument to be larger than third argument"
- end
-
- validator = lambda do |str|
- unless str.length <= max_length and str.length >= min_length
- raise Puppet::ParseError, "validate_slength(): Expected length of #{input.inspect} to be between #{min_length} and #{max_length}, was #{input.length}"
- end
- end
-
- case input
- when String
- validator.call(input)
- when Array
- input.each_with_index do |arg, pos|
- if arg.is_a? String
- validator.call(arg)
- else
- raise Puppet::ParseError, "validate_slength(): Expected element at array position #{pos} to be a String, got #{arg.class}"
- end
- end
- else
- raise Puppet::ParseError, "validate_slength(): Expected first argument to be a String or Array, got #{input.class}"
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/validate_string.rb b/modules/stdlib/lib/puppet/parser/functions/validate_string.rb
deleted file mode 100644
index e667794..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/validate_string.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-module Puppet::Parser::Functions
-
- newfunction(:validate_string, :doc => <<-'ENDHEREDOC') do |args|
- Validate that all passed values are string data structures. Abort catalog
- compilation if any value fails this check.
-
- The following values will pass:
-
- $my_string = "one two"
- validate_string($my_string, 'three')
-
- The following values will fail, causing compilation to abort:
-
- validate_string(true)
- validate_string([ 'some', 'array' ])
- $undefined = undef
- validate_string($undefined)
-
- ENDHEREDOC
-
- unless args.length > 0 then
- raise Puppet::ParseError, ("validate_string(): wrong number of arguments (#{args.length}; must be > 0)")
- end
-
- args.each do |arg|
- unless arg.is_a?(String)
- raise Puppet::ParseError, ("#{arg.inspect} is not a string. It looks to be a #{arg.class}")
- end
- end
-
- end
-
-end
diff --git a/modules/stdlib/lib/puppet/parser/functions/values.rb b/modules/stdlib/lib/puppet/parser/functions/values.rb
deleted file mode 100644
index 1606756..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/values.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# values.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:values, :type => :rvalue, :doc => <<-EOS
-When given a hash this function will return the values of that hash.
-
-*Examples:*
-
- $hash = {
- 'a' => 1,
- 'b' => 2,
- 'c' => 3,
- }
- values($hash)
-
-This example would return:
-
- [1,2,3]
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "values(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size < 1
-
- hash = arguments[0]
-
- unless hash.is_a?(Hash)
- raise(Puppet::ParseError, 'values(): Requires hash to work with')
- end
-
- result = hash.values
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/values_at.rb b/modules/stdlib/lib/puppet/parser/functions/values_at.rb
deleted file mode 100644
index d3e69d9..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/values_at.rb
+++ /dev/null
@@ -1,98 +0,0 @@
-#
-# values_at.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:values_at, :type => :rvalue, :doc => <<-EOS
-Finds value inside an array based on location.
-
-The first argument is the array you want to analyze, and the second element can
-be a combination of:
-
-* A single numeric index
-* A range in the form of 'start-stop' (eg. 4-9)
-* An array combining the above
-
-*Examples*:
-
- values_at(['a','b','c'], 2)
-
-Would return ['c'].
-
- values_at(['a','b','c'], ["0-1"])
-
-Would return ['a','b'].
-
- values_at(['a','b','c','d','e'], [0, "2-3"])
-
-Would return ['a','c','d'].
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "values_at(): Wrong number of " +
- "arguments given (#{arguments.size} for 2)") if arguments.size < 2
-
- array = arguments.shift
-
- unless array.is_a?(Array)
- raise(Puppet::ParseError, 'values_at(): Requires array to work with')
- end
-
- indices = [arguments.shift].flatten() # Get them all ... Pokemon ...
-
- if not indices or indices.empty?
- raise(Puppet::ParseError, 'values_at(): You must provide ' +
- 'at least one positive index to collect')
- end
-
- result = []
- indices_list = []
-
- indices.each do |i|
- if m = i.match(/^(\d+)(\.\.\.?|\-)(\d+)$/)
- start = m[1].to_i
- stop = m[3].to_i
-
- type = m[2]
-
- if start > stop
- raise(Puppet::ParseError, 'values_at(): Stop index in ' +
- 'given indices range is smaller than the start index')
- elsif stop > array.size - 1 # First element is at index 0 is it not?
- raise(Puppet::ParseError, 'values_at(): Stop index in ' +
- 'given indices range exceeds array size')
- end
-
- range = case type
- when /^(\.\.|\-)$/ then (start .. stop)
- when /^(\.\.\.)$/ then (start ... stop) # Exclusive of last element ...
- end
-
- range.each { |i| indices_list << i.to_i }
- else
- # Only positive numbers allowed in this case ...
- if not i.match(/^\d+$/)
- raise(Puppet::ParseError, 'values_at(): Unknown format ' +
- 'of given index')
- end
-
- # In Puppet numbers are often string-encoded ...
- i = i.to_i
-
- if i > array.size - 1 # Same story. First element is at index 0 ...
- raise(Puppet::ParseError, 'values_at(): Given index ' +
- 'exceeds array size')
- end
-
- indices_list << i
- end
- end
-
- # We remove nil values as they make no sense in Puppet DSL ...
- result = indices_list.collect { |i| array[i] }.compact
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/parser/functions/zip.rb b/modules/stdlib/lib/puppet/parser/functions/zip.rb
deleted file mode 100644
index 2b56e9c..0000000
--- a/modules/stdlib/lib/puppet/parser/functions/zip.rb
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# zip.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:zip, :type => :rvalue, :doc => <<-EOS
-Takes one element from first array and merges corresponding elements from second array. This generates a sequence of n-element arrays, where n is one more than the count of arguments.
-
-*Example:*
-
- zip(['1','2','3'],['4','5','6'])
-
-Would result in:
-
- ["1", "4"], ["2", "5"], ["3", "6"]
- EOS
- ) do |arguments|
-
- # Technically we support three arguments but only first is mandatory ...
- raise(Puppet::ParseError, "zip(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
-
- a = arguments[0]
- b = arguments[1]
-
- unless a.is_a?(Array) and b.is_a?(Array)
- raise(Puppet::ParseError, 'zip(): Requires array to work with')
- end
-
- flatten = arguments[2] if arguments[2]
-
- if flatten
- klass = flatten.class
-
- # We can have either true or false, or string which resembles boolean ...
- unless [FalseClass, TrueClass, String].include?(klass)
- raise(Puppet::ParseError, 'zip(): Requires either ' +
- 'boolean or string to work with')
- end
-
- if flatten.is_a?(String)
- # We consider all the yes, no, y, n and so on too ...
- flatten = case flatten
- #
- # This is how undef looks like in Puppet ...
- # We yield false in this case.
- #
- when /^$/, '' then false # Empty string will be false ...
- when /^(1|t|y|true|yes)$/ then true
- when /^(0|f|n|false|no)$/ then false
- when /^(undef|undefined)$/ then false # This is not likely to happen ...
- else
- raise(Puppet::ParseError, 'zip(): Unknown type of boolean given')
- end
- end
- end
-
- result = a.zip(b)
- result = flatten ? result.flatten : result
-
- return result
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/modules/stdlib/lib/puppet/provider/file_line/ruby.rb b/modules/stdlib/lib/puppet/provider/file_line/ruby.rb
deleted file mode 100644
index 94e7fac..0000000
--- a/modules/stdlib/lib/puppet/provider/file_line/ruby.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-Puppet::Type.type(:file_line).provide(:ruby) do
- def exists?
- lines.find do |line|
- line.chomp == resource[:line].chomp
- end
- end
-
- def create
- if resource[:match]
- handle_create_with_match
- elsif resource[:after]
- handle_create_with_after
- else
- append_line
- end
- end
-
- def destroy
- local_lines = lines
- File.open(resource[:path],'w') do |fh|
- fh.write(local_lines.reject{|l| l.chomp == resource[:line] }.join(''))
- end
- end
-
- private
- def lines
- # If this type is ever used with very large files, we should
- # write this in a different way, using a temp
- # file; for now assuming that this type is only used on
- # small-ish config files that can fit into memory without
- # too much trouble.
- @lines ||= File.readlines(resource[:path])
- end
-
- def handle_create_with_match()
- regex = resource[:match] ? Regexp.new(resource[:match]) : nil
- match_count = lines.select { |l| regex.match(l) }.size
- if match_count > 1 && resource[:multiple].to_s != 'true'
- raise Puppet::Error, "More than one line in file '#{resource[:path]}' matches pattern '#{resource[:match]}'"
- end
- File.open(resource[:path], 'w') do |fh|
- lines.each do |l|
- fh.puts(regex.match(l) ? resource[:line] : l)
- end
-
- if (match_count == 0)
- fh.puts(resource[:line])
- end
- end
- end
-
- def handle_create_with_after
- regex = Regexp.new(resource[:after])
-
- count = lines.count {|l| l.match(regex)}
-
- case count
- when 1 # find the line to put our line after
- File.open(resource[:path], 'w') do |fh|
- lines.each do |l|
- fh.puts(l)
- if regex.match(l) then
- fh.puts(resource[:line])
- end
- end
- end
- when 0 # append the line to the end of the file
- append_line
- else
- raise Puppet::Error, "#{count} lines match pattern '#{resource[:after]}' in file '#{resource[:path]}'. One or no line must match the pattern."
- end
- end
-
- ##
- # append the line to the file.
- #
- # @api private
- def append_line
- File.open(resource[:path], 'a') do |fh|
- fh.puts resource[:line]
- end
- end
-end
diff --git a/modules/stdlib/lib/puppet/type/anchor.rb b/modules/stdlib/lib/puppet/type/anchor.rb
deleted file mode 100644
index fe1e5aa..0000000
--- a/modules/stdlib/lib/puppet/type/anchor.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-Puppet::Type.newtype(:anchor) do
- desc <<-'ENDOFDESC'
- A simple resource type intended to be used as an anchor in a composite class.
-
- In Puppet 2.6, when a class declares another class, the resources in the
- interior class are not contained by the exterior class. This interacts badly
- with the pattern of composing complex modules from smaller classes, as it
- makes it impossible for end users to specify order relationships between the
- exterior class and other modules.
-
- The anchor type lets you work around this. By sandwiching any interior
- classes between two no-op resources that _are_ contained by the exterior
- class, you can ensure that all resources in the module are contained.
-
- class ntp {
- # These classes will have the correct order relationship with each
- # other. However, without anchors, they won't have any order
- # relationship to Class['ntp'].
- class { 'ntp::package': }
- -> class { 'ntp::config': }
- -> class { 'ntp::service': }
-
- # These two resources "anchor" the composed classes within the ntp
- # class.
- anchor { 'ntp::begin': } -> Class['ntp::package']
- Class['ntp::service'] -> anchor { 'ntp::end': }
- }
-
- This allows the end user of the ntp module to establish require and before
- relationships with Class['ntp']:
-
- class { 'ntp': } -> class { 'mcollective': }
- class { 'mcollective': } -> class { 'ntp': }
-
- ENDOFDESC
-
- newparam :name do
- desc "The name of the anchor resource."
- end
-
- def refresh
- # We don't do anything with them, but we need this to
- # show that we are "refresh aware" and not break the
- # chain of propagation.
- end
-end
diff --git a/modules/stdlib/lib/puppet/type/file_line.rb b/modules/stdlib/lib/puppet/type/file_line.rb
deleted file mode 100644
index 323fc4c..0000000
--- a/modules/stdlib/lib/puppet/type/file_line.rb
+++ /dev/null
@@ -1,79 +0,0 @@
-Puppet::Type.newtype(:file_line) do
-
- desc <<-EOT
- Ensures that a given line is contained within a file. The implementation
- matches the full line, including whitespace at the beginning and end. If
- the line is not contained in the given file, Puppet will add the line to
- ensure the desired state. Multiple resources may be declared to manage
- multiple lines in the same file.
-
- Example:
-
- file_line { 'sudo_rule':
- path => '/etc/sudoers',
- line => '%sudo ALL=(ALL) ALL',
- }
- file_line { 'sudo_rule_nopw':
- path => '/etc/sudoers',
- line => '%sudonopw ALL=(ALL) NOPASSWD: ALL',
- }
-
- In this example, Puppet will ensure both of the specified lines are
- contained in the file /etc/sudoers.
-
- EOT
-
- ensurable do
- defaultvalues
- defaultto :present
- end
-
- newparam(:name, :namevar => true) do
- desc 'An arbitrary name used as the identity of the resource.'
- end
-
- newparam(:match) do
- desc 'An optional regular expression to run against existing lines in the file;\n' +
- 'if a match is found, we replace that line rather than adding a new line.'
- end
-
- newparam(:multiple) do
- desc 'An optional value to determine if match can change multiple lines.'
- newvalues(true, false)
- end
-
- newparam(:after) do
- desc 'An optional value used to specify the line after which we will add any new lines. (Existing lines are added in place)'
- end
-
- newparam(:line) do
- desc 'The line to be appended to the file located by the path parameter.'
- end
-
- newparam(:path) do
- desc 'The file Puppet will ensure contains the line specified by the line parameter.'
- validate do |value|
- unless (Puppet.features.posix? and value =~ /^\//) or (Puppet.features.microsoft_windows? and (value =~ /^.:\// or value =~ /^\/\/[^\/]+\/[^\/]+/))
- raise(Puppet::Error, "File paths must be fully qualified, not '#{value}'")
- end
- end
- end
-
- # Autorequire the file resource if it's being managed
- autorequire(:file) do
- self[:path]
- end
-
- validate do
- unless self[:line] and self[:path]
- raise(Puppet::Error, "Both line and path are required attributes")
- end
-
- if (self[:match])
- unless Regexp.new(self[:match]).match(self[:line])
- raise(Puppet::Error, "When providing a 'match' parameter, the value must be a regex that matches against the value of your 'line' parameter")
- end
- end
-
- end
-end
diff --git a/modules/stdlib/manifests/init.pp b/modules/stdlib/manifests/init.pp
deleted file mode 100644
index 500ad77..0000000
--- a/modules/stdlib/manifests/init.pp
+++ /dev/null
@@ -1,20 +0,0 @@
-# Class: stdlib
-#
-# This module manages stdlib. Most of stdlib's features are automatically
-# loaded by Puppet, but this class should be declared in order to use the
-# standardized run stages.
-#
-# Parameters: none
-#
-# Actions:
-#
-# Declares all other classes in the stdlib module. Currently, this consists
-# of stdlib::stages.
-#
-# Requires: nothing
-#
-class stdlib {
-
- class { 'stdlib::stages': }
-
-}
diff --git a/modules/stdlib/manifests/stages.pp b/modules/stdlib/manifests/stages.pp
deleted file mode 100644
index eb15fd6..0000000
--- a/modules/stdlib/manifests/stages.pp
+++ /dev/null
@@ -1,43 +0,0 @@
-# Class: stdlib::stages
-#
-# This class manages a standard set of run stages for Puppet. It is managed by
-# the stdlib class, and should not be declared independently.
-#
-# The high level stages are (in order):
-#
-# * setup
-# * main
-# * runtime
-# * setup_infra
-# * deploy_infra
-# * setup_app
-# * deploy_app
-# * deploy
-#
-# Parameters: none
-#
-# Actions:
-#
-# Declares various run-stages for deploying infrastructure,
-# language runtimes, and application layers.
-#
-# Requires: nothing
-#
-# Sample Usage:
-#
-# node default {
-# include stdlib
-# class { java: stage => 'runtime' }
-# }
-#
-class stdlib::stages {
-
- stage { 'setup': before => Stage['main'] }
- stage { 'runtime': require => Stage['main'] }
- -> stage { 'setup_infra': }
- -> stage { 'deploy_infra': }
- -> stage { 'setup_app': }
- -> stage { 'deploy_app': }
- -> stage { 'deploy': }
-
-}
diff --git a/modules/stdlib/metadata.json b/modules/stdlib/metadata.json
deleted file mode 100644
index 1476071..0000000
--- a/modules/stdlib/metadata.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "name": "puppetlabs-stdlib",
- "version": "4.2.2",
- "author": "puppetlabs",
- "summary": "Puppet Module Standard Library",
- "license": "Apache 2.0",
- "source": "git://github.com/puppetlabs/puppetlabs-stdlib.git",
- "project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
- "issues_url": "https://github.com/puppetlabs/puppetlabs-stdlib/issues",
- "operatingsystem_support": [
- {
- "operatingsystem": "RedHat",
- "operatingsystemrelease": [
- "4",
- "5",
- "6",
- "7"
- ]
- },
- {
- "operatingsystem": "CentOS",
- "operatingsystemrelease": [
- "4",
- "5",
- "6",
- "7"
- ]
- },
- {
- "operatingsystem": "OracleLinux",
- "operatingsystemrelease": [
- "4",
- "5",
- "6",
- "7"
- ]
- },
- {
- "operatingsystem": "Scientific",
- "operatingsystemrelease": [
- "4",
- "5",
- "6",
- "7"
- ]
- },
- {
- "operatingsystem": "SLES",
- "operatingsystemrelease": [
- "11 SP1"
- ]
- },
- {
- "operatingsystem": "Debian",
- "operatingsystemrelease": [
- "6",
- "7"
- ]
- },
- {
- "operatingsystem": "Ubuntu",
- "operatingsystemrelease": [
- "10.04",
- "12.04",
- "14.04"
- ]
- },
- {
- "operatingsystem": "Solaris",
- "operatingsystemrelease": [
- "10",
- "11"
- ]
- },
- {
- "operatingsystem": "Windows",
- "operatingsystemrelease": [
- "Server 2003",
- "Server 2003 R2",
- "Server 2008",
- "Server 2008 R2",
- "Server 2012",
- "Server 2012 R2",
- "7",
- "8"
- ]
- },
- {
- "operatingsystem": "AIX",
- "operatingsystemrelease": [
- "5.3",
- "6.1",
- "7.1"
- ]
- }
- ],
- "requirements": [
- {
- "name": "pe",
- "version_requirement": ">= 3.2.0 < 3.4.0"
- },
- {
- "name": "puppet",
- "version_requirement": ">=2.7.20 <4.0.0"
- }
- ],
- "description": "Standard Library for Puppet Modules",
- "dependencies": [
-
- ]
-}
diff --git a/modules/stdlib/spec/acceptance/abs_spec.rb b/modules/stdlib/spec/acceptance/abs_spec.rb
deleted file mode 100755
index 8e05642..0000000
--- a/modules/stdlib/spec/acceptance/abs_spec.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'abs function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should accept a string' do
- pp = <<-EOS
- $input = '-34.56'
- $output = abs($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 34.56/)
- end
- end
-
- it 'should accept a float' do
- pp = <<-EOS
- $input = -34.56
- $output = abs($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 34.56/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/any2array_spec.rb b/modules/stdlib/spec/acceptance/any2array_spec.rb
deleted file mode 100755
index 467d6af..0000000
--- a/modules/stdlib/spec/acceptance/any2array_spec.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'any2array function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should create an empty array' do
- pp = <<-EOS
- $input = ''
- $output = any2array($input)
- validate_array($output)
- notify { "Output: ${output}": }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: Output: /)
- end
- end
-
- it 'should leave arrays modified' do
- pp = <<-EOS
- $input = ['test', 'array']
- $output = any2array($input)
- validate_array($output)
- notify { "Output: ${output}": }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: Output: testarray/)
- end
- end
-
- it 'should turn a hash into an array' do
- pp = <<-EOS
- $input = {'test' => 'array'}
- $output = any2array($input)
-
- validate_array($output)
- # Check each element of the array is a plain string.
- validate_string($output[0])
- validate_string($output[1])
- notify { "Output: ${output}": }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: Output: testarray/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/base64_spec.rb b/modules/stdlib/spec/acceptance/base64_spec.rb
deleted file mode 100755
index 97e1738..0000000
--- a/modules/stdlib/spec/acceptance/base64_spec.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'base64 function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should encode then decode a string' do
- pp = <<-EOS
- $encodestring = base64('encode', 'thestring')
- $decodestring = base64('decode', $encodestring)
- notify { $decodestring: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/thestring/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/bool2num_spec.rb b/modules/stdlib/spec/acceptance/bool2num_spec.rb
deleted file mode 100755
index 7a70311..0000000
--- a/modules/stdlib/spec/acceptance/bool2num_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'bool2num function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- ['false', 'f', '0', 'n', 'no'].each do |bool|
- it 'should convert a given boolean, #{bool}, to 0' do
- pp = <<-EOS
- $input = #{bool}
- $output = bool2num($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 0/)
- end
- end
- end
-
- ['true', 't', '1', 'y', 'yes'].each do |bool|
- it 'should convert a given boolean, #{bool}, to 1' do
- pp = <<-EOS
- $input = #{bool}
- $output = bool2num($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 1/)
- end
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/build_csv.rb b/modules/stdlib/spec/acceptance/build_csv.rb
deleted file mode 100755
index 62ecbf1..0000000
--- a/modules/stdlib/spec/acceptance/build_csv.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env ruby
-# vim: set sw=2 sts=2 et tw=80 :
-require 'rspec'
-
-#XXX Super ugly hack to keep from starting beaker nodes
-module Kernel
- # make an alias of the original require
- alias_method :original_require, :require
- # rewrite require
- def require name
- original_require name if name != 'spec_helper_acceptance'
- end
-end
-UNSUPPORTED_PLATFORMS = []
-def fact(*args) [] end
-#XXX End hax
-
-# Get a list of functions for test coverage
-function_list = Dir[File.join(File.dirname(__FILE__),"..","..","lib","puppet","parser","functions","*.rb")].collect do |function_rb|
- File.basename(function_rb,".rb")
-end
-
-## Configure rspec to parse tests
-options = RSpec::Core::ConfigurationOptions.new(['spec/acceptance'])
-configuration = RSpec::configuration
-world = RSpec::world
-options.parse_options
-options.configure(configuration)
-configuration.load_spec_files
-
-## Collect up tests and example groups into a hash
-def get_tests(children)
- children.inject({}) do |memo,c|
- memo[c.description] = Hash.new
- memo[c.description]["groups"] = get_tests(c.children) unless c.children.empty?
- memo[c.description]["tests"] = c.examples.collect { |e|
- e.description unless e.pending?
- }.compact unless c.examples.empty?
- memo[c.description]["pending_tests"] = c.examples.collect { |e|
- e.description if e.pending?
- }.compact unless c.examples.empty?
- memo
- end
-end
-
-def count_test_types_in(type,group)
- return 0 if group.nil?
- group.inject(0) do |m,(k,v)|
- m += v.length if k == type
- m += count_tests_in(v) if v.is_a?(Hash)
- m
- end
-end
-def count_tests_in(group)
- count_test_types_in('tests',group)
-end
-def count_pending_tests_in(group)
- count_test_types_in('pending_tests',group)
-end
-
-# Convert tests hash to csv format
-def to_csv(function_list,tests)
- function_list.collect do |function_name|
- if v = tests["#{function_name} function"]
- positive_tests = count_tests_in(v["groups"]["success"])
- negative_tests = count_tests_in(v["groups"]["failure"])
- pending_tests =
- count_pending_tests_in(v["groups"]["failure"]) +
- count_pending_tests_in(v["groups"]["failure"])
- else
- positive_tests = 0
- negative_tests = 0
- pending_tests = 0
- end
- sprintf("%-25s, %-9d, %-9d, %-9d", function_name,positive_tests,negative_tests,pending_tests)
- end.compact
-end
-
-tests = get_tests(world.example_groups)
-csv = to_csv(function_list,tests)
-percentage_tested = "#{tests.count*100/function_list.count}%"
-printf("%-25s, %-9s, %-9s, %-9s\n","#{percentage_tested} have tests.","Positive","Negative","Pending")
-puts csv
diff --git a/modules/stdlib/spec/acceptance/capitalize_spec.rb b/modules/stdlib/spec/acceptance/capitalize_spec.rb
deleted file mode 100755
index e5e7b7b..0000000
--- a/modules/stdlib/spec/acceptance/capitalize_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'capitalize function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should capitalize the first letter of a string' do
- pp = <<-EOS
- $input = 'this is a string'
- $output = capitalize($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: This is a string/)
- end
- end
-
- it 'should capitalize the first letter of an array of strings' do
- pp = <<-EOS
- $input = ['this', 'is', 'a', 'string']
- $output = capitalize($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: This/)
- expect(r.stdout).to match(/Notice: Is/)
- expect(r.stdout).to match(/Notice: A/)
- expect(r.stdout).to match(/Notice: String/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/chomp_spec.rb b/modules/stdlib/spec/acceptance/chomp_spec.rb
deleted file mode 100755
index f6c1595..0000000
--- a/modules/stdlib/spec/acceptance/chomp_spec.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'chomp function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should eat the newline' do
- pp = <<-EOS
- $input = "test\n"
- if size($input) != 5 {
- fail("Size of ${input} is not 5.")
- }
- $output = chomp($input)
- if size($output) != 4 {
- fail("Size of ${input} is not 4.")
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/chop_spec.rb b/modules/stdlib/spec/acceptance/chop_spec.rb
deleted file mode 100755
index dbc28da..0000000
--- a/modules/stdlib/spec/acceptance/chop_spec.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'chop function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should eat the last character' do
- pp = <<-EOS
- $input = "test"
- if size($input) != 4 {
- fail("Size of ${input} is not 4.")
- }
- $output = chop($input)
- if size($output) != 3 {
- fail("Size of ${input} is not 3.")
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
-
- it 'should eat the last two characters of \r\n' do
- pp = <<-EOS
- $input = "test\r\n"
- if size($input) != 6 {
- fail("Size of ${input} is not 6.")
- }
- $output = chop($input)
- if size($output) != 4 {
- fail("Size of ${input} is not 4.")
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
-
- it 'should not fail on empty strings' do
- pp = <<-EOS
- $input = ""
- $output = chop($input)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/concat_spec.rb b/modules/stdlib/spec/acceptance/concat_spec.rb
deleted file mode 100755
index 7bda365..0000000
--- a/modules/stdlib/spec/acceptance/concat_spec.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'concat function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should concat one array to another' do
- pp = <<-EOS
- $output = concat(['1','2','3'],['4','5','6'])
- validate_array($output)
- if size($output) != 6 {
- fail("${output} should have 6 elements.")
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/count_spec.rb b/modules/stdlib/spec/acceptance/count_spec.rb
deleted file mode 100755
index 51a40ba..0000000
--- a/modules/stdlib/spec/acceptance/count_spec.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'count function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should count elements in an array' do
- pp = <<-EOS
- $input = [1,2,3,4]
- $output = count($input)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 4/)
- end
- end
-
- it 'should count elements in an array that match a second argument' do
- pp = <<-EOS
- $input = [1,1,1,2]
- $output = count($input, 1)
- notify { $output: }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: 3/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/deep_merge_spec.rb b/modules/stdlib/spec/acceptance/deep_merge_spec.rb
deleted file mode 100755
index c0f9b12..0000000
--- a/modules/stdlib/spec/acceptance/deep_merge_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'deep_merge function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should deep merge two hashes' do
- pp = <<-EOS
- $hash1 = {'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }
- $hash2 = {'two' => 'dos', 'three' => { 'five' => 5 } }
- $merged_hash = deep_merge($hash1, $hash2)
-
- if $merged_hash != { 'one' => 1, 'two' => 'dos', 'three' => { 'four' => 4, 'five' => 5 } } {
- fail("Hash was incorrectly merged.")
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/defined_with_params_spec.rb b/modules/stdlib/spec/acceptance/defined_with_params_spec.rb
deleted file mode 100755
index fc54450..0000000
--- a/modules/stdlib/spec/acceptance/defined_with_params_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'defined_with_params function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should successfully notify' do
- pp = <<-EOS
- user { 'dan':
- ensure => present,
- }
-
- if defined_with_params(User[dan], {'ensure' => 'present' }) {
- notify { 'User defined with ensure=>present': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: User defined with ensure=>present/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/delete_at_spec.rb b/modules/stdlib/spec/acceptance/delete_at_spec.rb
deleted file mode 100755
index db0c01f..0000000
--- a/modules/stdlib/spec/acceptance/delete_at_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'delete_at function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should delete elements of the array' do
- pp = <<-EOS
- $output = delete_at(['a','b','c','b'], 1)
- if $output == ['a','c','b'] {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/delete_spec.rb b/modules/stdlib/spec/acceptance/delete_spec.rb
deleted file mode 100755
index a28604c..0000000
--- a/modules/stdlib/spec/acceptance/delete_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'delete function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should delete elements of the array' do
- pp = <<-EOS
- $output = delete(['a','b','c','b'], 'b')
- if $output == ['a','c'] {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/delete_undef_values_spec.rb b/modules/stdlib/spec/acceptance/delete_undef_values_spec.rb
deleted file mode 100755
index b7eda19..0000000
--- a/modules/stdlib/spec/acceptance/delete_undef_values_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'delete_undef_values function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should delete elements of the array' do
- pp = <<-EOS
- $output = delete_undef_values({a=>'A', b=>'', c=>undef, d => false})
- if $output == { a => 'A', b => '', d => false } {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/delete_values_spec.rb b/modules/stdlib/spec/acceptance/delete_values_spec.rb
deleted file mode 100755
index 6d2369c..0000000
--- a/modules/stdlib/spec/acceptance/delete_values_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'delete_values function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should delete elements of the hash' do
- pp = <<-EOS
- $a = { 'a' => 'A', 'b' => 'B', 'B' => 'C', 'd' => 'B' }
- $b = { 'a' => 'A', 'B' => 'C' }
- $o = delete_values($a, 'B')
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles non-hash arguments'
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/difference_spec.rb b/modules/stdlib/spec/acceptance/difference_spec.rb
deleted file mode 100755
index 2fae5c4..0000000
--- a/modules/stdlib/spec/acceptance/difference_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'difference function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'returns non-duplicates in the first array' do
- pp = <<-EOS
- $a = ['a','b','c']
- $b = ['b','c','d']
- $c = ['a']
- $o = difference($a, $b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles non-array arguments'
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/dirname_spec.rb b/modules/stdlib/spec/acceptance/dirname_spec.rb
deleted file mode 100755
index 97913dd..0000000
--- a/modules/stdlib/spec/acceptance/dirname_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'dirname function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- context 'absolute path' do
- it 'returns the dirname' do
- pp = <<-EOS
- $a = '/path/to/a/file.txt'
- $b = '/path/to/a'
- $o = dirname($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- context 'relative path' do
- it 'returns the dirname' do
- pp = <<-EOS
- $a = 'path/to/a/file.txt'
- $b = 'path/to/a'
- $o = dirname($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/downcase_spec.rb b/modules/stdlib/spec/acceptance/downcase_spec.rb
deleted file mode 100755
index bc4e706..0000000
--- a/modules/stdlib/spec/acceptance/downcase_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'downcase function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'returns the downcase' do
- pp = <<-EOS
- $a = 'AOEU'
- $b = 'aoeu'
- $o = downcase($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'doesn\'t affect lowercase words' do
- pp = <<-EOS
- $a = 'aoeu aoeu'
- $b = 'aoeu aoeu'
- $o = downcase($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/empty_spec.rb b/modules/stdlib/spec/acceptance/empty_spec.rb
deleted file mode 100755
index 8b46aac..0000000
--- a/modules/stdlib/spec/acceptance/empty_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'empty function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'recognizes empty strings' do
- pp = <<-EOS
- $a = ''
- $b = true
- $o = empty($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'recognizes non-empty strings' do
- pp = <<-EOS
- $a = 'aoeu'
- $b = false
- $o = empty($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/ensure_packages_spec.rb b/modules/stdlib/spec/acceptance/ensure_packages_spec.rb
deleted file mode 100755
index aa7b14c..0000000
--- a/modules/stdlib/spec/acceptance/ensure_packages_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'ensure_packages function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'ensure_packages a package' do
- apply_manifest('package { "zsh": ensure => absent, }')
- pp = <<-EOS
- $a = "zsh"
- ensure_packages($a)
- EOS
-
- apply_manifest(pp, :expect_changes => true) do |r|
- expect(r.stdout).to match(/Package\[zsh\]\/ensure: (created|ensure changed 'purged' to 'present')/)
- end
- end
- it 'ensures a package already declared'
- it 'takes defaults arguments'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/ensure_resource_spec.rb b/modules/stdlib/spec/acceptance/ensure_resource_spec.rb
deleted file mode 100755
index c4d8887..0000000
--- a/modules/stdlib/spec/acceptance/ensure_resource_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'ensure_resource function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'ensure_resource a package' do
- apply_manifest('package { "zsh": ensure => absent, }')
- pp = <<-EOS
- $a = "zsh"
- ensure_resource('package', $a)
- EOS
-
- apply_manifest(pp, :expect_changes => true) do |r|
- expect(r.stdout).to match(/Package\[zsh\]\/ensure: created/)
- end
- end
- it 'ensures a resource already declared'
- it 'takes defaults arguments'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/flatten_spec.rb b/modules/stdlib/spec/acceptance/flatten_spec.rb
deleted file mode 100755
index c4d66e0..0000000
--- a/modules/stdlib/spec/acceptance/flatten_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'flatten function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'flattens arrays' do
- pp = <<-EOS
- $a = ["a","b",["c",["d","e"],"f","g"]]
- $b = ["a","b","c","d","e","f","g"]
- $o = flatten($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'does not affect flat arrays' do
- pp = <<-EOS
- $a = ["a","b","c","d","e","f","g"]
- $b = ["a","b","c","d","e","f","g"]
- $o = flatten($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/floor_spec.rb b/modules/stdlib/spec/acceptance/floor_spec.rb
deleted file mode 100755
index 0dcdad9..0000000
--- a/modules/stdlib/spec/acceptance/floor_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'floor function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'floors floats' do
- pp = <<-EOS
- $a = 12.8
- $b = 12
- $o = floor($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'floors integers' do
- pp = <<-EOS
- $a = 7
- $b = 7
- $o = floor($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-numbers'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/fqdn_rotate_spec.rb b/modules/stdlib/spec/acceptance/fqdn_rotate_spec.rb
deleted file mode 100755
index fc8bea2..0000000
--- a/modules/stdlib/spec/acceptance/fqdn_rotate_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'fqdn_rotate function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- let(:facts_d) do
- if fact('is_pe') == "true"
- '/etc/puppetlabs/facter/facts.d'
- else
- '/etc/facter/facts.d'
- end
- end
- after :each do
- shell("if [ -f #{facts_d}/fqdn.txt ] ; then rm #{facts_d}/fqdn.txt ; fi")
- end
- it 'fqdn_rotates floats' do
- shell("mkdir -p #{facts_d}")
- shell("echo 'fqdn=fakehost.localdomain' > #{facts_d}/fqdn.txt")
- pp = <<-EOS
- $a = ['a','b','c','d']
- $o = fqdn_rotate($a)
- notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/fqdn_rotate is \["c", "d", "a", "b"\]/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-numbers'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/get_module_path_spec.rb b/modules/stdlib/spec/acceptance/get_module_path_spec.rb
deleted file mode 100755
index 34d91fa..0000000
--- a/modules/stdlib/spec/acceptance/get_module_path_spec.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'get_module_path function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'get_module_paths stdlib' do
- pp = <<-EOS
- $a = $::is_pe ? {
- 'true' => '/opt/puppet/share/puppet/modules/stdlib',
- 'false' => '/etc/puppet/modules/stdlib',
- }
- $o = get_module_path('stdlib')
- if $o == $a {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'get_module_paths dne' do
- pp = <<-EOS
- $a = $::is_pe ? {
- 'true' => '/etc/puppetlabs/puppet/modules/dne',
- 'false' => '/etc/puppet/modules/dne',
- }
- $o = get_module_path('dne')
- if $o == $a {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-numbers'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/getparam_spec.rb b/modules/stdlib/spec/acceptance/getparam_spec.rb
deleted file mode 100755
index 91fc9a0..0000000
--- a/modules/stdlib/spec/acceptance/getparam_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'getparam function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'getparam a package' do
- pp = <<-EOS
- user { "rspec":
- ensure => present,
- managehome => true,
- }
- $o = getparam(User['rspec'], 'managehome')
- notice(inline_template('getparam is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/getparam is true/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/getvar_spec.rb b/modules/stdlib/spec/acceptance/getvar_spec.rb
deleted file mode 100755
index 333c467..0000000
--- a/modules/stdlib/spec/acceptance/getvar_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'getvar function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'getvars from classes' do
- pp = <<-EOS
- class a::data { $foo = 'aoeu' }
- include a::data
- $b = 'aoeu'
- $o = getvar("a::data::foo")
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-numbers'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/grep_spec.rb b/modules/stdlib/spec/acceptance/grep_spec.rb
deleted file mode 100755
index b39d48e..0000000
--- a/modules/stdlib/spec/acceptance/grep_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'grep function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'greps arrays' do
- pp = <<-EOS
- $a = ['aaabbb','bbbccc','dddeee']
- $b = 'bbb'
- $c = ['aaabbb','bbbccc']
- $o = grep($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/has_interface_with_spec.rb b/modules/stdlib/spec/acceptance/has_interface_with_spec.rb
deleted file mode 100755
index 41ae19f..0000000
--- a/modules/stdlib/spec/acceptance/has_interface_with_spec.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'has_interface_with function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'has_interface_with existing ipaddress' do
- pp = <<-EOS
- $a = '127.0.0.1'
- $o = has_interface_with('ipaddress', $a)
- notice(inline_template('has_interface_with is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_interface_with is true/)
- end
- end
- it 'has_interface_with absent ipaddress' do
- pp = <<-EOS
- $a = '128.0.0.1'
- $o = has_interface_with('ipaddress', $a)
- notice(inline_template('has_interface_with is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_interface_with is false/)
- end
- end
- it 'has_interface_with existing interface' do
- pp = <<-EOS
- $a = 'lo'
- $o = has_interface_with($a)
- notice(inline_template('has_interface_with is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_interface_with is true/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/has_ip_address_spec.rb b/modules/stdlib/spec/acceptance/has_ip_address_spec.rb
deleted file mode 100755
index 7d5fd87..0000000
--- a/modules/stdlib/spec/acceptance/has_ip_address_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'has_ip_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'has_ip_address existing ipaddress' do
- pp = <<-EOS
- $a = '127.0.0.1'
- $o = has_ip_address($a)
- notice(inline_template('has_ip_address is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_ip_address is true/)
- end
- end
- it 'has_ip_address absent ipaddress' do
- pp = <<-EOS
- $a = '128.0.0.1'
- $o = has_ip_address($a)
- notice(inline_template('has_ip_address is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_ip_address is false/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/has_ip_network_spec.rb b/modules/stdlib/spec/acceptance/has_ip_network_spec.rb
deleted file mode 100755
index 692eaf9..0000000
--- a/modules/stdlib/spec/acceptance/has_ip_network_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'has_ip_network function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'has_ip_network existing ipaddress' do
- pp = <<-EOS
- $a = '127.0.0.0'
- $o = has_ip_network($a)
- notice(inline_template('has_ip_network is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_ip_network is true/)
- end
- end
- it 'has_ip_network absent ipaddress' do
- pp = <<-EOS
- $a = '128.0.0.0'
- $o = has_ip_network($a)
- notice(inline_template('has_ip_network is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/has_ip_network is false/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/has_key_spec.rb b/modules/stdlib/spec/acceptance/has_key_spec.rb
deleted file mode 100755
index c8557cb..0000000
--- a/modules/stdlib/spec/acceptance/has_key_spec.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'has_key function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'has_keys in hashes' do
- pp = <<-EOS
- $a = { 'aaa' => 'bbb','bbb' => 'ccc','ddd' => 'eee' }
- $b = 'bbb'
- $c = true
- $o = has_key($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'has_keys not in hashes' do
- pp = <<-EOS
- $a = { 'aaa' => 'bbb','bbb' => 'ccc','ddd' => 'eee' }
- $b = 'ccc'
- $c = false
- $o = has_key($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-hashes'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/hash_spec.rb b/modules/stdlib/spec/acceptance/hash_spec.rb
deleted file mode 100755
index ed53834..0000000
--- a/modules/stdlib/spec/acceptance/hash_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'hash function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'hashs arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','bbb','ccc','ddd','eee']
- $b = { 'aaa' => 'bbb', 'bbb' => 'ccc', 'ddd' => 'eee' }
- $o = hash($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'handles odd-length arrays'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/intersection_spec.rb b/modules/stdlib/spec/acceptance/intersection_spec.rb
deleted file mode 100755
index 66b8652..0000000
--- a/modules/stdlib/spec/acceptance/intersection_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'intersection function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'intersections arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $b = ['bbb','ccc','ddd','eee']
- $c = ['bbb','ccc']
- $o = intersection($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'intersections empty arrays'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_array_spec.rb b/modules/stdlib/spec/acceptance/is_array_spec.rb
deleted file mode 100755
index 9c6bad7..0000000
--- a/modules/stdlib/spec/acceptance/is_array_spec.rb
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_array function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_arrays arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $b = true
- $o = is_array($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_arrays empty arrays' do
- pp = <<-EOS
- $a = []
- $b = true
- $o = is_array($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_arrays strings' do
- pp = <<-EOS
- $a = "aoeu"
- $b = false
- $o = is_array($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_arrays hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'bbb'}
- $b = false
- $o = is_array($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_bool_spec.rb b/modules/stdlib/spec/acceptance/is_bool_spec.rb
deleted file mode 100755
index 60079f9..0000000
--- a/modules/stdlib/spec/acceptance/is_bool_spec.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_bool function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_bools arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $b = false
- $o = is_bool($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_bools true' do
- pp = <<-EOS
- $a = true
- $b = true
- $o = is_bool($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_bools false' do
- pp = <<-EOS
- $a = false
- $b = true
- $o = is_bool($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_bools strings' do
- pp = <<-EOS
- $a = "true"
- $b = false
- $o = is_bool($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_bools hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'bbb'}
- $b = false
- $o = is_bool($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_domain_name_spec.rb b/modules/stdlib/spec/acceptance/is_domain_name_spec.rb
deleted file mode 100755
index e0f03fa..0000000
--- a/modules/stdlib/spec/acceptance/is_domain_name_spec.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_domain_name function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_domain_names arrays' do
- pp = <<-EOS
- $a = ['aaa.com','bbb','ccc']
- $o = is_domain_name($a)
- notice(inline_template('is_domain_name is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_domain_name is false/)
- end
- end
- it 'is_domain_names true' do
- pp = <<-EOS
- $a = true
- $o = is_domain_name($a)
- notice(inline_template('is_domain_name is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_domain_name is false/)
- end
- end
- it 'is_domain_names false' do
- pp = <<-EOS
- $a = false
- $o = is_domain_name($a)
- notice(inline_template('is_domain_name is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_domain_name is false/)
- end
- end
- it 'is_domain_names strings with hyphens' do
- pp = <<-EOS
- $a = "3foo-bar.2bar-fuzz.com"
- $b = true
- $o = is_domain_name($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_domain_names strings beginning with hyphens' do
- pp = <<-EOS
- $a = "-bar.2bar-fuzz.com"
- $b = false
- $o = is_domain_name($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_domain_names hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'www.com'}
- $o = is_domain_name($a)
- notice(inline_template('is_domain_name is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_domain_name is false/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_float_spec.rb b/modules/stdlib/spec/acceptance/is_float_spec.rb
deleted file mode 100755
index 338ba58..0000000
--- a/modules/stdlib/spec/acceptance/is_float_spec.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_float function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_floats arrays' do
- pp = <<-EOS
- $a = ['aaa.com','bbb','ccc']
- $o = is_float($a)
- notice(inline_template('is_float is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_float is false/)
- end
- end
- it 'is_floats true' do
- pp = <<-EOS
- $a = true
- $o = is_float($a)
- notice(inline_template('is_float is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_float is false/)
- end
- end
- it 'is_floats strings' do
- pp = <<-EOS
- $a = "3.5"
- $b = true
- $o = is_float($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_floats floats' do
- pp = <<-EOS
- $a = 3.5
- $b = true
- $o = is_float($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_floats integers' do
- pp = <<-EOS
- $a = 3
- $b = false
- $o = is_float($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_floats hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'www.com'}
- $o = is_float($a)
- notice(inline_template('is_float is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_float is false/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_function_available_spec.rb b/modules/stdlib/spec/acceptance/is_function_available_spec.rb
deleted file mode 100755
index 2b5dd6d..0000000
--- a/modules/stdlib/spec/acceptance/is_function_available_spec.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_function_available function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_function_availables arrays' do
- pp = <<-EOS
- $a = ['fail','include','require']
- $o = is_function_available($a)
- notice(inline_template('is_function_available is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_function_available is false/)
- end
- end
- it 'is_function_availables true' do
- pp = <<-EOS
- $a = true
- $o = is_function_available($a)
- notice(inline_template('is_function_available is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_function_available is false/)
- end
- end
- it 'is_function_availables strings' do
- pp = <<-EOS
- $a = "fail"
- $b = true
- $o = is_function_available($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_function_availables function_availables' do
- pp = <<-EOS
- $a = "is_function_available"
- $o = is_function_available($a)
- notice(inline_template('is_function_available is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_function_available is true/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_hash_spec.rb b/modules/stdlib/spec/acceptance/is_hash_spec.rb
deleted file mode 100755
index 2ef310a..0000000
--- a/modules/stdlib/spec/acceptance/is_hash_spec.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_hash function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_hashs arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $o = is_hash($a)
- notice(inline_template('is_hash is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_hash is false/)
- end
- end
- it 'is_hashs empty hashs' do
- pp = <<-EOS
- $a = {}
- $b = true
- $o = is_hash($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_hashs strings' do
- pp = <<-EOS
- $a = "aoeu"
- $b = false
- $o = is_hash($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_hashs hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'bbb'}
- $b = true
- $o = is_hash($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_integer_spec.rb b/modules/stdlib/spec/acceptance/is_integer_spec.rb
deleted file mode 100755
index bf6902b..0000000
--- a/modules/stdlib/spec/acceptance/is_integer_spec.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_integer function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_integers arrays' do
- pp = <<-EOS
- $a = ['aaa.com','bbb','ccc']
- $b = false
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_integers true' do
- pp = <<-EOS
- $a = true
- $b = false
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_integers strings' do
- pp = <<-EOS
- $a = "3"
- $b = true
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_integers floats' do
- pp = <<-EOS
- $a = 3.5
- $b = false
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_integers integers' do
- pp = <<-EOS
- $a = 3
- $b = true
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_integers hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'www.com'}
- $b = false
- $o = is_integer($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_ip_address_spec.rb b/modules/stdlib/spec/acceptance/is_ip_address_spec.rb
deleted file mode 100755
index ed7a854..0000000
--- a/modules/stdlib/spec/acceptance/is_ip_address_spec.rb
+++ /dev/null
@@ -1,80 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_ip_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_ip_addresss ipv4' do
- pp = <<-EOS
- $a = '1.2.3.4'
- $b = true
- $o = is_ip_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_ip_addresss ipv6' do
- pp = <<-EOS
- $a = "fe80:0000:cd12:d123:e2f8:47ff:fe09:dd74"
- $b = true
- $o = is_ip_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_ip_addresss ipv6 compressed' do
- pp = <<-EOS
- $a = "fe00::1"
- $b = true
- $o = is_ip_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_ip_addresss strings' do
- pp = <<-EOS
- $a = "aoeu"
- $b = false
- $o = is_ip_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_ip_addresss ipv4 out of range' do
- pp = <<-EOS
- $a = '1.2.3.400'
- $b = false
- $o = is_ip_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_mac_address_spec.rb b/modules/stdlib/spec/acceptance/is_mac_address_spec.rb
deleted file mode 100755
index a2c892f..0000000
--- a/modules/stdlib/spec/acceptance/is_mac_address_spec.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_mac_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_mac_addresss a mac' do
- pp = <<-EOS
- $a = '00:a0:1f:12:7f:a0'
- $b = true
- $o = is_mac_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_mac_addresss a mac out of range' do
- pp = <<-EOS
- $a = '00:a0:1f:12:7f:g0'
- $b = false
- $o = is_mac_address($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_numeric_spec.rb b/modules/stdlib/spec/acceptance/is_numeric_spec.rb
deleted file mode 100755
index 21c8988..0000000
--- a/modules/stdlib/spec/acceptance/is_numeric_spec.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_numeric function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_numerics arrays' do
- pp = <<-EOS
- $a = ['aaa.com','bbb','ccc']
- $b = false
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_numerics true' do
- pp = <<-EOS
- $a = true
- $b = false
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_numerics strings' do
- pp = <<-EOS
- $a = "3"
- $b = true
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_numerics floats' do
- pp = <<-EOS
- $a = 3.5
- $b = true
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_numerics integers' do
- pp = <<-EOS
- $a = 3
- $b = true
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_numerics hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'www.com'}
- $b = false
- $o = is_numeric($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- it 'handles non-arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/is_string_spec.rb b/modules/stdlib/spec/acceptance/is_string_spec.rb
deleted file mode 100755
index 94d8e96..0000000
--- a/modules/stdlib/spec/acceptance/is_string_spec.rb
+++ /dev/null
@@ -1,102 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'is_string function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'is_strings arrays' do
- pp = <<-EOS
- $a = ['aaa.com','bbb','ccc']
- $b = false
- $o = is_string($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_strings true' do
- pp = <<-EOS
- $a = true
- $b = false
- $o = is_string($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_strings strings' do
- pp = <<-EOS
- $a = "aoeu"
- $o = is_string($a)
- notice(inline_template('is_string is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_string is true/)
- end
- end
- it 'is_strings number strings' do
- pp = <<-EOS
- $a = "3"
- $o = is_string($a)
- notice(inline_template('is_string is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/is_string is false/)
- end
- end
- it 'is_strings floats' do
- pp = <<-EOS
- $a = 3.5
- $b = false
- $o = is_string($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_strings integers' do
- pp = <<-EOS
- $a = 3
- $b = false
- $o = is_string($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'is_strings hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'www.com'}
- $b = false
- $o = is_string($a)
- if $o == $b {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/join_keys_to_values_spec.rb b/modules/stdlib/spec/acceptance/join_keys_to_values_spec.rb
deleted file mode 100755
index 70493fd..0000000
--- a/modules/stdlib/spec/acceptance/join_keys_to_values_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'join_keys_to_values function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'join_keys_to_valuess hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'bbb','ccc'=>'ddd'}
- $b = ':'
- $o = join_keys_to_values($a,$b)
- notice(inline_template('join_keys_to_values is <%= @o.sort.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/join_keys_to_values is \["aaa:bbb", "ccc:ddd"\]/)
- end
- end
- it 'handles non hashes'
- it 'handles empty hashes'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/join_spec.rb b/modules/stdlib/spec/acceptance/join_spec.rb
deleted file mode 100755
index 5397ce2..0000000
--- a/modules/stdlib/spec/acceptance/join_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'join function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'joins arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $b = ':'
- $c = 'aaa:bbb:ccc'
- $o = join($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'handles non arrays'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/keys_spec.rb b/modules/stdlib/spec/acceptance/keys_spec.rb
deleted file mode 100755
index 176918e..0000000
--- a/modules/stdlib/spec/acceptance/keys_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'keys function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'keyss hashes' do
- pp = <<-EOS
- $a = {'aaa'=>'bbb','ccc'=>'ddd'}
- $o = keys($a)
- notice(inline_template('keys is <%= @o.sort.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/keys is \["aaa", "ccc"\]/)
- end
- end
- it 'handles non hashes'
- it 'handles empty hashes'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/loadyaml_spec.rb b/modules/stdlib/spec/acceptance/loadyaml_spec.rb
deleted file mode 100644
index 944a727..0000000
--- a/modules/stdlib/spec/acceptance/loadyaml_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'loadyaml function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'loadyamls array of values' do
- shell('echo "---
- aaa: 1
- bbb: 2
- ccc: 3
- ddd: 4" > /testyaml.yaml')
- pp = <<-EOS
- $o = loadyaml('/testyaml.yaml')
- notice(inline_template('loadyaml[aaa] is <%= @o["aaa"].inspect %>'))
- notice(inline_template('loadyaml[bbb] is <%= @o["bbb"].inspect %>'))
- notice(inline_template('loadyaml[ccc] is <%= @o["ccc"].inspect %>'))
- notice(inline_template('loadyaml[ddd] is <%= @o["ddd"].inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/loadyaml\[aaa\] is 1/)
- expect(r.stdout).to match(/loadyaml\[bbb\] is 2/)
- expect(r.stdout).to match(/loadyaml\[ccc\] is 3/)
- expect(r.stdout).to match(/loadyaml\[ddd\] is 4/)
- end
- end
- end
- describe 'failure' do
- it 'fails with no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/lstrip_spec.rb b/modules/stdlib/spec/acceptance/lstrip_spec.rb
deleted file mode 100755
index 3dc952f..0000000
--- a/modules/stdlib/spec/acceptance/lstrip_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'lstrip function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'lstrips arrays' do
- pp = <<-EOS
- $a = [" the "," public "," art","galleries "]
- # Anagram: Large picture halls, I bet
- $o = lstrip($a)
- notice(inline_template('lstrip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/lstrip is \["the ", "public ", "art", "galleries "\]/)
- end
- end
- it 'lstrips strings' do
- pp = <<-EOS
- $a = " blowzy night-frumps vex'd jack q "
- $o = lstrip($a)
- notice(inline_template('lstrip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/lstrip is "blowzy night-frumps vex'd jack q "/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/max_spec.rb b/modules/stdlib/spec/acceptance/max_spec.rb
deleted file mode 100755
index f04e3d2..0000000
--- a/modules/stdlib/spec/acceptance/max_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'max function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'maxs arrays' do
- pp = <<-EOS
- $o = max("the","public","art","galleries")
- notice(inline_template('max is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/max is "the"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/member_spec.rb b/modules/stdlib/spec/acceptance/member_spec.rb
deleted file mode 100755
index b467dbb..0000000
--- a/modules/stdlib/spec/acceptance/member_spec.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'member function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'members arrays' do
- pp = <<-EOS
- $a = ['aaa','bbb','ccc']
- $b = 'ccc'
- $c = true
- $o = member($a,$b)
- if $o == $c {
- notify { 'output correct': }
- }
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/Notice: output correct/)
- end
- end
- it 'members arrays without members'
- end
- describe 'failure' do
- it 'handles improper argument counts'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/merge_spec.rb b/modules/stdlib/spec/acceptance/merge_spec.rb
deleted file mode 100755
index a60e784..0000000
--- a/modules/stdlib/spec/acceptance/merge_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'merge function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'should merge two hashes' do
- pp = <<-EOS
- $a = {'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }
- $b = {'two' => 'dos', 'three' => { 'five' => 5 } }
- $o = merge($a, $b)
- notice(inline_template('merge[one] is <%= @o["one"].inspect %>'))
- notice(inline_template('merge[two] is <%= @o["two"].inspect %>'))
- notice(inline_template('merge[three] is <%= @o["three"].inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/merge\[one\] is "1"/)
- expect(r.stdout).to match(/merge\[two\] is "dos"/)
- expect(r.stdout).to match(/merge\[three\] is {"five"=>"5"}/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/min_spec.rb b/modules/stdlib/spec/acceptance/min_spec.rb
deleted file mode 100755
index 509092d..0000000
--- a/modules/stdlib/spec/acceptance/min_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'min function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'mins arrays' do
- pp = <<-EOS
- $o = min("the","public","art","galleries")
- notice(inline_template('min is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/min is "art"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/nodesets/centos-6-vcloud.yml b/modules/stdlib/spec/acceptance/nodesets/centos-6-vcloud.yml
deleted file mode 100644
index ca9c1d3..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/centos-6-vcloud.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-HOSTS:
- 'centos-6-vcloud':
- roles:
- - master
- platform: el-6-x86_64
- hypervisor: vcloud
- template: centos-6-x86_64
-CONFIG:
- type: foss
- ssh:
- keys: "~/.ssh/id_rsa-acceptance"
- datastore: instance0
- folder: Delivery/Quality Assurance/Enterprise/Dynamic
- resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
- pooling_api: http://vcloud.delivery.puppetlabs.net/
diff --git a/modules/stdlib/spec/acceptance/nodesets/centos-64-x64-pe.yml b/modules/stdlib/spec/acceptance/nodesets/centos-64-x64-pe.yml
deleted file mode 100644
index 7d9242f..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/centos-64-x64-pe.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-HOSTS:
- centos-64-x64:
- roles:
- - master
- - database
- - dashboard
- platform: el-6-x86_64
- box : centos-64-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: pe
diff --git a/modules/stdlib/spec/acceptance/nodesets/centos-64-x64.yml b/modules/stdlib/spec/acceptance/nodesets/centos-64-x64.yml
deleted file mode 100644
index 05540ed..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/centos-64-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- centos-64-x64:
- roles:
- - master
- platform: el-6-x86_64
- box : centos-64-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/nodesets/default.yml b/modules/stdlib/spec/acceptance/nodesets/default.yml
deleted file mode 100644
index 4e2cb80..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/default.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- centos-65-x64:
- roles:
- - master
- platform: el-6-x86_64
- box : centos-65-x64-vbox436-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/nodesets/fedora-18-x64.yml b/modules/stdlib/spec/acceptance/nodesets/fedora-18-x64.yml
deleted file mode 100644
index 1361649..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/fedora-18-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- fedora-18-x64:
- roles:
- - master
- platform: fedora-18-x86_64
- box : fedora-18-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/nodesets/sles-11-x64.yml b/modules/stdlib/spec/acceptance/nodesets/sles-11-x64.yml
deleted file mode 100644
index 41abe21..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/sles-11-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- sles-11-x64.local:
- roles:
- - master
- platform: sles-11-x64
- box : sles-11sp1-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml b/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml
deleted file mode 100644
index 5ca1514..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- ubuntu-server-10044-x64:
- roles:
- - master
- platform: ubuntu-10.04-amd64
- box : ubuntu-server-10044-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml b/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml
deleted file mode 100644
index d065b30..0000000
--- a/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-HOSTS:
- ubuntu-server-12042-x64:
- roles:
- - master
- platform: ubuntu-12.04-amd64
- box : ubuntu-server-12042-x64-vbox4210-nocm
- box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
- hypervisor : vagrant
-CONFIG:
- type: foss
diff --git a/modules/stdlib/spec/acceptance/num2bool_spec.rb b/modules/stdlib/spec/acceptance/num2bool_spec.rb
deleted file mode 100755
index 1d99ba0..0000000
--- a/modules/stdlib/spec/acceptance/num2bool_spec.rb
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'num2bool function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'bools positive numbers and numeric strings as true' do
- pp = <<-EOS
- $a = 1
- $b = "1"
- $c = "50"
- $ao = num2bool($a)
- $bo = num2bool($b)
- $co = num2bool($c)
- notice(inline_template('a is <%= @ao.inspect %>'))
- notice(inline_template('b is <%= @bo.inspect %>'))
- notice(inline_template('c is <%= @co.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/a is true/)
- expect(r.stdout).to match(/b is true/)
- expect(r.stdout).to match(/c is true/)
- end
- end
- it 'bools negative numbers as false' do
- pp = <<-EOS
- $a = 0
- $b = -0.1
- $c = ["-50","1"]
- $ao = num2bool($a)
- $bo = num2bool($b)
- $co = num2bool($c)
- notice(inline_template('a is <%= @ao.inspect %>'))
- notice(inline_template('b is <%= @bo.inspect %>'))
- notice(inline_template('c is <%= @co.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/a is false/)
- expect(r.stdout).to match(/b is false/)
- expect(r.stdout).to match(/c is false/)
- end
- end
- end
- describe 'failure' do
- it 'fails on words' do
- pp = <<-EOS
- $a = "a"
- $ao = num2bool($a)
- notice(inline_template('a is <%= @ao.inspect %>'))
- EOS
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/not look like a number/)
- end
-
- it 'fails on numberwords' do
- pp = <<-EOS
- $b = "1b"
- $bo = num2bool($b)
- notice(inline_template('b is <%= @bo.inspect %>'))
- EOS
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/not look like a number/)
-
- end
-
- it 'fails on non-numeric/strings' do
- pending "The function will call .to_s.to_i on anything not a Numeric or
- String, and results in 0. Is this intended?"
- pp = <<-EOS
- $c = {"c" => "-50"}
- $co = num2bool($c)
- notice(inline_template('c is <%= @co.inspect %>'))
- EOS
- expect(apply_manifest(ppc :expect_failures => true).stderr).to match(/Unable to parse/)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/parsejson_spec.rb b/modules/stdlib/spec/acceptance/parsejson_spec.rb
deleted file mode 100755
index 5097810..0000000
--- a/modules/stdlib/spec/acceptance/parsejson_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'parsejson function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'parses valid json' do
- pp = <<-EOS
- $a = '{"hunter": "washere", "tests": "passing"}'
- $ao = parsejson($a)
- $tests = $ao['tests']
- notice(inline_template('tests are <%= @tests.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/tests are "passing"/)
- end
- end
- end
- describe 'failure' do
- it 'raises error on incorrect json' do
- pp = <<-EOS
- $a = '{"hunter": "washere", "tests": "passing",}'
- $ao = parsejson($a)
- notice(inline_template('a is <%= @ao.inspect %>'))
- EOS
-
- apply_manifest(pp, :expect_failures => true) do |r|
- expect(r.stderr).to match(/expected next name/)
- end
- end
-
- it 'raises error on incorrect number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/parseyaml_spec.rb b/modules/stdlib/spec/acceptance/parseyaml_spec.rb
deleted file mode 100755
index 5819837..0000000
--- a/modules/stdlib/spec/acceptance/parseyaml_spec.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'parseyaml function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'parses valid yaml' do
- pp = <<-EOS
- $a = "---\nhunter: washere\ntests: passing\n"
- $o = parseyaml($a)
- $tests = $o['tests']
- notice(inline_template('tests are <%= @tests.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/tests are "passing"/)
- end
- end
- end
- describe 'failure' do
- it 'raises error on incorrect yaml' do
- pp = <<-EOS
- $a = "---\nhunter: washere\ntests: passing\n:"
- $o = parseyaml($a)
- $tests = $o['tests']
- notice(inline_template('tests are <%= @tests.inspect %>'))
- EOS
-
- apply_manifest(pp, :expect_failures => true) do |r|
- expect(r.stderr).to match(/(syntax error|did not find expected key)/)
- end
- end
-
- it 'raises error on incorrect number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/pick_default_spec.rb b/modules/stdlib/spec/acceptance/pick_default_spec.rb
deleted file mode 100755
index a663f54..0000000
--- a/modules/stdlib/spec/acceptance/pick_default_spec.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'pick_default function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'pick_defaults a default value' do
- pp = <<-EOS
- $a = undef
- $o = pick_default($a, 'default')
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/picked is "default"/)
- end
- end
- it 'pick_defaults with no value' do
- pp = <<-EOS
- $a = undef
- $b = undef
- $o = pick_default($a,$b)
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/picked is ""/)
- end
- end
- it 'pick_defaults the first set value' do
- pp = <<-EOS
- $a = "something"
- $b = "long"
- $o = pick_default($a, $b, 'default')
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/picked is "something"/)
- end
- end
- end
- describe 'failure' do
- it 'raises error with no values' do
- pp = <<-EOS
- $o = pick_default()
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :expect_failures => true) do |r|
- expect(r.stderr).to match(/Must receive at least one argument/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/pick_spec.rb b/modules/stdlib/spec/acceptance/pick_spec.rb
deleted file mode 100755
index 46cf63f..0000000
--- a/modules/stdlib/spec/acceptance/pick_spec.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'pick function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'picks a default value' do
- pp = <<-EOS
- $a = undef
- $o = pick($a, 'default')
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/picked is "default"/)
- end
- end
- it 'picks the first set value' do
- pp = <<-EOS
- $a = "something"
- $b = "long"
- $o = pick($a, $b, 'default')
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/picked is "something"/)
- end
- end
- end
- describe 'failure' do
- it 'raises error with all undef values' do
- pp = <<-EOS
- $a = undef
- $b = undef
- $o = pick($a, $b)
- notice(inline_template('picked is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :expect_failures => true) do |r|
- expect(r.stderr).to match(/must receive at least one non empty value/)
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/prefix_spec.rb b/modules/stdlib/spec/acceptance/prefix_spec.rb
deleted file mode 100755
index de55530..0000000
--- a/modules/stdlib/spec/acceptance/prefix_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'prefix function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'prefixes array of values' do
- pp = <<-EOS
- $o = prefix(['a','b','c'],'p')
- notice(inline_template('prefix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/prefix is \["pa", "pb", "pc"\]/)
- end
- end
- it 'prefixs with empty array' do
- pp = <<-EOS
- $o = prefix([],'p')
- notice(inline_template('prefix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/prefix is \[\]/)
- end
- end
- it 'prefixs array of values with undef' do
- pp = <<-EOS
- $o = prefix(['a','b','c'], undef)
- notice(inline_template('prefix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/prefix is \["a", "b", "c"\]/)
- end
- end
- end
- describe 'failure' do
- it 'fails with no arguments'
- it 'fails when first argument is not array'
- it 'fails when second argument is not string'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/range_spec.rb b/modules/stdlib/spec/acceptance/range_spec.rb
deleted file mode 100755
index a3ccd33..0000000
--- a/modules/stdlib/spec/acceptance/range_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'range function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'ranges letters' do
- pp = <<-EOS
- $o = range('a','d')
- notice(inline_template('range is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/range is \["a", "b", "c", "d"\]/)
- end
- end
- it 'ranges letters with a step' do
- pp = <<-EOS
- $o = range('a','d', '2')
- notice(inline_template('range is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/range is \["a", "c"\]/)
- end
- end
- it 'ranges letters with a negative step'
- it 'ranges numbers'
- it 'ranges numbers with a step'
- it 'ranges numbers with a negative step'
- it 'ranges numeric strings'
- it 'ranges zero padded numbers'
- end
- describe 'failure' do
- it 'fails with no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/reject_spec.rb b/modules/stdlib/spec/acceptance/reject_spec.rb
deleted file mode 100755
index 7f16a00..0000000
--- a/modules/stdlib/spec/acceptance/reject_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'reject function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'rejects array of values' do
- pp = <<-EOS
- $o = reject(['aaa','bbb','ccc','aaaddd'], 'aaa')
- notice(inline_template('reject is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/reject is \["bbb", "ccc"\]/)
- end
- end
- it 'rejects with empty array' do
- pp = <<-EOS
- $o = reject([],'aaa')
- notice(inline_template('reject is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/reject is \[\]/)
- end
- end
- it 'rejects array of values with undef' do
- pp = <<-EOS
- $o = reject(['aaa','bbb','ccc','aaaddd'], undef)
- notice(inline_template('reject is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/reject is \[\]/)
- end
- end
- end
- describe 'failure' do
- it 'fails with no arguments'
- it 'fails when first argument is not array'
- it 'fails when second argument is not string'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/reverse_spec.rb b/modules/stdlib/spec/acceptance/reverse_spec.rb
deleted file mode 100755
index c3f0156..0000000
--- a/modules/stdlib/spec/acceptance/reverse_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'reverse function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'reverses strings' do
- pp = <<-EOS
- $a = "the public art galleries"
- # Anagram: Large picture halls, I bet
- $o = reverse($a)
- notice(inline_template('reverse is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/reverse is "seirellag tra cilbup eht"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/rstrip_spec.rb b/modules/stdlib/spec/acceptance/rstrip_spec.rb
deleted file mode 100755
index b57a8b0..0000000
--- a/modules/stdlib/spec/acceptance/rstrip_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'rstrip function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'rstrips arrays' do
- pp = <<-EOS
- $a = [" the "," public "," art","galleries "]
- # Anagram: Large picture halls, I bet
- $o = rstrip($a)
- notice(inline_template('rstrip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/rstrip is \[" the", " public", " art", "galleries"\]/)
- end
- end
- it 'rstrips strings' do
- pp = <<-EOS
- $a = " blowzy night-frumps vex'd jack q "
- $o = rstrip($a)
- notice(inline_template('rstrip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/rstrip is " blowzy night-frumps vex'd jack q"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/shuffle_spec.rb b/modules/stdlib/spec/acceptance/shuffle_spec.rb
deleted file mode 100755
index b840d1f..0000000
--- a/modules/stdlib/spec/acceptance/shuffle_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'shuffle function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'shuffles arrays' do
- pp = <<-EOS
- $a = ["1", "2", "3", "4", "5", "6", "7", "8", "the","public","art","galleries"]
- # Anagram: Large picture halls, I bet
- $o = shuffle($a)
- notice(inline_template('shuffle is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to_not match(/shuffle is \["1", "2", "3", "4", "5", "6", "7", "8", "the", "public", "art", "galleries"\]/)
- end
- end
- it 'shuffles strings' do
- pp = <<-EOS
- $a = "blowzy night-frumps vex'd jack q"
- $o = shuffle($a)
- notice(inline_template('shuffle is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to_not match(/shuffle is "blowzy night-frumps vex'd jack q"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/size_spec.rb b/modules/stdlib/spec/acceptance/size_spec.rb
deleted file mode 100755
index a52b778..0000000
--- a/modules/stdlib/spec/acceptance/size_spec.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'size function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'single string size' do
- pp = <<-EOS
- $a = 'discombobulate'
- $o = size($a)
- notice(inline_template('size is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/size is 14/)
- end
- end
- it 'with empty string' do
- pp = <<-EOS
- $a = ''
- $o = size($a)
- notice(inline_template('size is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/size is 0/)
- end
- end
- it 'with undef' do
- pp = <<-EOS
- $a = undef
- $o = size($a)
- notice(inline_template('size is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/size is 0/)
- end
- end
- it 'strings in array' do
- pp = <<-EOS
- $a = ['discombobulate', 'moo']
- $o = size($a)
- notice(inline_template('size is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/size is 2/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/sort_spec.rb b/modules/stdlib/spec/acceptance/sort_spec.rb
deleted file mode 100755
index c85bfab..0000000
--- a/modules/stdlib/spec/acceptance/sort_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'sort function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'sorts arrays' do
- pp = <<-EOS
- $a = ["the","public","art","galleries"]
- # Anagram: Large picture halls, I bet
- $o = sort($a)
- notice(inline_template('sort is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/sort is \["art", "galleries", "public", "the"\]/)
- end
- end
- it 'sorts strings' do
- pp = <<-EOS
- $a = "blowzy night-frumps vex'd jack q"
- $o = sort($a)
- notice(inline_template('sort is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/sort is " '-abcdefghijklmnopqrstuvwxyz"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/squeeze_spec.rb b/modules/stdlib/spec/acceptance/squeeze_spec.rb
deleted file mode 100755
index 400a458..0000000
--- a/modules/stdlib/spec/acceptance/squeeze_spec.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'squeeze function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'squeezes arrays' do
- pp = <<-EOS
- # Real words!
- $a = ["wallless", "laparohysterosalpingooophorectomy", "brrr", "goddessship"]
- $o = squeeze($a)
- notice(inline_template('squeeze is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/squeeze is \["wales", "laparohysterosalpingophorectomy", "br", "godeship"\]/)
- end
- end
- it 'squeezez arrays with an argument'
- it 'squeezes strings' do
- pp = <<-EOS
- $a = "wallless laparohysterosalpingooophorectomy brrr goddessship"
- $o = squeeze($a)
- notice(inline_template('squeeze is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/squeeze is "wales laparohysterosalpingophorectomy br godeship"/)
- end
- end
-
- it 'squeezes strings with an argument' do
- pp = <<-EOS
- $a = "countessship duchessship governessship hostessship"
- $o = squeeze($a, 's')
- notice(inline_template('squeeze is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/squeeze is "counteship ducheship governeship hosteship"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/str2bool_spec.rb b/modules/stdlib/spec/acceptance/str2bool_spec.rb
deleted file mode 100755
index cf549da..0000000
--- a/modules/stdlib/spec/acceptance/str2bool_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'str2bool function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'works with "y"' do
- pp = <<-EOS
- $o = str2bool('y')
- notice(inline_template('str2bool is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/str2bool is true/)
- end
- end
- it 'works with "Y"'
- it 'works with "yes"'
- it 'works with "1"'
- it 'works with "true"'
- it 'works with "n"'
- it 'works with "N"'
- it 'works with "no"'
- it 'works with "0"'
- it 'works with "false"'
- it 'works with undef'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non arrays or strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/str2saltedsha512_spec.rb b/modules/stdlib/spec/acceptance/str2saltedsha512_spec.rb
deleted file mode 100755
index 993e63b..0000000
--- a/modules/stdlib/spec/acceptance/str2saltedsha512_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'str2saltedsha512 function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'works with "y"' do
- pp = <<-EOS
- $o = str2saltedsha512('password')
- notice(inline_template('str2saltedsha512 is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/str2saltedsha512 is "[a-f0-9]{136}"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles more than one argument'
- it 'handles non strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/strftime_spec.rb b/modules/stdlib/spec/acceptance/strftime_spec.rb
deleted file mode 100755
index 53b7f90..0000000
--- a/modules/stdlib/spec/acceptance/strftime_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'strftime function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'gives the Century' do
- pp = <<-EOS
- $o = strftime('%C')
- notice(inline_template('strftime is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/strftime is "20"/)
- end
- end
- it 'takes a timezone argument'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles invalid format strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/strip_spec.rb b/modules/stdlib/spec/acceptance/strip_spec.rb
deleted file mode 100755
index 906fd7a..0000000
--- a/modules/stdlib/spec/acceptance/strip_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'strip function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'strips arrays' do
- pp = <<-EOS
- $a = [" the "," public "," art","galleries "]
- # Anagram: Large picture halls, I bet
- $o = strip($a)
- notice(inline_template('strip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/strip is \["the", "public", "art", "galleries"\]/)
- end
- end
- it 'strips strings' do
- pp = <<-EOS
- $a = " blowzy night-frumps vex'd jack q "
- $o = strip($a)
- notice(inline_template('strip is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/strip is "blowzy night-frumps vex'd jack q"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/suffix_spec.rb b/modules/stdlib/spec/acceptance/suffix_spec.rb
deleted file mode 100755
index 630f866..0000000
--- a/modules/stdlib/spec/acceptance/suffix_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'suffix function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'suffixes array of values' do
- pp = <<-EOS
- $o = suffix(['a','b','c'],'p')
- notice(inline_template('suffix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/suffix is \["ap", "bp", "cp"\]/)
- end
- end
- it 'suffixs with empty array' do
- pp = <<-EOS
- $o = suffix([],'p')
- notice(inline_template('suffix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/suffix is \[\]/)
- end
- end
- it 'suffixs array of values with undef' do
- pp = <<-EOS
- $o = suffix(['a','b','c'], undef)
- notice(inline_template('suffix is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/suffix is \["a", "b", "c"\]/)
- end
- end
- end
- describe 'failure' do
- it 'fails with no arguments'
- it 'fails when first argument is not array'
- it 'fails when second argument is not string'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/swapcase_spec.rb b/modules/stdlib/spec/acceptance/swapcase_spec.rb
deleted file mode 100755
index b7894fb..0000000
--- a/modules/stdlib/spec/acceptance/swapcase_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'swapcase function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'works with strings' do
- pp = <<-EOS
- $o = swapcase('aBcD')
- notice(inline_template('swapcase is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/swapcase is "AbCd"/)
- end
- end
- it 'works with arrays'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non arrays or strings'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/time_spec.rb b/modules/stdlib/spec/acceptance/time_spec.rb
deleted file mode 100755
index cdb2960..0000000
--- a/modules/stdlib/spec/acceptance/time_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'time function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'gives the time' do
- pp = <<-EOS
- $o = time()
- notice(inline_template('time is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- m = r.stdout.match(/time is (\d+)\D/)
-
- # When I wrote this test
- expect(Integer(m[1])).to be > 1398894170
- end
- end
- it 'takes a timezone argument' do
- pp = <<-EOS
- $o = time('UTC')
- notice(inline_template('time is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- m = r.stdout.match(/time is (\d+)\D/)
-
- expect(Integer(m[1])).to be > 1398894170
- end
- end
- end
- describe 'failure' do
- it 'handles more arguments'
- it 'handles invalid timezones'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/to_bytes_spec.rb b/modules/stdlib/spec/acceptance/to_bytes_spec.rb
deleted file mode 100755
index 2b4c61f..0000000
--- a/modules/stdlib/spec/acceptance/to_bytes_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'to_bytes function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'converts kB to B' do
- pp = <<-EOS
- $o = to_bytes('4 kB')
- notice(inline_template('to_bytes is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- m = r.stdout.match(/to_bytes is (\d+)\D/)
- expect(m[1]).to eq("4096")
- end
- end
- it 'works without the B in unit'
- it 'works without a space before unit'
- it 'works without a unit'
- it 'converts fractions'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non integer arguments'
- it 'handles unknown units like uB'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/type_spec.rb b/modules/stdlib/spec/acceptance/type_spec.rb
deleted file mode 100755
index 0043aad..0000000
--- a/modules/stdlib/spec/acceptance/type_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'type function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'types arrays' do
- pp = <<-EOS
- $a = ["the","public","art","galleries"]
- # Anagram: Large picture halls, I bet
- $o = type($a)
- notice(inline_template('type is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/type is "array"/)
- end
- end
- it 'types strings' do
- pp = <<-EOS
- $a = "blowzy night-frumps vex'd jack q"
- $o = type($a)
- notice(inline_template('type is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/type is "string"/)
- end
- end
- it 'types hashes'
- it 'types integers'
- it 'types floats'
- it 'types booleans'
- end
- describe 'failure' do
- it 'handles no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/union_spec.rb b/modules/stdlib/spec/acceptance/union_spec.rb
deleted file mode 100755
index 6db8d0c..0000000
--- a/modules/stdlib/spec/acceptance/union_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'union function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'unions arrays' do
- pp = <<-EOS
- $a = ["the","public"]
- $b = ["art","galleries"]
- # Anagram: Large picture halls, I bet
- $o = union($a,$b)
- notice(inline_template('union is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/union is \["the", "public", "art", "galleries"\]/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/unique_spec.rb b/modules/stdlib/spec/acceptance/unique_spec.rb
deleted file mode 100755
index bfadad1..0000000
--- a/modules/stdlib/spec/acceptance/unique_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'unique function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'uniques arrays' do
- pp = <<-EOS
- $a = ["wallless", "wallless", "brrr", "goddessship"]
- $o = unique($a)
- notice(inline_template('unique is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/unique is \["wallless", "brrr", "goddessship"\]/)
- end
- end
- it 'uniques strings' do
- pp = <<-EOS
- $a = "wallless laparohysterosalpingooophorectomy brrr goddessship"
- $o = unique($a)
- notice(inline_template('unique is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/unique is "wales prohytingcmbd"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/unsupported_spec.rb b/modules/stdlib/spec/acceptance/unsupported_spec.rb
deleted file mode 100755
index 1c559f6..0000000
--- a/modules/stdlib/spec/acceptance/unsupported_spec.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'unsupported distributions and OSes', :if => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- it 'should fail' do
- pp = <<-EOS
- class { 'mysql::server': }
- EOS
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/unsupported osfamily/i)
- end
-end
diff --git a/modules/stdlib/spec/acceptance/upcase_spec.rb b/modules/stdlib/spec/acceptance/upcase_spec.rb
deleted file mode 100755
index 3d2906d..0000000
--- a/modules/stdlib/spec/acceptance/upcase_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'upcase function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'upcases arrays' do
- pp = <<-EOS
- $a = ["wallless", "laparohysterosalpingooophorectomy", "brrr", "goddessship"]
- $o = upcase($a)
- notice(inline_template('upcase is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/upcase is \["WALLLESS", "LAPAROHYSTEROSALPINGOOOPHORECTOMY", "BRRR", "GODDESSSHIP"\]/)
- end
- end
- it 'upcases strings' do
- pp = <<-EOS
- $a = "wallless laparohysterosalpingooophorectomy brrr goddessship"
- $o = upcase($a)
- notice(inline_template('upcase is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/upcase is "WALLLESS LAPAROHYSTEROSALPINGOOOPHORECTOMY BRRR GODDESSSHIP"/)
- end
- end
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/uriescape_spec.rb b/modules/stdlib/spec/acceptance/uriescape_spec.rb
deleted file mode 100755
index 7e30205..0000000
--- a/modules/stdlib/spec/acceptance/uriescape_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'uriescape function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'uriescape strings' do
- pp = <<-EOS
- $a = ":/?#[]@!$&'()*+,;= \\\"{}"
- $o = uriescape($a)
- notice(inline_template('uriescape is <%= @o.inspect %>'))
- EOS
-
- apply_manifest(pp, :catch_failures => true) do |r|
- expect(r.stdout).to match(/uriescape is ":\/\?%23\[\]@!\$&'\(\)\*\+,;=%20%22%7B%7D"/)
- end
- end
- it 'does nothing if a string is already safe'
- end
- describe 'failure' do
- it 'handles no arguments'
- it 'handles non strings or arrays'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_absolute_path_spec.rb b/modules/stdlib/spec/acceptance/validate_absolute_path_spec.rb
deleted file mode 100755
index 7082e84..0000000
--- a/modules/stdlib/spec/acceptance/validate_absolute_path_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_absolute_path function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- %w{
- C:/
- C:\\\\
- C:\\\\WINDOWS\\\\System32
- C:/windows/system32
- X:/foo/bar
- X:\\\\foo\\\\bar
- /var/tmp
- /var/lib/puppet
- /var/opt/../lib/puppet
- }.each do |path|
- it "validates a single argument #{path}" do
- pp = <<-EOS
- $one = '#{path}'
- validate_absolute_path($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles relative paths'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_array_spec.rb b/modules/stdlib/spec/acceptance/validate_array_spec.rb
deleted file mode 100755
index b53e98c..0000000
--- a/modules/stdlib/spec/acceptance/validate_array_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_array function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = ['a', 'b']
- validate_array($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = ['a', 'b']
- $two = [['c'], 'd']
- validate_array($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a non-array' do
- {
- %{validate_array({'a' => 'hash' })} => "Hash",
- %{validate_array('string')} => "String",
- %{validate_array(false)} => "FalseClass",
- %{validate_array(undef)} => "String"
- }.each do |pp,type|
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_augeas_spec.rb b/modules/stdlib/spec/acceptance/validate_augeas_spec.rb
deleted file mode 100755
index aeec67a..0000000
--- a/modules/stdlib/spec/acceptance/validate_augeas_spec.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_augeas function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'prep' do
- it 'installs augeas for tests'
- end
- describe 'success' do
- context 'valid inputs with no 3rd argument' do
- {
- 'root:x:0:0:root:/root:/bin/bash\n' => 'Passwd.lns',
- 'proc /proc proc nodev,noexec,nosuid 0 0\n' => 'Fstab.lns'
- }.each do |line,lens|
- it "validates a single argument for #{lens}" do
- pp = <<-EOS
- $line = "#{line}"
- $lens = "#{lens}"
- validate_augeas($line, $lens)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
- end
- context 'valid inputs with 3rd and 4th arguments' do
- it "validates a restricted value" do
- line = 'root:x:0:0:root:/root:/bin/barsh\n'
- lens = 'Passwd.lns'
- restriction = '$file/*[shell="/bin/barsh"]'
- pp = <<-EOS
- $line = "#{line}"
- $lens = "#{lens}"
- $restriction = ['#{restriction}']
- validate_augeas($line, $lens, $restriction, "my custom failure message")
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/my custom failure message/)
- end
- end
- context 'invalid inputs' do
- {
- 'root:x:0:0:root' => 'Passwd.lns',
- '127.0.1.1' => 'Hosts.lns'
- }.each do |line,lens|
- it "validates a single argument for #{lens}" do
- pp = <<-EOS
- $line = "#{line}"
- $lens = "#{lens}"
- validate_augeas($line, $lens)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- end
- end
- context 'garbage inputs' do
- it 'raises an error on invalid inputs'
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_bool_spec.rb b/modules/stdlib/spec/acceptance/validate_bool_spec.rb
deleted file mode 100755
index c837f08..0000000
--- a/modules/stdlib/spec/acceptance/validate_bool_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_bool function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = true
- validate_bool($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = true
- $two = false
- validate_bool($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a non-bool' do
- {
- %{validate_bool('true')} => "String",
- %{validate_bool('false')} => "String",
- %{validate_bool([true])} => "Array",
- %{validate_bool(undef)} => "String",
- }.each do |pp,type|
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_cmd_spec.rb b/modules/stdlib/spec/acceptance/validate_cmd_spec.rb
deleted file mode 100755
index 385676d..0000000
--- a/modules/stdlib/spec/acceptance/validate_cmd_spec.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_cmd function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a true command' do
- pp = <<-EOS
- $one = 'foo'
- if $::osfamily == 'windows' {
- $two = 'echo' #shell built-in
- } else {
- $two = '/bin/echo'
- }
- validate_cmd($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a fail command' do
- pp = <<-EOS
- $one = 'foo'
- if $::osfamily == 'windows' {
- $two = 'C:/aoeu'
- } else {
- $two = '/bin/aoeu'
- }
- validate_cmd($one,$two)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- it 'validates a fail command with a custom error message' do
- pp = <<-EOS
- $one = 'foo'
- if $::osfamily == 'windows' {
- $two = 'C:/aoeu'
- } else {
- $two = '/bin/aoeu'
- }
- validate_cmd($one,$two,"aoeu is dvorak)
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/aoeu is dvorak/)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles improper argument types'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_hash_spec.rb b/modules/stdlib/spec/acceptance/validate_hash_spec.rb
deleted file mode 100755
index 52fb615..0000000
--- a/modules/stdlib/spec/acceptance/validate_hash_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_hash function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = { 'a' => 1 }
- validate_hash($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = { 'a' => 1 }
- $two = { 'b' => 2 }
- validate_hash($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a non-hash' do
- {
- %{validate_hash('{ "not" => "hash" }')} => "String",
- %{validate_hash('string')} => "String",
- %{validate_hash(["array"])} => "Array",
- %{validate_hash(undef)} => "String",
- }.each do |pp,type|
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_ipv4_address_spec.rb b/modules/stdlib/spec/acceptance/validate_ipv4_address_spec.rb
deleted file mode 100755
index 64841c3..0000000
--- a/modules/stdlib/spec/acceptance/validate_ipv4_address_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_ipv4_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = '1.2.3.4'
- validate_ipv4_address($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = '1.2.3.4'
- $two = '5.6.7.8'
- validate_ipv4_address($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles ipv6 addresses'
- it 'handles non-ipv4 strings'
- it 'handles numbers'
- it 'handles no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_ipv6_address_spec.rb b/modules/stdlib/spec/acceptance/validate_ipv6_address_spec.rb
deleted file mode 100755
index 6426d1a..0000000
--- a/modules/stdlib/spec/acceptance/validate_ipv6_address_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_ipv6_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = '3ffe:0505:0002::'
- validate_ipv6_address($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = '3ffe:0505:0002::'
- $two = '3ffe:0505:0001::'
- validate_ipv6_address($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles ipv6 addresses'
- it 'handles non-ipv6 strings'
- it 'handles numbers'
- it 'handles no arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_re_spec.rb b/modules/stdlib/spec/acceptance/validate_re_spec.rb
deleted file mode 100755
index 22f6d47..0000000
--- a/modules/stdlib/spec/acceptance/validate_re_spec.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_re function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a string' do
- pp = <<-EOS
- $one = 'one'
- $two = '^one$'
- validate_re($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an array' do
- pp = <<-EOS
- $one = 'one'
- $two = ['^one$', '^two']
- validate_re($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a failed array' do
- pp = <<-EOS
- $one = 'one'
- $two = ['^two$', '^three']
- validate_re($one,$two)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- it 'validates a failed array with a custom error message' do
- pp = <<-EOS
- $one = '3.4.3'
- $two = '^2.7'
- validate_re($one,$two,"The $puppetversion fact does not match 2.7")
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/does not match/)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles improper argument types'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_slength_spec.rb b/modules/stdlib/spec/acceptance/validate_slength_spec.rb
deleted file mode 100755
index 1ab2bb9..0000000
--- a/modules/stdlib/spec/acceptance/validate_slength_spec.rb
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_slength function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single string max' do
- pp = <<-EOS
- $one = 'discombobulate'
- $two = 17
- validate_slength($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates multiple string maxes' do
- pp = <<-EOS
- $one = ['discombobulate', 'moo']
- $two = 17
- validate_slength($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates min/max of strings in array' do
- pp = <<-EOS
- $one = ['discombobulate', 'moo']
- $two = 17
- $three = 3
- validate_slength($one,$two,$three)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a single string max of incorrect length' do
- pp = <<-EOS
- $one = 'discombobulate'
- $two = 1
- validate_slength($one,$two)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- it 'validates multiple string maxes of incorrect length' do
- pp = <<-EOS
- $one = ['discombobulate', 'moo']
- $two = 3
- validate_slength($one,$two)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- it 'validates multiple strings min/maxes of incorrect length' do
- pp = <<-EOS
- $one = ['discombobulate', 'moo']
- $two = 17
- $three = 10
- validate_slength($one,$two,$three)
- EOS
-
- apply_manifest(pp, :expect_failures => true)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- it 'handles improper first argument type'
- it 'handles non-strings in array of first argument'
- it 'handles improper second argument type'
- it 'handles improper third argument type'
- it 'handles negative ranges'
- it 'handles improper ranges'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/validate_string_spec.rb b/modules/stdlib/spec/acceptance/validate_string_spec.rb
deleted file mode 100755
index 8956f48..0000000
--- a/modules/stdlib/spec/acceptance/validate_string_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'validate_string function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'validates a single argument' do
- pp = <<-EOS
- $one = 'string'
- validate_string($one)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates an multiple arguments' do
- pp = <<-EOS
- $one = 'string'
- $two = 'also string'
- validate_string($one,$two)
- EOS
-
- apply_manifest(pp, :catch_failures => true)
- end
- it 'validates a non-string' do
- {
- %{validate_string({ 'a' => 'hash' })} => "Hash",
- %{validate_string(['array'])} => "Array",
- %{validate_string(false)} => "FalseClass",
- }.each do |pp,type|
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
- end
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/values_at_spec.rb b/modules/stdlib/spec/acceptance/values_at_spec.rb
deleted file mode 100755
index da63cf3..0000000
--- a/modules/stdlib/spec/acceptance/values_at_spec.rb
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'values_at function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'returns a specific value' do
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $two = 1
- $output = values_at($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["b"\]/)
- end
- it 'returns a specific negative index value' do
- pending("negative numbers don't work")
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $two = -1
- $output = values_at($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["e"\]/)
- end
- it 'returns a range of values' do
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $two = "1-3"
- $output = values_at($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["b", "c", "d"\]/)
- end
- it 'returns a negative specific value and range of values' do
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $two = ["1-3",0]
- $output = values_at($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["b", "c", "d", "a"\]/)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments' do
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $output = values_at($one)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/Wrong number of arguments/)
- end
- it 'handles non-indicies arguments' do
- pp = <<-EOS
- $one = ['a','b','c','d','e']
- $two = []
- $output = values_at($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/at least one positive index/)
- end
-
- it 'detects index ranges smaller than the start range'
- it 'handles index ranges larger than array'
- it 'handles non-integer indicies'
- end
-end
diff --git a/modules/stdlib/spec/acceptance/values_spec.rb b/modules/stdlib/spec/acceptance/values_spec.rb
deleted file mode 100755
index 7ef956e..0000000
--- a/modules/stdlib/spec/acceptance/values_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-
-describe 'values function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'returns an array of values' do
- pp = <<-EOS
- $arg = {
- 'a' => 1,
- 'b' => 2,
- 'c' => 3,
- }
- $output = values($arg)
- notice(inline_template('<%= @output.sort.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["1", "2", "3"\]/)
- end
- end
- describe 'failure' do
- it 'handles non-hash arguments' do
- pp = <<-EOS
- $arg = "foo"
- $output = values($arg)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/Requires hash/)
- end
- end
-end
diff --git a/modules/stdlib/spec/acceptance/zip_spec.rb b/modules/stdlib/spec/acceptance/zip_spec.rb
deleted file mode 100755
index 0e924e8..0000000
--- a/modules/stdlib/spec/acceptance/zip_spec.rb
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper_acceptance'
-require 'puppet'
-
-describe 'zip function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
- describe 'success' do
- it 'zips two arrays of numbers together' do
- pp = <<-EOS
- $one = [1,2,3,4]
- $two = [5,6,7,8]
- $output = zip($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\[\["1", "5"\], \["2", "6"\], \["3", "7"\], \["4", "8"\]\]/)
- end
- it 'zips two arrays of numbers & bools together' do
- pp = <<-EOS
- $one = [1,2,"three",4]
- $two = [true,true,false,false]
- $output = zip($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\[\["1", true\], \["2", true\], \["three", false\], \["4", false\]\]/)
- end
- it 'zips two arrays of numbers together and flattens them' do
- # XXX This only tests the argument `true`, even though the following are valid:
- # 1 t y true yes
- # 0 f n false no
- # undef undefined
- pp = <<-EOS
- $one = [1,2,3,4]
- $two = [5,6,7,8]
- $output = zip($one,$two,true)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\["1", "5", "2", "6", "3", "7", "4", "8"\]/)
- end
- it 'handles unmatched length' do
- # XXX Is this expected behavior?
- pp = <<-EOS
- $one = [1,2]
- $two = [5,6,7,8]
- $output = zip($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :catch_failures => true).stdout).to match(/\[\["1", "5"\], \["2", "6"\]\]/)
- end
- end
- describe 'failure' do
- it 'handles improper number of arguments' do
- pp = <<-EOS
- $one = [1,2]
- $output = zip($one)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/Wrong number of arguments/)
- end
- it 'handles improper argument types' do
- pp = <<-EOS
- $one = "a string"
- $two = [5,6,7,8]
- $output = zip($one,$two)
- notice(inline_template('<%= @output.inspect %>'))
- EOS
-
- expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/Requires array/)
- end
- end
-end
diff --git a/modules/stdlib/spec/classes/anchor_spec.rb b/modules/stdlib/spec/classes/anchor_spec.rb
deleted file mode 100755
index 2d4455e..0000000
--- a/modules/stdlib/spec/classes/anchor_spec.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'puppet_spec/compiler'
-
-describe "anchorrefresh" do
- include PuppetSpec::Compiler
-
- let :transaction do
- apply_compiled_manifest(<<-ANCHORCLASS)
- class anchored {
- anchor { 'anchored::begin': }
- ~> anchor { 'anchored::end': }
- }
-
- class anchorrefresh {
- notify { 'first': }
- ~> class { 'anchored': }
- ~> anchor { 'final': }
- }
-
- include anchorrefresh
- ANCHORCLASS
- end
-
- it 'propagates events through the anchored class' do
- resource = transaction.resource_status('Anchor[final]')
-
- expect(resource.restarted).to eq(true)
- end
-end
diff --git a/modules/stdlib/spec/fixtures/dscacheutil/root b/modules/stdlib/spec/fixtures/dscacheutil/root
deleted file mode 100644
index 1e34519..0000000
--- a/modules/stdlib/spec/fixtures/dscacheutil/root
+++ /dev/null
@@ -1,8 +0,0 @@
-name: root
-password: *
-uid: 0
-gid: 0
-dir: /var/root
-shell: /bin/bash
-gecos: rawr Root
-
diff --git a/modules/stdlib/spec/fixtures/manifests/site.pp b/modules/stdlib/spec/fixtures/manifests/site.pp
deleted file mode 100644
index e69de29..0000000
diff --git a/modules/stdlib/spec/functions/abs_spec.rb b/modules/stdlib/spec/functions/abs_spec.rb
deleted file mode 100755
index c0b4297..0000000
--- a/modules/stdlib/spec/functions/abs_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the abs function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("abs").should == "function_abs"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_abs([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert a negative number into a positive" do
- result = scope.function_abs(["-34"])
- result.should(eq(34))
- end
-
- it "should do nothing with a positive number" do
- result = scope.function_abs(["5678"])
- result.should(eq(5678))
- end
-end
diff --git a/modules/stdlib/spec/functions/any2array_spec.rb b/modules/stdlib/spec/functions/any2array_spec.rb
deleted file mode 100755
index b266e84..0000000
--- a/modules/stdlib/spec/functions/any2array_spec.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the any2array function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("any2array").should == "function_any2array"
- end
-
- it "should return an empty array if there is less than 1 argument" do
- result = scope.function_any2array([])
- result.should(eq([]))
- end
-
- it "should convert boolean true to [ true ] " do
- result = scope.function_any2array([true])
- result.should(eq([true]))
- end
-
- it "should convert one object to [object]" do
- result = scope.function_any2array(['one'])
- result.should(eq(['one']))
- end
-
- it "should convert multiple objects to [objects]" do
- result = scope.function_any2array(['one', 'two'])
- result.should(eq(['one', 'two']))
- end
-
- it "should return empty array it was called with" do
- result = scope.function_any2array([[]])
- result.should(eq([]))
- end
-
- it "should return one-member array it was called with" do
- result = scope.function_any2array([['string']])
- result.should(eq(['string']))
- end
-
- it "should return multi-member array it was called with" do
- result = scope.function_any2array([['one', 'two']])
- result.should(eq(['one', 'two']))
- end
-
- it "should return members of a hash it was called with" do
- result = scope.function_any2array([{ 'key' => 'value' }])
- result.should(eq(['key', 'value']))
- end
-
- it "should return an empty array if it was called with an empty hash" do
- result = scope.function_any2array([{ }])
- result.should(eq([]))
- end
-end
diff --git a/modules/stdlib/spec/functions/base64_spec.rb b/modules/stdlib/spec/functions/base64_spec.rb
deleted file mode 100755
index 5faa5e6..0000000
--- a/modules/stdlib/spec/functions/base64_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the base64 function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("base64").should == "function_base64"
- end
-
- it "should raise a ParseError if there are other than 2 arguments" do
- expect { scope.function_base64([]) }.to(raise_error(Puppet::ParseError))
- expect { scope.function_base64(["asdf"]) }.to(raise_error(Puppet::ParseError))
- expect { scope.function_base64(["asdf","moo","cow"]) }.to(raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if argument 1 isn't 'encode' or 'decode'" do
- expect { scope.function_base64(["bees","astring"]) }.to(raise_error(Puppet::ParseError, /first argument must be one of/))
- end
-
- it "should raise a ParseError if argument 2 isn't a string" do
- expect { scope.function_base64(["encode",["2"]]) }.to(raise_error(Puppet::ParseError, /second argument must be a string/))
- end
-
- it "should encode a encoded string" do
- result = scope.function_base64(["encode",'thestring'])
- result.should =~ /\AdGhlc3RyaW5n\n\Z/
- end
- it "should decode a base64 encoded string" do
- result = scope.function_base64(["decode",'dGhlc3RyaW5n'])
- result.should == 'thestring'
- end
-end
diff --git a/modules/stdlib/spec/functions/bool2num_spec.rb b/modules/stdlib/spec/functions/bool2num_spec.rb
deleted file mode 100755
index 518ac85..0000000
--- a/modules/stdlib/spec/functions/bool2num_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the bool2num function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("bool2num").should == "function_bool2num"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_bool2num([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert true to 1" do
- result = scope.function_bool2num([true])
- result.should(eq(1))
- end
-
- it "should convert false to 0" do
- result = scope.function_bool2num([false])
- result.should(eq(0))
- end
-end
diff --git a/modules/stdlib/spec/functions/capitalize_spec.rb b/modules/stdlib/spec/functions/capitalize_spec.rb
deleted file mode 100755
index 69c9758..0000000
--- a/modules/stdlib/spec/functions/capitalize_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the capitalize function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("capitalize").should == "function_capitalize"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_capitalize([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should capitalize the beginning of a string" do
- result = scope.function_capitalize(["abc"])
- result.should(eq("Abc"))
- end
-end
diff --git a/modules/stdlib/spec/functions/chomp_spec.rb b/modules/stdlib/spec/functions/chomp_spec.rb
deleted file mode 100755
index e425365..0000000
--- a/modules/stdlib/spec/functions/chomp_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the chomp function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("chomp").should == "function_chomp"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_chomp([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should chomp the end of a string" do
- result = scope.function_chomp(["abc\n"])
- result.should(eq("abc"))
- end
-end
diff --git a/modules/stdlib/spec/functions/chop_spec.rb b/modules/stdlib/spec/functions/chop_spec.rb
deleted file mode 100755
index 9e466de..0000000
--- a/modules/stdlib/spec/functions/chop_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the chop function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("chop").should == "function_chop"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_chop([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should chop the end of a string" do
- result = scope.function_chop(["asdf\n"])
- result.should(eq("asdf"))
- end
-end
diff --git a/modules/stdlib/spec/functions/concat_spec.rb b/modules/stdlib/spec/functions/concat_spec.rb
deleted file mode 100755
index 6e67620..0000000
--- a/modules/stdlib/spec/functions/concat_spec.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the concat function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should raise a ParseError if the client does not provide two arguments" do
- lambda { scope.function_concat([]) }.should(raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if the first parameter is not an array" do
- lambda { scope.function_concat([1, []])}.should(raise_error(Puppet::ParseError))
- end
-
- it "should be able to concat an array" do
- result = scope.function_concat([['1','2','3'],['4','5','6']])
- result.should(eq(['1','2','3','4','5','6']))
- end
-
- it "should be able to concat a primitive to an array" do
- result = scope.function_concat([['1','2','3'],'4'])
- result.should(eq(['1','2','3','4']))
- end
-
- it "should not accidentally flatten nested arrays" do
- result = scope.function_concat([['1','2','3'],[['4','5'],'6']])
- result.should(eq(['1','2','3',['4','5'],'6']))
- end
-
-end
diff --git a/modules/stdlib/spec/functions/count_spec.rb b/modules/stdlib/spec/functions/count_spec.rb
deleted file mode 100755
index 2453815..0000000
--- a/modules/stdlib/spec/functions/count_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the count function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("count").should == "function_count"
- end
-
- it "should raise a ArgumentError if there is more than 2 arguments" do
- lambda { scope.function_count(['foo', 'bar', 'baz']) }.should( raise_error(ArgumentError))
- end
-
- it "should be able to count arrays" do
- scope.function_count([["1","2","3"]]).should(eq(3))
- end
-
- it "should be able to count matching elements in arrays" do
- scope.function_count([["1", "2", "2"], "2"]).should(eq(2))
- end
-
- it "should not count nil or empty strings" do
- scope.function_count([["foo","bar",nil,""]]).should(eq(2))
- end
-
- it 'does not count an undefined hash key or an out of bound array index (which are both :undef)' do
- expect(scope.function_count([["foo",:undef,:undef]])).to eq(1)
- end
-end
diff --git a/modules/stdlib/spec/functions/deep_merge_spec.rb b/modules/stdlib/spec/functions/deep_merge_spec.rb
deleted file mode 100755
index f134701..0000000
--- a/modules/stdlib/spec/functions/deep_merge_spec.rb
+++ /dev/null
@@ -1,105 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:deep_merge) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe 'when calling deep_merge from puppet' do
- it "should not compile when no arguments are passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = '$x = deep_merge()'
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should not compile when 1 argument is passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = "$my_hash={'one' => 1}\n$x = deep_merge($my_hash)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
- end
-
- describe 'when calling deep_merge on the scope instance' do
- it 'should require all parameters are hashes' do
- expect { new_hash = scope.function_deep_merge([{}, '2'])}.to raise_error(Puppet::ParseError, /unexpected argument type String/)
- expect { new_hash = scope.function_deep_merge([{}, 2])}.to raise_error(Puppet::ParseError, /unexpected argument type Fixnum/)
- end
-
- it 'should accept empty strings as puppet undef' do
- expect { new_hash = scope.function_deep_merge([{}, ''])}.not_to raise_error
- end
-
- it 'should be able to deep_merge two hashes' do
- new_hash = scope.function_deep_merge([{'one' => '1', 'two' => '1'}, {'two' => '2', 'three' => '2'}])
- new_hash['one'].should == '1'
- new_hash['two'].should == '2'
- new_hash['three'].should == '2'
- end
-
- it 'should deep_merge multiple hashes' do
- hash = scope.function_deep_merge([{'one' => 1}, {'one' => '2'}, {'one' => '3'}])
- hash['one'].should == '3'
- end
-
- it 'should accept empty hashes' do
- scope.function_deep_merge([{},{},{}]).should == {}
- end
-
- it 'should deep_merge subhashes' do
- hash = scope.function_deep_merge([{'one' => 1}, {'two' => 2, 'three' => { 'four' => 4 } }])
- hash['one'].should == 1
- hash['two'].should == 2
- hash['three'].should == { 'four' => 4 }
- end
-
- it 'should append to subhashes' do
- hash = scope.function_deep_merge([{'one' => { 'two' => 2 } }, { 'one' => { 'three' => 3 } }])
- hash['one'].should == { 'two' => 2, 'three' => 3 }
- end
-
- it 'should append to subhashes 2' do
- hash = scope.function_deep_merge([{'one' => 1, 'two' => 2, 'three' => { 'four' => 4 } }, {'two' => 'dos', 'three' => { 'five' => 5 } }])
- hash['one'].should == 1
- hash['two'].should == 'dos'
- hash['three'].should == { 'four' => 4, 'five' => 5 }
- end
-
- it 'should append to subhashes 3' do
- hash = scope.function_deep_merge([{ 'key1' => { 'a' => 1, 'b' => 2 }, 'key2' => { 'c' => 3 } }, { 'key1' => { 'b' => 99 } }])
- hash['key1'].should == { 'a' => 1, 'b' => 99 }
- hash['key2'].should == { 'c' => 3 }
- end
-
- it 'should not change the original hashes' do
- hash1 = {'one' => { 'two' => 2 } }
- hash2 = { 'one' => { 'three' => 3 } }
- hash = scope.function_deep_merge([hash1, hash2])
- hash1.should == {'one' => { 'two' => 2 } }
- hash2.should == { 'one' => { 'three' => 3 } }
- hash['one'].should == { 'two' => 2, 'three' => 3 }
- end
-
- it 'should not change the original hashes 2' do
- hash1 = {'one' => { 'two' => [1,2] } }
- hash2 = { 'one' => { 'three' => 3 } }
- hash = scope.function_deep_merge([hash1, hash2])
- hash1.should == {'one' => { 'two' => [1,2] } }
- hash2.should == { 'one' => { 'three' => 3 } }
- hash['one'].should == { 'two' => [1,2], 'three' => 3 }
- end
-
- it 'should not change the original hashes 3' do
- hash1 = {'one' => { 'two' => [1,2, {'two' => 2} ] } }
- hash2 = { 'one' => { 'three' => 3 } }
- hash = scope.function_deep_merge([hash1, hash2])
- hash1.should == {'one' => { 'two' => [1,2, {'two' => 2}] } }
- hash2.should == { 'one' => { 'three' => 3 } }
- hash['one'].should == { 'two' => [1,2, {'two' => 2} ], 'three' => 3 }
- hash['one']['two'].should == [1,2, {'two' => 2}]
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/defined_with_params_spec.rb b/modules/stdlib/spec/functions/defined_with_params_spec.rb
deleted file mode 100755
index 28dbab3..0000000
--- a/modules/stdlib/spec/functions/defined_with_params_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-require 'rspec-puppet'
-describe 'defined_with_params' do
- describe 'when a resource is not specified' do
- it { should run.with_params().and_raise_error(ArgumentError) }
- end
- describe 'when compared against a resource with no attributes' do
- let :pre_condition do
- 'user { "dan": }'
- end
- it do
- should run.with_params('User[dan]', {}).and_return(true)
- should run.with_params('User[bob]', {}).and_return(false)
- should run.with_params('User[dan]', {'foo' => 'bar'}).and_return(false)
- end
- end
-
- describe 'when compared against a resource with attributes' do
- let :pre_condition do
- 'user { "dan": ensure => present, shell => "/bin/csh", managehome => false}'
- end
- it do
- should run.with_params('User[dan]', {}).and_return(true)
- should run.with_params('User[dan]', '').and_return(true)
- should run.with_params('User[dan]', {'ensure' => 'present'}
- ).and_return(true)
- should run.with_params('User[dan]',
- {'ensure' => 'present', 'managehome' => false}
- ).and_return(true)
- should run.with_params('User[dan]',
- {'ensure' => 'absent', 'managehome' => false}
- ).and_return(false)
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/delete_at_spec.rb b/modules/stdlib/spec/functions/delete_at_spec.rb
deleted file mode 100755
index 593cf45..0000000
--- a/modules/stdlib/spec/functions/delete_at_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the delete_at function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("delete_at").should == "function_delete_at"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_delete_at([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should delete an item at specified location from an array" do
- result = scope.function_delete_at([['a','b','c'],1])
- result.should(eq(['a','c']))
- end
-
- it "should not change origin array passed as argument" do
- origin_array = ['a','b','c','d']
- result = scope.function_delete_at([origin_array, 1])
- origin_array.should(eq(['a','b','c','d']))
- end
-end
diff --git a/modules/stdlib/spec/functions/delete_spec.rb b/modules/stdlib/spec/functions/delete_spec.rb
deleted file mode 100755
index 1508a63..0000000
--- a/modules/stdlib/spec/functions/delete_spec.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the delete function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("delete").should == "function_delete"
- end
-
- it "should raise a ParseError if there are fewer than 2 arguments" do
- lambda { scope.function_delete([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if there are greater than 2 arguments" do
- lambda { scope.function_delete([[], 'foo', 'bar']) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a TypeError if a number is passed as the first argument" do
- lambda { scope.function_delete([1, 'bar']) }.should( raise_error(TypeError))
- end
-
- it "should delete all instances of an element from an array" do
- result = scope.function_delete([['a','b','c','b'],'b'])
- result.should(eq(['a','c']))
- end
-
- it "should delete all instances of a substring from a string" do
- result = scope.function_delete(['foobarbabarz','bar'])
- result.should(eq('foobaz'))
- end
-
- it "should delete a key from a hash" do
- result = scope.function_delete([{ 'a' => 1, 'b' => 2, 'c' => 3 },'b'])
- result.should(eq({ 'a' => 1, 'c' => 3 }))
- end
-
- it "should not change origin array passed as argument" do
- origin_array = ['a','b','c','d']
- result = scope.function_delete([origin_array, 'b'])
- origin_array.should(eq(['a','b','c','d']))
- end
-
- it "should not change the origin string passed as argument" do
- origin_string = 'foobarbabarz'
- result = scope.function_delete([origin_string,'bar'])
- origin_string.should(eq('foobarbabarz'))
- end
-
- it "should not change origin hash passed as argument" do
- origin_hash = { 'a' => 1, 'b' => 2, 'c' => 3 }
- result = scope.function_delete([origin_hash, 'b'])
- origin_hash.should(eq({ 'a' => 1, 'b' => 2, 'c' => 3 }))
- end
-
-end
diff --git a/modules/stdlib/spec/functions/delete_undef_values_spec.rb b/modules/stdlib/spec/functions/delete_undef_values_spec.rb
deleted file mode 100755
index b341d88..0000000
--- a/modules/stdlib/spec/functions/delete_undef_values_spec.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the delete_undef_values function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("delete_undef_values").should == "function_delete_undef_values"
- end
-
- it "should raise a ParseError if there is less than 1 argument" do
- lambda { scope.function_delete_undef_values([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if the argument is not Array nor Hash" do
- lambda { scope.function_delete_undef_values(['']) }.should( raise_error(Puppet::ParseError))
- lambda { scope.function_delete_undef_values([nil]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should delete all undef items from Array and only these" do
- result = scope.function_delete_undef_values([['a',:undef,'c','undef']])
- result.should(eq(['a','c','undef']))
- end
-
- it "should delete all undef items from Hash and only these" do
- result = scope.function_delete_undef_values([{'a'=>'A','b'=>:undef,'c'=>'C','d'=>'undef'}])
- result.should(eq({'a'=>'A','c'=>'C','d'=>'undef'}))
- end
-
- it "should not change origin array passed as argument" do
- origin_array = ['a',:undef,'c','undef']
- result = scope.function_delete_undef_values([origin_array])
- origin_array.should(eq(['a',:undef,'c','undef']))
- end
-
- it "should not change origin hash passed as argument" do
- origin_hash = { 'a' => 1, 'b' => :undef, 'c' => 'undef' }
- result = scope.function_delete_undef_values([origin_hash])
- origin_hash.should(eq({ 'a' => 1, 'b' => :undef, 'c' => 'undef' }))
- end
-end
diff --git a/modules/stdlib/spec/functions/delete_values_spec.rb b/modules/stdlib/spec/functions/delete_values_spec.rb
deleted file mode 100755
index 8d7f231..0000000
--- a/modules/stdlib/spec/functions/delete_values_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the delete_values function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("delete_values").should == "function_delete_values"
- end
-
- it "should raise a ParseError if there are fewer than 2 arguments" do
- lambda { scope.function_delete_values([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if there are greater than 2 arguments" do
- lambda { scope.function_delete_values([[], 'foo', 'bar']) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a TypeError if the argument is not a hash" do
- lambda { scope.function_delete_values([1,'bar']) }.should( raise_error(TypeError))
- lambda { scope.function_delete_values(['foo','bar']) }.should( raise_error(TypeError))
- lambda { scope.function_delete_values([[],'bar']) }.should( raise_error(TypeError))
- end
-
- it "should delete all instances of a value from a hash" do
- result = scope.function_delete_values([{ 'a'=>'A', 'b'=>'B', 'B'=>'C', 'd'=>'B' },'B'])
- result.should(eq({ 'a'=>'A', 'B'=>'C' }))
- end
-
- it "should not change origin hash passed as argument" do
- origin_hash = { 'a' => 1, 'b' => 2, 'c' => 3 }
- result = scope.function_delete_values([origin_hash, 2])
- origin_hash.should(eq({ 'a' => 1, 'b' => 2, 'c' => 3 }))
- end
-
-end
diff --git a/modules/stdlib/spec/functions/difference_spec.rb b/modules/stdlib/spec/functions/difference_spec.rb
deleted file mode 100755
index 9feff09..0000000
--- a/modules/stdlib/spec/functions/difference_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the difference function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("difference").should == "function_difference"
- end
-
- it "should raise a ParseError if there are fewer than 2 arguments" do
- lambda { scope.function_difference([]) }.should( raise_error(Puppet::ParseError) )
- end
-
- it "should return the difference between two arrays" do
- result = scope.function_difference([["a","b","c"],["b","c","d"]])
- result.should(eq(["a"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/dirname_spec.rb b/modules/stdlib/spec/functions/dirname_spec.rb
deleted file mode 100755
index fb3b4fe..0000000
--- a/modules/stdlib/spec/functions/dirname_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the dirname function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("dirname").should == "function_dirname"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_dirname([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return dirname for an absolute path" do
- result = scope.function_dirname(['/path/to/a/file.ext'])
- result.should(eq('/path/to/a'))
- end
-
- it "should return dirname for a relative path" do
- result = scope.function_dirname(['path/to/a/file.ext'])
- result.should(eq('path/to/a'))
- end
-end
diff --git a/modules/stdlib/spec/functions/downcase_spec.rb b/modules/stdlib/spec/functions/downcase_spec.rb
deleted file mode 100755
index acef1f0..0000000
--- a/modules/stdlib/spec/functions/downcase_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the downcase function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("downcase").should == "function_downcase"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_downcase([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should downcase a string" do
- result = scope.function_downcase(["ASFD"])
- result.should(eq("asfd"))
- end
-
- it "should do nothing to a string that is already downcase" do
- result = scope.function_downcase(["asdf asdf"])
- result.should(eq("asdf asdf"))
- end
-end
diff --git a/modules/stdlib/spec/functions/empty_spec.rb b/modules/stdlib/spec/functions/empty_spec.rb
deleted file mode 100755
index 7745875..0000000
--- a/modules/stdlib/spec/functions/empty_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the empty function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- it "should exist" do
- Puppet::Parser::Functions.function("empty").should == "function_empty"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_empty([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return a true for an empty string" do
- result = scope.function_empty([''])
- result.should(eq(true))
- end
-
- it "should return a false for a non-empty string" do
- result = scope.function_empty(['asdf'])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/ensure_packages_spec.rb b/modules/stdlib/spec/functions/ensure_packages_spec.rb
deleted file mode 100755
index 436be10..0000000
--- a/modules/stdlib/spec/functions/ensure_packages_spec.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-#! /usr/bin/env ruby
-
-require 'spec_helper'
-require 'rspec-puppet'
-require 'puppet_spec/compiler'
-
-describe 'ensure_packages' do
- include PuppetSpec::Compiler
-
- before :each do
- Puppet::Parser::Functions.autoloader.loadall
- Puppet::Parser::Functions.function(:ensure_packages)
- Puppet::Parser::Functions.function(:ensure_resource)
- Puppet::Parser::Functions.function(:defined_with_params)
- Puppet::Parser::Functions.function(:create_resources)
- end
-
- let :node do Puppet::Node.new('localhost') end
- let :compiler do Puppet::Parser::Compiler.new(node) end
- let :scope do
- if Puppet.version.to_f >= 3.0
- Puppet::Parser::Scope.new(compiler)
- else
- newscope = Puppet::Parser::Scope.new
- newscope.compiler = compiler
- newscope.source = Puppet::Resource::Type.new(:node, :localhost)
- newscope
- end
- end
-
- describe 'argument handling' do
- it 'fails with no arguments' do
- expect {
- scope.function_ensure_packages([])
- }.to raise_error(Puppet::ParseError, /0 for 1 or 2/)
- end
-
- it 'accepts an array of values' do
- scope.function_ensure_packages([['foo']])
- end
-
- it 'accepts a single package name as a string' do
- scope.function_ensure_packages(['foo'])
- end
- end
-
- context 'given a catalog with puppet package => absent' do
- let :catalog do
- compile_to_catalog(<<-EOS
- ensure_packages(['facter'])
- package { puppet: ensure => absent }
- EOS
- )
- end
-
- it 'has no effect on Package[puppet]' do
- expect(catalog.resource(:package, 'puppet')['ensure']).to eq('absent')
- end
- end
-
- context 'given a clean catalog' do
- let :catalog do
- compile_to_catalog('ensure_packages(["facter"])')
- end
-
- it 'declares package resources with ensure => present' do
- expect(catalog.resource(:package, 'facter')['ensure']).to eq('present')
- end
- end
-
- context 'given a clean catalog and specified defaults' do
- let :catalog do
- compile_to_catalog('ensure_packages(["facter"], {"provider" => "gem"})')
- end
-
- it 'declares package resources with ensure => present' do
- expect(catalog.resource(:package, 'facter')['ensure']).to eq('present')
- expect(catalog.resource(:package, 'facter')['provider']).to eq('gem')
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/ensure_resource_spec.rb b/modules/stdlib/spec/functions/ensure_resource_spec.rb
deleted file mode 100755
index 33bcac0..0000000
--- a/modules/stdlib/spec/functions/ensure_resource_spec.rb
+++ /dev/null
@@ -1,113 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'rspec-puppet'
-require 'puppet_spec/compiler'
-
-describe 'ensure_resource' do
- include PuppetSpec::Compiler
-
- before :all do
- Puppet::Parser::Functions.autoloader.loadall
- Puppet::Parser::Functions.function(:ensure_packages)
- end
-
- let :node do Puppet::Node.new('localhost') end
- let :compiler do Puppet::Parser::Compiler.new(node) end
- let :scope do Puppet::Parser::Scope.new(compiler) end
-
- describe 'when a type or title is not specified' do
- it { expect { scope.function_ensure_resource([]) }.to raise_error }
- it { expect { scope.function_ensure_resource(['type']) }.to raise_error }
- end
-
- describe 'when compared against a resource with no attributes' do
- let :catalog do
- compile_to_catalog(<<-EOS
- user { "dan": }
- ensure_resource('user', 'dan', {})
- EOS
- )
- end
-
- it 'should contain the the ensured resources' do
- expect(catalog.resource(:user, 'dan').to_s).to eq('User[dan]')
- end
- end
-
- describe 'works when compared against a resource with non-conflicting attributes' do
- [
- "ensure_resource('User', 'dan', {})",
- "ensure_resource('User', 'dan', '')",
- "ensure_resource('User', 'dan', {'ensure' => 'present'})",
- "ensure_resource('User', 'dan', {'ensure' => 'present', 'managehome' => false})"
- ].each do |ensure_resource|
- pp = <<-EOS
- user { "dan": ensure => present, shell => "/bin/csh", managehome => false}
- #{ensure_resource}
- EOS
-
- it { expect { compile_to_catalog(pp) }.to_not raise_error }
- end
- end
-
- describe 'fails when compared against a resource with conflicting attributes' do
- pp = <<-EOS
- user { "dan": ensure => present, shell => "/bin/csh", managehome => false}
- ensure_resource('User', 'dan', {'ensure' => 'absent', 'managehome' => false})
- EOS
-
- it { expect { compile_to_catalog(pp) }.to raise_error }
- end
-
- describe 'when an array of new resources are passed in' do
- let :catalog do
- compile_to_catalog("ensure_resource('User', ['dan', 'alex'], {})")
- end
-
- it 'should contain the ensured resources' do
- expect(catalog.resource('User[dan]').to_s).to eq('User[dan]')
- expect(catalog.resource('User[alex]').to_s).to eq('User[alex]')
- end
- end
-
- describe 'when an array of existing resources is compared against existing resources' do
- pp = <<-EOS
- user { 'dan': ensure => present; 'alex': ensure => present }
- ensure_resource('User', ['dan', 'alex'], {})
- EOS
-
- let :catalog do
- compile_to_catalog(pp)
- end
-
- it 'should return the existing resources' do
- expect(catalog.resource('User[dan]').to_s).to eq('User[dan]')
- expect(catalog.resource('User[alex]').to_s).to eq('User[alex]')
- end
- end
-
- describe 'works when compared against existing resources with attributes' do
- [
- "ensure_resource('User', ['dan', 'alex'], {})",
- "ensure_resource('User', ['dan', 'alex'], '')",
- "ensure_resource('User', ['dan', 'alex'], {'ensure' => 'present'})",
- ].each do |ensure_resource|
- pp = <<-EOS
- user { 'dan': ensure => present; 'alex': ensure => present }
- #{ensure_resource}
- EOS
-
- it { expect { compile_to_catalog(pp) }.to_not raise_error }
- end
- end
-
- describe 'fails when compared against existing resources with conflicting attributes' do
- pp = <<-EOS
- user { 'dan': ensure => present; 'alex': ensure => present }
- ensure_resource('User', ['dan', 'alex'], {'ensure' => 'absent'})
- EOS
-
- it { expect { compile_to_catalog(pp) }.to raise_error }
- end
-
-end
diff --git a/modules/stdlib/spec/functions/flatten_spec.rb b/modules/stdlib/spec/functions/flatten_spec.rb
deleted file mode 100755
index dba7a6b..0000000
--- a/modules/stdlib/spec/functions/flatten_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the flatten function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- it "should exist" do
- Puppet::Parser::Functions.function("flatten").should == "function_flatten"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_flatten([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if there is more than 1 argument" do
- lambda { scope.function_flatten([[], []]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should flatten a complex data structure" do
- result = scope.function_flatten([["a","b",["c",["d","e"],"f","g"]]])
- result.should(eq(["a","b","c","d","e","f","g"]))
- end
-
- it "should do nothing to a structure that is already flat" do
- result = scope.function_flatten([["a","b","c","d"]])
- result.should(eq(["a","b","c","d"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/floor_spec.rb b/modules/stdlib/spec/functions/floor_spec.rb
deleted file mode 100755
index dbc8c77..0000000
--- a/modules/stdlib/spec/functions/floor_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the floor function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("floor").should == "function_floor"
- end
-
- it "should raise a ParseError if there is less than 1 argument" do
- lambda { scope.function_floor([]) }.should( raise_error(Puppet::ParseError, /Wrong number of arguments/))
- end
-
- it "should should raise a ParseError if input isn't numeric (eg. String)" do
- lambda { scope.function_floor(["foo"]) }.should( raise_error(Puppet::ParseError, /Wrong argument type/))
- end
-
- it "should should raise a ParseError if input isn't numeric (eg. Boolean)" do
- lambda { scope.function_floor([true]) }.should( raise_error(Puppet::ParseError, /Wrong argument type/))
- end
-
- it "should return an integer when a numeric type is passed" do
- result = scope.function_floor([12.4])
- result.is_a?(Integer).should(eq(true))
- end
-
- it "should return the input when an integer is passed" do
- result = scope.function_floor([7])
- result.should(eq(7))
- end
-
- it "should return the largest integer less than or equal to the input" do
- result = scope.function_floor([3.8])
- result.should(eq(3))
- end
-end
-
diff --git a/modules/stdlib/spec/functions/fqdn_rotate_spec.rb b/modules/stdlib/spec/functions/fqdn_rotate_spec.rb
deleted file mode 100755
index 2577723..0000000
--- a/modules/stdlib/spec/functions/fqdn_rotate_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the fqdn_rotate function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("fqdn_rotate").should == "function_fqdn_rotate"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_fqdn_rotate([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should rotate a string and the result should be the same size" do
- scope.expects(:lookupvar).with("::fqdn").returns("127.0.0.1")
- result = scope.function_fqdn_rotate(["asdf"])
- result.size.should(eq(4))
- end
-
- it "should rotate a string to give the same results for one host" do
- scope.expects(:lookupvar).with("::fqdn").returns("127.0.0.1").twice
- scope.function_fqdn_rotate(["abcdefg"]).should eql(scope.function_fqdn_rotate(["abcdefg"]))
- end
-
- it "should rotate a string to give different values on different hosts" do
- scope.expects(:lookupvar).with("::fqdn").returns("127.0.0.1")
- val1 = scope.function_fqdn_rotate(["abcdefghijklmnopqrstuvwxyz01234567890987654321"])
- scope.expects(:lookupvar).with("::fqdn").returns("127.0.0.2")
- val2 = scope.function_fqdn_rotate(["abcdefghijklmnopqrstuvwxyz01234567890987654321"])
- val1.should_not eql(val2)
- end
-end
diff --git a/modules/stdlib/spec/functions/get_module_path_spec.rb b/modules/stdlib/spec/functions/get_module_path_spec.rb
deleted file mode 100755
index 486bef6..0000000
--- a/modules/stdlib/spec/functions/get_module_path_spec.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:get_module_path) do
- Internals = PuppetlabsSpec::PuppetInternals
- class StubModule
- attr_reader :path
- def initialize(path)
- @path = path
- end
- end
-
- def scope(environment = "production")
- Internals.scope(:compiler => Internals.compiler(:node => Internals.node(:environment => environment)))
- end
-
- it 'should only allow one argument' do
- expect { scope.function_get_module_path([]) }.to raise_error(Puppet::ParseError, /Wrong number of arguments, expects one/)
- expect { scope.function_get_module_path(['1','2','3']) }.to raise_error(Puppet::ParseError, /Wrong number of arguments, expects one/)
- end
- it 'should raise an exception when the module cannot be found' do
- expect { scope.function_get_module_path(['foo']) }.to raise_error(Puppet::ParseError, /Could not find module/)
- end
- describe 'when locating a module' do
- let(:modulepath) { "/tmp/does_not_exist" }
- let(:path_of_module_foo) { StubModule.new("/tmp/does_not_exist/foo") }
-
- before(:each) { Puppet[:modulepath] = modulepath }
-
- it 'should be able to find module paths from the modulepath setting' do
- Puppet::Module.expects(:find).with('foo', 'production').returns(path_of_module_foo)
- scope.function_get_module_path(['foo']).should == path_of_module_foo.path
- end
- it 'should be able to find module paths when the modulepath is a list' do
- Puppet[:modulepath] = modulepath + ":/tmp"
- Puppet::Module.expects(:find).with('foo', 'production').returns(path_of_module_foo)
- scope.function_get_module_path(['foo']).should == path_of_module_foo.path
- end
- it 'should respect the environment' do
- pending("Disabled on Puppet 2.6.x") if Puppet.version =~ /^2\.6\b/
- Puppet.settings[:environment] = 'danstestenv'
- Puppet::Module.expects(:find).with('foo', 'danstestenv').returns(path_of_module_foo)
- scope('danstestenv').function_get_module_path(['foo']).should == path_of_module_foo.path
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/getparam_spec.rb b/modules/stdlib/spec/functions/getparam_spec.rb
deleted file mode 100755
index bf024af..0000000
--- a/modules/stdlib/spec/functions/getparam_spec.rb
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'rspec-puppet'
-require 'puppet_spec/compiler'
-
-describe 'getparam' do
- include PuppetSpec::Compiler
-
- before :each do
- Puppet::Parser::Functions.autoloader.loadall
- Puppet::Parser::Functions.function(:getparam)
- end
-
- let :node do Puppet::Node.new('localhost') end
- let :compiler do Puppet::Parser::Compiler.new(node) end
- if Puppet.version.to_f >= 3.0
- let :scope do Puppet::Parser::Scope.new(compiler) end
- else
- let :scope do
- newscope = Puppet::Parser::Scope.new
- newscope.compiler = compiler
- newscope.source = Puppet::Resource::Type.new(:node, :localhost)
- newscope
- end
- end
-
- it "should exist" do
- Puppet::Parser::Functions.function("getparam").should == "function_getparam"
- end
-
- describe 'when a resource is not specified' do
- it { expect { scope.function_getparam([]) }.to raise_error }
- it { expect { scope.function_getparam(['User[dan]']) }.to raise_error }
- it { expect { scope.function_getparam(['User[dan]']) }.to raise_error }
- it { expect { scope.function_getparam(['User[dan]', {}]) }.to raise_error }
- # This seems to be OK because we just check for a string.
- it { expect { scope.function_getparam(['User[dan]', '']) }.to_not raise_error }
- end
-
- describe 'when compared against a resource with no params' do
- let :catalog do
- compile_to_catalog(<<-EOS
- user { "dan": }
- EOS
- )
- end
-
- it do
- expect(scope.function_getparam(['User[dan]', 'shell'])).to eq('')
- end
- end
-
- describe 'when compared against a resource with params' do
- let :catalog do
- compile_to_catalog(<<-EOS
- user { 'dan': ensure => present, shell => '/bin/sh', managehome => false}
- $test = getparam(User[dan], 'shell')
- EOS
- )
- end
-
- it do
- resource = Puppet::Parser::Resource.new(:user, 'dan', {:scope => scope})
- resource.set_parameter('ensure', 'present')
- resource.set_parameter('shell', '/bin/sh')
- resource.set_parameter('managehome', false)
- compiler.add_resource(scope, resource)
-
- expect(scope.function_getparam(['User[dan]', 'shell'])).to eq('/bin/sh')
- expect(scope.function_getparam(['User[dan]', ''])).to eq('')
- expect(scope.function_getparam(['User[dan]', 'ensure'])).to eq('present')
- # TODO: Expected this to be false, figure out why we're getting '' back.
- expect(scope.function_getparam(['User[dan]', 'managehome'])).to eq('')
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/getvar_spec.rb b/modules/stdlib/spec/functions/getvar_spec.rb
deleted file mode 100755
index 5ff834e..0000000
--- a/modules/stdlib/spec/functions/getvar_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:getvar) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- describe 'when calling getvar from puppet' do
-
- it "should not compile when no arguments are passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = '$foo = getvar()'
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should not compile when too many arguments are passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = '$foo = getvar("foo::bar", "baz")'
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should lookup variables in other namespaces" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = <<-'ENDofPUPPETcode'
- class site::data { $foo = 'baz' }
- include site::data
- $foo = getvar("site::data::foo")
- if $foo != 'baz' {
- fail('getvar did not return what we expect')
- }
- ENDofPUPPETcode
- scope.compiler.compile
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/grep_spec.rb b/modules/stdlib/spec/functions/grep_spec.rb
deleted file mode 100755
index a93b842..0000000
--- a/modules/stdlib/spec/functions/grep_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the grep function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("grep").should == "function_grep"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_grep([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should grep contents from an array" do
- result = scope.function_grep([["aaabbb","bbbccc","dddeee"], "bbb"])
- result.should(eq(["aaabbb","bbbccc"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/has_interface_with_spec.rb b/modules/stdlib/spec/functions/has_interface_with_spec.rb
deleted file mode 100755
index c5264e4..0000000
--- a/modules/stdlib/spec/functions/has_interface_with_spec.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:has_interface_with) do
-
- let(:scope) do
- PuppetlabsSpec::PuppetInternals.scope
- end
-
- # The subject of these examples is the method itself.
- subject do
- function_name = Puppet::Parser::Functions.function(:has_interface_with)
- scope.method(function_name)
- end
-
- # We need to mock out the Facts so we can specify how we expect this function
- # to behave on different platforms.
- context "On Mac OS X Systems" do
- before :each do
- scope.stubs(:lookupvar).with("interfaces").returns('lo0,gif0,stf0,en1,p2p0,fw0,en0,vmnet1,vmnet8,utun0')
- end
- it 'should have loopback (lo0)' do
- subject.call(['lo0']).should be_true
- end
- it 'should not have loopback (lo)' do
- subject.call(['lo']).should be_false
- end
- end
- context "On Linux Systems" do
- before :each do
- scope.stubs(:lookupvar).with("interfaces").returns('eth0,lo')
- scope.stubs(:lookupvar).with("ipaddress").returns('10.0.0.1')
- scope.stubs(:lookupvar).with("ipaddress_lo").returns('127.0.0.1')
- scope.stubs(:lookupvar).with("ipaddress_eth0").returns('10.0.0.1')
- scope.stubs(:lookupvar).with('muppet').returns('kermit')
- scope.stubs(:lookupvar).with('muppet_lo').returns('mspiggy')
- scope.stubs(:lookupvar).with('muppet_eth0').returns('kermit')
- end
- it 'should have loopback (lo)' do
- subject.call(['lo']).should be_true
- end
- it 'should not have loopback (lo0)' do
- subject.call(['lo0']).should be_false
- end
- it 'should have ipaddress with 127.0.0.1' do
- subject.call(['ipaddress', '127.0.0.1']).should be_true
- end
- it 'should have ipaddress with 10.0.0.1' do
- subject.call(['ipaddress', '10.0.0.1']).should be_true
- end
- it 'should not have ipaddress with 10.0.0.2' do
- subject.call(['ipaddress', '10.0.0.2']).should be_false
- end
- it 'should have muppet named kermit' do
- subject.call(['muppet', 'kermit']).should be_true
- end
- it 'should have muppet named mspiggy' do
- subject.call(['muppet', 'mspiggy']).should be_true
- end
- it 'should not have muppet named bigbird' do
- subject.call(['muppet', 'bigbird']).should be_false
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/has_ip_address_spec.rb b/modules/stdlib/spec/functions/has_ip_address_spec.rb
deleted file mode 100755
index 5a68460..0000000
--- a/modules/stdlib/spec/functions/has_ip_address_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:has_ip_address) do
-
- let(:scope) do
- PuppetlabsSpec::PuppetInternals.scope
- end
-
- subject do
- function_name = Puppet::Parser::Functions.function(:has_ip_address)
- scope.method(function_name)
- end
-
- context "On Linux Systems" do
- before :each do
- scope.stubs(:lookupvar).with('interfaces').returns('eth0,lo')
- scope.stubs(:lookupvar).with('ipaddress').returns('10.0.2.15')
- scope.stubs(:lookupvar).with('ipaddress_eth0').returns('10.0.2.15')
- scope.stubs(:lookupvar).with('ipaddress_lo').returns('127.0.0.1')
- end
-
- it 'should have primary address (10.0.2.15)' do
- subject.call(['10.0.2.15']).should be_true
- end
-
- it 'should have lookupback address (127.0.0.1)' do
- subject.call(['127.0.0.1']).should be_true
- end
-
- it 'should not have other address' do
- subject.call(['192.1681.1.1']).should be_false
- end
-
- it 'should not have "mspiggy" on an interface' do
- subject.call(['mspiggy']).should be_false
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/has_ip_network_spec.rb b/modules/stdlib/spec/functions/has_ip_network_spec.rb
deleted file mode 100755
index c3a289e..0000000
--- a/modules/stdlib/spec/functions/has_ip_network_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:has_ip_network) do
-
- let(:scope) do
- PuppetlabsSpec::PuppetInternals.scope
- end
-
- subject do
- function_name = Puppet::Parser::Functions.function(:has_ip_network)
- scope.method(function_name)
- end
-
- context "On Linux Systems" do
- before :each do
- scope.stubs(:lookupvar).with('interfaces').returns('eth0,lo')
- scope.stubs(:lookupvar).with('network').returns(:undefined)
- scope.stubs(:lookupvar).with('network_eth0').returns('10.0.2.0')
- scope.stubs(:lookupvar).with('network_lo').returns('127.0.0.1')
- end
-
- it 'should have primary network (10.0.2.0)' do
- subject.call(['10.0.2.0']).should be_true
- end
-
- it 'should have loopback network (127.0.0.0)' do
- subject.call(['127.0.0.1']).should be_true
- end
-
- it 'should not have other network' do
- subject.call(['192.168.1.0']).should be_false
- end
- end
-end
-
diff --git a/modules/stdlib/spec/functions/has_key_spec.rb b/modules/stdlib/spec/functions/has_key_spec.rb
deleted file mode 100755
index 490daea..0000000
--- a/modules/stdlib/spec/functions/has_key_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:has_key) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe 'when calling has_key from puppet' do
- it "should not compile when no arguments are passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = '$x = has_key()'
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should not compile when 1 argument is passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = "$x = has_key('foo')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should require the first value to be a Hash" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = "$x = has_key('foo', 'bar')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /expects the first argument to be a hash/)
- end
- end
-
- describe 'when calling the function has_key from a scope instance' do
- it 'should detect existing keys' do
- scope.function_has_key([{'one' => 1}, 'one']).should be_true
- end
-
- it 'should detect existing keys' do
- scope.function_has_key([{'one' => 1}, 'two']).should be_false
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/hash_spec.rb b/modules/stdlib/spec/functions/hash_spec.rb
deleted file mode 100755
index 7c91be9..0000000
--- a/modules/stdlib/spec/functions/hash_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the hash function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("hash").should == "function_hash"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_hash([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert an array to a hash" do
- result = scope.function_hash([['a',1,'b',2,'c',3]])
- result.should(eq({'a'=>1,'b'=>2,'c'=>3}))
- end
-end
diff --git a/modules/stdlib/spec/functions/intersection_spec.rb b/modules/stdlib/spec/functions/intersection_spec.rb
deleted file mode 100755
index fd44f7f..0000000
--- a/modules/stdlib/spec/functions/intersection_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the intersection function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("intersection").should == "function_intersection"
- end
-
- it "should raise a ParseError if there are fewer than 2 arguments" do
- lambda { scope.function_intersection([]) }.should( raise_error(Puppet::ParseError) )
- end
-
- it "should return the intersection of two arrays" do
- result = scope.function_intersection([["a","b","c"],["b","c","d"]])
- result.should(eq(["b","c"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_array_spec.rb b/modules/stdlib/spec/functions/is_array_spec.rb
deleted file mode 100755
index e7f4bcd..0000000
--- a/modules/stdlib/spec/functions/is_array_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_array function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_array").should == "function_is_array"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_array([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if passed an array" do
- result = scope.function_is_array([[1,2,3]])
- result.should(eq(true))
- end
-
- it "should return false if passed a hash" do
- result = scope.function_is_array([{'a'=>1}])
- result.should(eq(false))
- end
-
- it "should return false if passed a string" do
- result = scope.function_is_array(["asdf"])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_bool_spec.rb b/modules/stdlib/spec/functions/is_bool_spec.rb
deleted file mode 100755
index c94e83a..0000000
--- a/modules/stdlib/spec/functions/is_bool_spec.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_bool function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_bool").should == "function_is_bool"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_bool([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if passed a TrueClass" do
- result = scope.function_is_bool([true])
- result.should(eq(true))
- end
-
- it "should return true if passed a FalseClass" do
- result = scope.function_is_bool([false])
- result.should(eq(true))
- end
-
- it "should return false if passed the string 'true'" do
- result = scope.function_is_bool(['true'])
- result.should(eq(false))
- end
-
- it "should return false if passed the string 'false'" do
- result = scope.function_is_bool(['false'])
- result.should(eq(false))
- end
-
- it "should return false if passed an array" do
- result = scope.function_is_bool([["a","b"]])
- result.should(eq(false))
- end
-
- it "should return false if passed a hash" do
- result = scope.function_is_bool([{"a" => "b"}])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_domain_name_spec.rb b/modules/stdlib/spec/functions/is_domain_name_spec.rb
deleted file mode 100755
index f2ea76d..0000000
--- a/modules/stdlib/spec/functions/is_domain_name_spec.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_domain_name function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_domain_name").should == "function_is_domain_name"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_domain_name([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if a valid short domain name" do
- result = scope.function_is_domain_name(["x.com"])
- result.should(be_true)
- end
-
- it "should return true if the domain is ." do
- result = scope.function_is_domain_name(["."])
- result.should(be_true)
- end
-
- it "should return true if the domain is x.com." do
- result = scope.function_is_domain_name(["x.com."])
- result.should(be_true)
- end
-
- it "should return true if a valid domain name" do
- result = scope.function_is_domain_name(["foo.bar.com"])
- result.should(be_true)
- end
-
- it "should allow domain parts to start with numbers" do
- result = scope.function_is_domain_name(["3foo.2bar.com"])
- result.should(be_true)
- end
-
- it "should allow domain to end with a dot" do
- result = scope.function_is_domain_name(["3foo.2bar.com."])
- result.should(be_true)
- end
-
- it "should allow a single part domain" do
- result = scope.function_is_domain_name(["orange"])
- result.should(be_true)
- end
-
- it "should return false if domain parts start with hyphens" do
- result = scope.function_is_domain_name(["-3foo.2bar.com"])
- result.should(be_false)
- end
-
- it "should return true if domain contains hyphens" do
- result = scope.function_is_domain_name(["3foo-bar.2bar-fuzz.com"])
- result.should(be_true)
- end
-
- it "should return false if domain name contains spaces" do
- result = scope.function_is_domain_name(["not valid"])
- result.should(be_false)
- end
-end
diff --git a/modules/stdlib/spec/functions/is_float_spec.rb b/modules/stdlib/spec/functions/is_float_spec.rb
deleted file mode 100755
index b7d73b0..0000000
--- a/modules/stdlib/spec/functions/is_float_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_float function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_float").should == "function_is_float"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_float([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if a float" do
- result = scope.function_is_float(["0.12"])
- result.should(eq(true))
- end
-
- it "should return false if a string" do
- result = scope.function_is_float(["asdf"])
- result.should(eq(false))
- end
-
- it "should return false if an integer" do
- result = scope.function_is_float(["3"])
- result.should(eq(false))
- end
- it "should return true if a float is created from an arithmetical operation" do
- result = scope.function_is_float([3.2*2])
- result.should(eq(true))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_function_available.rb b/modules/stdlib/spec/functions/is_function_available.rb
deleted file mode 100755
index d5669a7..0000000
--- a/modules/stdlib/spec/functions/is_function_available.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_function_available function" do
- before :all do
- Puppet::Parser::Functions.autoloader.loadall
- end
-
- before :each do
- @scope = Puppet::Parser::Scope.new
- end
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_function_available").should == "function_is_function_available"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { @scope.function_is_function_available([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return false if a nonexistent function is passed" do
- result = @scope.function_is_function_available(['jeff_mccunes_left_sock'])
- result.should(eq(false))
- end
-
- it "should return true if an available function is passed" do
- result = @scope.function_is_function_available(['require'])
- result.should(eq(true))
- end
-
-end
diff --git a/modules/stdlib/spec/functions/is_hash_spec.rb b/modules/stdlib/spec/functions/is_hash_spec.rb
deleted file mode 100755
index bbebf39..0000000
--- a/modules/stdlib/spec/functions/is_hash_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_hash function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_hash").should == "function_is_hash"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_hash([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if passed a hash" do
- result = scope.function_is_hash([{"a"=>1,"b"=>2}])
- result.should(eq(true))
- end
-
- it "should return false if passed an array" do
- result = scope.function_is_hash([["a","b"]])
- result.should(eq(false))
- end
-
- it "should return false if passed a string" do
- result = scope.function_is_hash(["asdf"])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_integer_spec.rb b/modules/stdlib/spec/functions/is_integer_spec.rb
deleted file mode 100755
index 24141cc..0000000
--- a/modules/stdlib/spec/functions/is_integer_spec.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_integer function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_integer").should == "function_is_integer"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_integer([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if an integer" do
- result = scope.function_is_integer(["3"])
- result.should(eq(true))
- end
-
- it "should return true if a negative integer" do
- result = scope.function_is_integer(["-7"])
- result.should(eq(true))
- end
-
- it "should return false if a float" do
- result = scope.function_is_integer(["3.2"])
- result.should(eq(false))
- end
-
- it "should return false if a string" do
- result = scope.function_is_integer(["asdf"])
- result.should(eq(false))
- end
-
- it "should return true if an integer is created from an arithmetical operation" do
- result = scope.function_is_integer([3*2])
- result.should(eq(true))
- end
-
- it "should return false if an array" do
- result = scope.function_is_numeric([["asdf"]])
- result.should(eq(false))
- end
-
- it "should return false if a hash" do
- result = scope.function_is_numeric([{"asdf" => false}])
- result.should(eq(false))
- end
-
- it "should return false if a boolean" do
- result = scope.function_is_numeric([true])
- result.should(eq(false))
- end
-
- it "should return false if a whitespace is in the string" do
- result = scope.function_is_numeric([" -1324"])
- result.should(eq(false))
- end
-
- it "should return false if it is zero prefixed" do
- result = scope.function_is_numeric(["0001234"])
- result.should(eq(false))
- end
-
- it "should return false if it is wrapped inside an array" do
- result = scope.function_is_numeric([[1234]])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_ip_address_spec.rb b/modules/stdlib/spec/functions/is_ip_address_spec.rb
deleted file mode 100755
index c0debb3..0000000
--- a/modules/stdlib/spec/functions/is_ip_address_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_ip_address function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_ip_address").should == "function_is_ip_address"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_ip_address([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if an IPv4 address" do
- result = scope.function_is_ip_address(["1.2.3.4"])
- result.should(eq(true))
- end
-
- it "should return true if a full IPv6 address" do
- result = scope.function_is_ip_address(["fe80:0000:cd12:d123:e2f8:47ff:fe09:dd74"])
- result.should(eq(true))
- end
-
- it "should return true if a compressed IPv6 address" do
- result = scope.function_is_ip_address(["fe00::1"])
- result.should(eq(true))
- end
-
- it "should return false if not valid" do
- result = scope.function_is_ip_address(["asdf"])
- result.should(eq(false))
- end
-
- it "should return false if IP octets out of range" do
- result = scope.function_is_ip_address(["1.1.1.300"])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_mac_address_spec.rb b/modules/stdlib/spec/functions/is_mac_address_spec.rb
deleted file mode 100755
index ca9c590..0000000
--- a/modules/stdlib/spec/functions/is_mac_address_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_mac_address function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_mac_address").should == "function_is_mac_address"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_mac_address([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if a valid mac address" do
- result = scope.function_is_mac_address(["00:a0:1f:12:7f:a0"])
- result.should(eq(true))
- end
-
- it "should return false if octets are out of range" do
- result = scope.function_is_mac_address(["00:a0:1f:12:7f:g0"])
- result.should(eq(false))
- end
-
- it "should return false if not valid" do
- result = scope.function_is_mac_address(["not valid"])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/is_numeric_spec.rb b/modules/stdlib/spec/functions/is_numeric_spec.rb
deleted file mode 100755
index 1df1497..0000000
--- a/modules/stdlib/spec/functions/is_numeric_spec.rb
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_numeric function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_numeric").should == "function_is_numeric"
- end
-
- it "should raise a ParseError if there is less than 1 argument" do
- lambda { scope.function_is_numeric([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if an integer" do
- result = scope.function_is_numeric(["3"])
- result.should(eq(true))
- end
-
- it "should return true if a float" do
- result = scope.function_is_numeric(["3.2"])
- result.should(eq(true))
- end
-
- it "should return true if an integer is created from an arithmetical operation" do
- result = scope.function_is_numeric([3*2])
- result.should(eq(true))
- end
-
- it "should return true if a float is created from an arithmetical operation" do
- result = scope.function_is_numeric([3.2*2])
- result.should(eq(true))
- end
-
- it "should return false if a string" do
- result = scope.function_is_numeric(["asdf"])
- result.should(eq(false))
- end
-
- it "should return false if an array" do
- result = scope.function_is_numeric([["asdf"]])
- result.should(eq(false))
- end
-
- it "should return false if an array of integers" do
- result = scope.function_is_numeric([[1,2,3,4]])
- result.should(eq(false))
- end
-
- it "should return false if a hash" do
- result = scope.function_is_numeric([{"asdf" => false}])
- result.should(eq(false))
- end
-
- it "should return false if a hash with numbers in it" do
- result = scope.function_is_numeric([{1 => 2}])
- result.should(eq(false))
- end
-
- it "should return false if a boolean" do
- result = scope.function_is_numeric([true])
- result.should(eq(false))
- end
-
- it "should return true if a negative float with exponent" do
- result = scope.function_is_numeric(["-342.2315e-12"])
- result.should(eq(true))
- end
-
- it "should return false if a negative integer with whitespaces before/after the dash" do
- result = scope.function_is_numeric([" - 751"])
- result.should(eq(false))
- end
-
-# it "should return true if a hexadecimal" do
-# result = scope.function_is_numeric(["0x52F8c"])
-# result.should(eq(true))
-# end
-#
-# it "should return true if a hexadecimal with uppercase 0X prefix" do
-# result = scope.function_is_numeric(["0X52F8c"])
-# result.should(eq(true))
-# end
-#
-# it "should return false if a hexadecimal without a prefix" do
-# result = scope.function_is_numeric(["52F8c"])
-# result.should(eq(false))
-# end
-#
-# it "should return true if a octal" do
-# result = scope.function_is_numeric(["0751"])
-# result.should(eq(true))
-# end
-#
-# it "should return true if a negative hexadecimal" do
-# result = scope.function_is_numeric(["-0x52F8c"])
-# result.should(eq(true))
-# end
-#
-# it "should return true if a negative octal" do
-# result = scope.function_is_numeric(["-0751"])
-# result.should(eq(true))
-# end
-#
-# it "should return false if a negative octal with whitespaces before/after the dash" do
-# result = scope.function_is_numeric([" - 0751"])
-# result.should(eq(false))
-# end
-#
-# it "should return false if a bad hexadecimal" do
-# result = scope.function_is_numeric(["0x23d7g"])
-# result.should(eq(false))
-# end
-#
-# it "should return false if a bad octal" do
-# result = scope.function_is_numeric(["0287"])
-# result.should(eq(false))
-# end
-end
diff --git a/modules/stdlib/spec/functions/is_string_spec.rb b/modules/stdlib/spec/functions/is_string_spec.rb
deleted file mode 100755
index 3756bea..0000000
--- a/modules/stdlib/spec/functions/is_string_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the is_string function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("is_string").should == "function_is_string"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_is_string([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if a string" do
- result = scope.function_is_string(["asdf"])
- result.should(eq(true))
- end
-
- it "should return false if an integer" do
- result = scope.function_is_string(["3"])
- result.should(eq(false))
- end
-
- it "should return false if a float" do
- result = scope.function_is_string(["3.23"])
- result.should(eq(false))
- end
-
- it "should return false if an array" do
- result = scope.function_is_string([["a","b","c"]])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/join_keys_to_values_spec.rb b/modules/stdlib/spec/functions/join_keys_to_values_spec.rb
deleted file mode 100755
index a52fb71..0000000
--- a/modules/stdlib/spec/functions/join_keys_to_values_spec.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the join_keys_to_values function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("join_keys_to_values").should == "function_join_keys_to_values"
- end
-
- it "should raise a ParseError if there are fewer than two arguments" do
- lambda { scope.function_join_keys_to_values([{}]) }.should raise_error Puppet::ParseError
- end
-
- it "should raise a ParseError if there are greater than two arguments" do
- lambda { scope.function_join_keys_to_values([{}, 'foo', 'bar']) }.should raise_error Puppet::ParseError
- end
-
- it "should raise a TypeError if the first argument is an array" do
- lambda { scope.function_join_keys_to_values([[1,2], ',']) }.should raise_error TypeError
- end
-
- it "should raise a TypeError if the second argument is an array" do
- lambda { scope.function_join_keys_to_values([{}, [1,2]]) }.should raise_error TypeError
- end
-
- it "should raise a TypeError if the second argument is a number" do
- lambda { scope.function_join_keys_to_values([{}, 1]) }.should raise_error TypeError
- end
-
- it "should return an empty array given an empty hash" do
- result = scope.function_join_keys_to_values([{}, ":"])
- result.should == []
- end
-
- it "should join hash's keys to its values" do
- result = scope.function_join_keys_to_values([{'a'=>1,2=>'foo',:b=>nil}, ":"])
- result.should =~ ['a:1','2:foo','b:']
- end
-end
diff --git a/modules/stdlib/spec/functions/join_spec.rb b/modules/stdlib/spec/functions/join_spec.rb
deleted file mode 100755
index aafa1a7..0000000
--- a/modules/stdlib/spec/functions/join_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the join function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("join").should == "function_join"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_join([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should join an array into a string" do
- result = scope.function_join([["a","b","c"], ":"])
- result.should(eq("a:b:c"))
- end
-end
diff --git a/modules/stdlib/spec/functions/keys_spec.rb b/modules/stdlib/spec/functions/keys_spec.rb
deleted file mode 100755
index fdd7a70..0000000
--- a/modules/stdlib/spec/functions/keys_spec.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the keys function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("keys").should == "function_keys"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_keys([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return an array of keys when given a hash" do
- result = scope.function_keys([{'a'=>1, 'b'=>2}])
- # =~ performs 'array with same elements' (set) matching
- # For more info see RSpec::Matchers::MatchArray
- result.should =~ ['a','b']
- end
-end
diff --git a/modules/stdlib/spec/functions/loadyaml_spec.rb b/modules/stdlib/spec/functions/loadyaml_spec.rb
deleted file mode 100755
index fe16318..0000000
--- a/modules/stdlib/spec/functions/loadyaml_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the loadyaml function" do
- include PuppetlabsSpec::Files
-
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("loadyaml").should == "function_loadyaml"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- expect { scope.function_loadyaml([]) }.to raise_error(Puppet::ParseError)
- end
-
- it "should convert YAML file to a data structure" do
- yaml_file = tmpfilename ('yamlfile')
- File.open(yaml_file, 'w') do |fh|
- fh.write("---\n aaa: 1\n bbb: 2\n ccc: 3\n ddd: 4\n")
- end
- result = scope.function_loadyaml([yaml_file])
- result.should == {"aaa" => 1, "bbb" => 2, "ccc" => 3, "ddd" => 4 }
- end
-end
diff --git a/modules/stdlib/spec/functions/lstrip_spec.rb b/modules/stdlib/spec/functions/lstrip_spec.rb
deleted file mode 100755
index b280ae7..0000000
--- a/modules/stdlib/spec/functions/lstrip_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the lstrip function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("lstrip").should == "function_lstrip"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_lstrip([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should lstrip a string" do
- result = scope.function_lstrip([" asdf"])
- result.should(eq('asdf'))
- end
-end
diff --git a/modules/stdlib/spec/functions/max_spec.rb b/modules/stdlib/spec/functions/max_spec.rb
deleted file mode 100755
index ff6f2b3..0000000
--- a/modules/stdlib/spec/functions/max_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the max function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("max").should == "function_max"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_max([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should be able to compare strings" do
- scope.function_max(["albatross","dog","horse"]).should(eq("horse"))
- end
-
- it "should be able to compare numbers" do
- scope.function_max([6,8,4]).should(eq(8))
- end
-
- it "should be able to compare a number with a stringified number" do
- scope.function_max([1,"2"]).should(eq("2"))
- end
-end
diff --git a/modules/stdlib/spec/functions/member_spec.rb b/modules/stdlib/spec/functions/member_spec.rb
deleted file mode 100755
index 6e9a023..0000000
--- a/modules/stdlib/spec/functions/member_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the member function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("member").should == "function_member"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_member([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if a member is in an array" do
- result = scope.function_member([["a","b","c"], "a"])
- result.should(eq(true))
- end
-
- it "should return false if a member is not in an array" do
- result = scope.function_member([["a","b","c"], "d"])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/merge_spec.rb b/modules/stdlib/spec/functions/merge_spec.rb
deleted file mode 100755
index 15a5d94..0000000
--- a/modules/stdlib/spec/functions/merge_spec.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:merge) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe 'when calling merge from puppet' do
- it "should not compile when no arguments are passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = '$x = merge()'
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should not compile when 1 argument is passed" do
- pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./
- Puppet[:code] = "$my_hash={'one' => 1}\n$x = merge($my_hash)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
- end
-
- describe 'when calling merge on the scope instance' do
- it 'should require all parameters are hashes' do
- expect { new_hash = scope.function_merge([{}, '2'])}.to raise_error(Puppet::ParseError, /unexpected argument type String/)
- expect { new_hash = scope.function_merge([{}, 2])}.to raise_error(Puppet::ParseError, /unexpected argument type Fixnum/)
- end
-
- it 'should accept empty strings as puppet undef' do
- expect { new_hash = scope.function_merge([{}, ''])}.not_to raise_error
- end
-
- it 'should be able to merge two hashes' do
- new_hash = scope.function_merge([{'one' => '1', 'two' => '1'}, {'two' => '2', 'three' => '2'}])
- new_hash['one'].should == '1'
- new_hash['two'].should == '2'
- new_hash['three'].should == '2'
- end
-
- it 'should merge multiple hashes' do
- hash = scope.function_merge([{'one' => 1}, {'one' => '2'}, {'one' => '3'}])
- hash['one'].should == '3'
- end
-
- it 'should accept empty hashes' do
- scope.function_merge([{},{},{}]).should == {}
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/min_spec.rb b/modules/stdlib/spec/functions/min_spec.rb
deleted file mode 100755
index 71d593e..0000000
--- a/modules/stdlib/spec/functions/min_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the min function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("min").should == "function_min"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_min([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should be able to compare strings" do
- scope.function_min(["albatross","dog","horse"]).should(eq("albatross"))
- end
-
- it "should be able to compare numbers" do
- scope.function_min([6,8,4]).should(eq(4))
- end
-
- it "should be able to compare a number with a stringified number" do
- scope.function_min([1,"2"]).should(eq(1))
- end
-end
diff --git a/modules/stdlib/spec/functions/num2bool_spec.rb b/modules/stdlib/spec/functions/num2bool_spec.rb
deleted file mode 100755
index b56196d..0000000
--- a/modules/stdlib/spec/functions/num2bool_spec.rb
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the num2bool function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("num2bool").should == "function_num2bool"
- end
-
- it "should raise a ParseError if there are no arguments" do
- lambda { scope.function_num2bool([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if there are more than 1 arguments" do
- lambda { scope.function_num2bool(["foo","bar"]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if passed something non-numeric" do
- lambda { scope.function_num2bool(["xyzzy"]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return true if passed string 1" do
- result = scope.function_num2bool(["1"])
- result.should(be_true)
- end
-
- it "should return true if passed string 1.5" do
- result = scope.function_num2bool(["1.5"])
- result.should(be_true)
- end
-
- it "should return true if passed number 1" do
- result = scope.function_num2bool([1])
- result.should(be_true)
- end
-
- it "should return false if passed string 0" do
- result = scope.function_num2bool(["0"])
- result.should(be_false)
- end
-
- it "should return false if passed number 0" do
- result = scope.function_num2bool([0])
- result.should(be_false)
- end
-
- it "should return false if passed string -1" do
- result = scope.function_num2bool(["-1"])
- result.should(be_false)
- end
-
- it "should return false if passed string -1.5" do
- result = scope.function_num2bool(["-1.5"])
- result.should(be_false)
- end
-
- it "should return false if passed number -1" do
- result = scope.function_num2bool([-1])
- result.should(be_false)
- end
-
- it "should return false if passed float -1.5" do
- result = scope.function_num2bool([-1.5])
- result.should(be_false)
- end
-end
diff --git a/modules/stdlib/spec/functions/parsejson_spec.rb b/modules/stdlib/spec/functions/parsejson_spec.rb
deleted file mode 100755
index f179ac1..0000000
--- a/modules/stdlib/spec/functions/parsejson_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the parsejson function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("parsejson").should == "function_parsejson"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_parsejson([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert JSON to a data structure" do
- json = <<-EOS
-["aaa","bbb","ccc"]
-EOS
- result = scope.function_parsejson([json])
- result.should(eq(['aaa','bbb','ccc']))
- end
-end
diff --git a/modules/stdlib/spec/functions/parseyaml_spec.rb b/modules/stdlib/spec/functions/parseyaml_spec.rb
deleted file mode 100755
index 0c7aea8..0000000
--- a/modules/stdlib/spec/functions/parseyaml_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the parseyaml function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("parseyaml").should == "function_parseyaml"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_parseyaml([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert YAML to a data structure" do
- yaml = <<-EOS
-- aaa
-- bbb
-- ccc
-EOS
- result = scope.function_parseyaml([yaml])
- result.should(eq(['aaa','bbb','ccc']))
- end
-end
diff --git a/modules/stdlib/spec/functions/pick_default_spec.rb b/modules/stdlib/spec/functions/pick_default_spec.rb
deleted file mode 100755
index c9235b5..0000000
--- a/modules/stdlib/spec/functions/pick_default_spec.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the pick_default function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("pick_default").should == "function_pick_default"
- end
-
- it 'should return the correct value' do
- scope.function_pick_default(['first', 'second']).should == 'first'
- end
-
- it 'should return the correct value if the first value is empty' do
- scope.function_pick_default(['', 'second']).should == 'second'
- end
-
- it 'should skip empty string values' do
- scope.function_pick_default(['', 'first']).should == 'first'
- end
-
- it 'should skip :undef values' do
- scope.function_pick_default([:undef, 'first']).should == 'first'
- end
-
- it 'should skip :undefined values' do
- scope.function_pick_default([:undefined, 'first']).should == 'first'
- end
-
- it 'should return the empty string if it is the last possibility' do
- scope.function_pick_default([:undef, :undefined, '']).should == ''
- end
-
- it 'should return :undef if it is the last possibility' do
- scope.function_pick_default(['', :undefined, :undef]).should == :undef
- end
-
- it 'should return :undefined if it is the last possibility' do
- scope.function_pick_default([:undef, '', :undefined]).should == :undefined
- end
-
- it 'should return the empty string if it is the only possibility' do
- scope.function_pick_default(['']).should == ''
- end
-
- it 'should return :undef if it is the only possibility' do
- scope.function_pick_default([:undef]).should == :undef
- end
-
- it 'should return :undefined if it is the only possibility' do
- scope.function_pick_default([:undefined]).should == :undefined
- end
-
- it 'should error if no values are passed' do
- expect { scope.function_pick_default([]) }.to raise_error(Puppet::Error, /Must receive at least one argument./)
- end
-end
diff --git a/modules/stdlib/spec/functions/pick_spec.rb b/modules/stdlib/spec/functions/pick_spec.rb
deleted file mode 100755
index f53fa80..0000000
--- a/modules/stdlib/spec/functions/pick_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the pick function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("pick").should == "function_pick"
- end
-
- it 'should return the correct value' do
- scope.function_pick(['first', 'second']).should == 'first'
- end
-
- it 'should return the correct value if the first value is empty' do
- scope.function_pick(['', 'second']).should == 'second'
- end
-
- it 'should remove empty string values' do
- scope.function_pick(['', 'first']).should == 'first'
- end
-
- it 'should remove :undef values' do
- scope.function_pick([:undef, 'first']).should == 'first'
- end
-
- it 'should remove :undefined values' do
- scope.function_pick([:undefined, 'first']).should == 'first'
- end
-
- it 'should error if no values are passed' do
- expect { scope.function_pick([]) }.to( raise_error(Puppet::ParseError, "pick(): must receive at least one non empty value"))
- end
-end
diff --git a/modules/stdlib/spec/functions/prefix_spec.rb b/modules/stdlib/spec/functions/prefix_spec.rb
deleted file mode 100755
index 6e8ddc5..0000000
--- a/modules/stdlib/spec/functions/prefix_spec.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the prefix function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "raises a ParseError if there is less than 1 arguments" do
- expect { scope.function_prefix([]) }.to raise_error(Puppet::ParseError, /number of arguments/)
- end
-
- it "raises an error if the first argument is not an array" do
- expect {
- scope.function_prefix([Object.new])
- }.to raise_error(Puppet::ParseError, /expected first argument to be an Array/)
- end
-
-
- it "raises an error if the second argument is not a string" do
- expect {
- scope.function_prefix([['first', 'second'], 42])
- }.to raise_error(Puppet::ParseError, /expected second argument to be a String/)
- end
-
- it "returns a prefixed array" do
- result = scope.function_prefix([['a','b','c'], 'p'])
- result.should(eq(['pa','pb','pc']))
- end
-end
diff --git a/modules/stdlib/spec/functions/range_spec.rb b/modules/stdlib/spec/functions/range_spec.rb
deleted file mode 100755
index 0e1ad37..0000000
--- a/modules/stdlib/spec/functions/range_spec.rb
+++ /dev/null
@@ -1,70 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the range function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "exists" do
- Puppet::Parser::Functions.function("range").should == "function_range"
- end
-
- it "raises a ParseError if there is less than 1 arguments" do
- expect { scope.function_range([]) }.to raise_error Puppet::ParseError, /Wrong number of arguments.*0 for 1/
- end
-
- describe 'with a letter range' do
- it "returns a letter range" do
- result = scope.function_range(["a","d"])
- result.should eq ['a','b','c','d']
- end
-
- it "returns a letter range given a step of 1" do
- result = scope.function_range(["a","d","1"])
- result.should eq ['a','b','c','d']
- end
-
- it "returns a stepped letter range" do
- result = scope.function_range(["a","d","2"])
- result.should eq ['a','c']
- end
-
- it "returns a stepped letter range given a negative step" do
- result = scope.function_range(["a","d","-2"])
- result.should eq ['a','c']
- end
- end
-
- describe 'with a number range' do
- it "returns a number range" do
- result = scope.function_range(["1","4"])
- result.should eq [1,2,3,4]
- end
-
- it "returns a number range given a step of 1" do
- result = scope.function_range(["1","4","1"])
- result.should eq [1,2,3,4]
- end
-
- it "returns a stepped number range" do
- result = scope.function_range(["1","4","2"])
- result.should eq [1,3]
- end
-
- it "returns a stepped number range given a negative step" do
- result = scope.function_range(["1","4","-2"])
- result.should eq [1,3]
- end
- end
-
- describe 'with a numeric-like string range' do
- it "works with padded hostname like strings" do
- expected = ("host01".."host10").to_a
- scope.function_range(["host01","host10"]).should eq expected
- end
-
- it "coerces zero padded digits to integers" do
- expected = (0..10).to_a
- scope.function_range(["00", "10"]).should eq expected
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/reject_spec.rb b/modules/stdlib/spec/functions/reject_spec.rb
deleted file mode 100755
index f2cb741..0000000
--- a/modules/stdlib/spec/functions/reject_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'spec_helper'
-
-describe "the reject function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("reject").should == "function_reject"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_reject([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should reject contents from an array" do
- result = scope.function_reject([["1111", "aaabbb","bbbccc","dddeee"], "bbb"])
- result.should(eq(["1111", "dddeee"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/reverse_spec.rb b/modules/stdlib/spec/functions/reverse_spec.rb
deleted file mode 100755
index 1b59206..0000000
--- a/modules/stdlib/spec/functions/reverse_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the reverse function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("reverse").should == "function_reverse"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_reverse([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should reverse a string" do
- result = scope.function_reverse(["asdfghijkl"])
- result.should(eq('lkjihgfdsa'))
- end
-end
diff --git a/modules/stdlib/spec/functions/rstrip_spec.rb b/modules/stdlib/spec/functions/rstrip_spec.rb
deleted file mode 100755
index d90de1d..0000000
--- a/modules/stdlib/spec/functions/rstrip_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the rstrip function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("rstrip").should == "function_rstrip"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_rstrip([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should rstrip a string" do
- result = scope.function_rstrip(["asdf "])
- result.should(eq('asdf'))
- end
-
- it "should rstrip each element in an array" do
- result = scope.function_rstrip([["a ","b ", "c "]])
- result.should(eq(['a','b','c']))
- end
-end
diff --git a/modules/stdlib/spec/functions/shuffle_spec.rb b/modules/stdlib/spec/functions/shuffle_spec.rb
deleted file mode 100755
index 93346d5..0000000
--- a/modules/stdlib/spec/functions/shuffle_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the shuffle function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("shuffle").should == "function_shuffle"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_shuffle([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should shuffle a string and the result should be the same size" do
- result = scope.function_shuffle(["asdf"])
- result.size.should(eq(4))
- end
-
- it "should shuffle a string but the sorted contents should still be the same" do
- result = scope.function_shuffle(["adfs"])
- result.split("").sort.join("").should(eq("adfs"))
- end
-end
diff --git a/modules/stdlib/spec/functions/size_spec.rb b/modules/stdlib/spec/functions/size_spec.rb
deleted file mode 100755
index b1c435a..0000000
--- a/modules/stdlib/spec/functions/size_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the size function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("size").should == "function_size"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_size([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return the size of a string" do
- result = scope.function_size(["asdf"])
- result.should(eq(4))
- end
-
- it "should return the size of an array" do
- result = scope.function_size([["a","b","c"]])
- result.should(eq(3))
- end
-end
diff --git a/modules/stdlib/spec/functions/sort_spec.rb b/modules/stdlib/spec/functions/sort_spec.rb
deleted file mode 100755
index 3187a5a..0000000
--- a/modules/stdlib/spec/functions/sort_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the sort function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("sort").should == "function_sort"
- end
-
- it "should raise a ParseError if there is not 1 arguments" do
- lambda { scope.function_sort(['','']) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should sort an array" do
- result = scope.function_sort([["a","c","b"]])
- result.should(eq(['a','b','c']))
- end
-
- it "should sort a string" do
- result = scope.function_sort(["acb"])
- result.should(eq('abc'))
- end
-end
diff --git a/modules/stdlib/spec/functions/squeeze_spec.rb b/modules/stdlib/spec/functions/squeeze_spec.rb
deleted file mode 100755
index 60e5a30..0000000
--- a/modules/stdlib/spec/functions/squeeze_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the squeeze function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("squeeze").should == "function_squeeze"
- end
-
- it "should raise a ParseError if there is less than 2 arguments" do
- lambda { scope.function_squeeze([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should squeeze a string" do
- result = scope.function_squeeze(["aaabbbbcccc"])
- result.should(eq('abc'))
- end
-
- it "should squeeze all elements in an array" do
- result = scope.function_squeeze([["aaabbbbcccc","dddfff"]])
- result.should(eq(['abc','df']))
- end
-end
diff --git a/modules/stdlib/spec/functions/str2bool_spec.rb b/modules/stdlib/spec/functions/str2bool_spec.rb
deleted file mode 100755
index 73c09c7..0000000
--- a/modules/stdlib/spec/functions/str2bool_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the str2bool function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("str2bool").should == "function_str2bool"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_str2bool([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert string 'true' to true" do
- result = scope.function_str2bool(["true"])
- result.should(eq(true))
- end
-
- it "should convert string 'undef' to false" do
- result = scope.function_str2bool(["undef"])
- result.should(eq(false))
- end
-
- it "should return the boolean it was called with" do
- result = scope.function_str2bool([true])
- result.should(eq(true))
- result = scope.function_str2bool([false])
- result.should(eq(false))
- end
-end
diff --git a/modules/stdlib/spec/functions/str2saltedsha512_spec.rb b/modules/stdlib/spec/functions/str2saltedsha512_spec.rb
deleted file mode 100755
index df8fb8e..0000000
--- a/modules/stdlib/spec/functions/str2saltedsha512_spec.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the str2saltedsha512 function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("str2saltedsha512").should == "function_str2saltedsha512"
- end
-
- it "should raise a ParseError if there is less than 1 argument" do
- expect { scope.function_str2saltedsha512([]) }.to( raise_error(Puppet::ParseError) )
- end
-
- it "should raise a ParseError if there is more than 1 argument" do
- expect { scope.function_str2saltedsha512(['foo', 'bar', 'baz']) }.to( raise_error(Puppet::ParseError) )
- end
-
- it "should return a salted-sha512 password hash 136 characters in length" do
- result = scope.function_str2saltedsha512(["password"])
- result.length.should(eq(136))
- end
-
- it "should raise an error if you pass a non-string password" do
- expect { scope.function_str2saltedsha512([1234]) }.to( raise_error(Puppet::ParseError) )
- end
-
- it "should generate a valid password" do
- # Allow the function to generate a password based on the string 'password'
- password_hash = scope.function_str2saltedsha512(["password"])
-
- # Separate the Salt and Password from the Password Hash
- salt = password_hash[0..7]
- password = password_hash[8..-1]
-
- # Convert the Salt and Password from Hex to Binary Data
- str_salt = Array(salt.lines).pack('H*')
- str_password = Array(password.lines).pack('H*')
-
- # Combine the Binary Salt with 'password' and compare the end result
- saltedpass = Digest::SHA512.digest(str_salt + 'password')
- result = (str_salt + saltedpass).unpack('H*')[0]
- result.should == password_hash
- end
-end
diff --git a/modules/stdlib/spec/functions/strftime_spec.rb b/modules/stdlib/spec/functions/strftime_spec.rb
deleted file mode 100755
index df42b6f..0000000
--- a/modules/stdlib/spec/functions/strftime_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the strftime function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("strftime").should == "function_strftime"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_strftime([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "using %s should be higher then when I wrote this test" do
- result = scope.function_strftime(["%s"])
- result.to_i.should(be > 1311953157)
- end
-
- it "using %s should be lower then 1.5 trillion" do
- result = scope.function_strftime(["%s"])
- result.to_i.should(be < 1500000000)
- end
-
- it "should return a date when given %Y-%m-%d" do
- result = scope.function_strftime(["%Y-%m-%d"])
- result.should =~ /^\d{4}-\d{2}-\d{2}$/
- end
-end
diff --git a/modules/stdlib/spec/functions/strip_spec.rb b/modules/stdlib/spec/functions/strip_spec.rb
deleted file mode 100755
index fccdd26..0000000
--- a/modules/stdlib/spec/functions/strip_spec.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the strip function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- it "should exist" do
- Puppet::Parser::Functions.function("strip").should == "function_strip"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_strip([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should strip a string" do
- result = scope.function_strip([" ab cd "])
- result.should(eq('ab cd'))
- end
-end
diff --git a/modules/stdlib/spec/functions/suffix_spec.rb b/modules/stdlib/spec/functions/suffix_spec.rb
deleted file mode 100755
index 89ba3b8..0000000
--- a/modules/stdlib/spec/functions/suffix_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the suffix function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "raises a ParseError if there is less than 1 arguments" do
- expect { scope.function_suffix([]) }.to raise_error(Puppet::ParseError, /number of arguments/)
- end
-
- it "raises an error if the first argument is not an array" do
- expect {
- scope.function_suffix([Object.new])
- }.to raise_error(Puppet::ParseError, /expected first argument to be an Array/)
- end
-
- it "raises an error if the second argument is not a string" do
- expect {
- scope.function_suffix([['first', 'second'], 42])
- }.to raise_error(Puppet::ParseError, /expected second argument to be a String/)
- end
-
- it "returns a suffixed array" do
- result = scope.function_suffix([['a','b','c'], 'p'])
- result.should(eq(['ap','bp','cp']))
- end
-end
diff --git a/modules/stdlib/spec/functions/swapcase_spec.rb b/modules/stdlib/spec/functions/swapcase_spec.rb
deleted file mode 100755
index 808b415..0000000
--- a/modules/stdlib/spec/functions/swapcase_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the swapcase function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("swapcase").should == "function_swapcase"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_swapcase([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should swapcase a string" do
- result = scope.function_swapcase(["aaBBccDD"])
- result.should(eq('AAbbCCdd'))
- end
-end
diff --git a/modules/stdlib/spec/functions/time_spec.rb b/modules/stdlib/spec/functions/time_spec.rb
deleted file mode 100755
index e9fb76e..0000000
--- a/modules/stdlib/spec/functions/time_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the time function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("time").should == "function_time"
- end
-
- it "should raise a ParseError if there is more than 2 arguments" do
- lambda { scope.function_time(['','']) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return a number" do
- result = scope.function_time([])
- result.should be_an(Integer)
- end
-
- it "should be higher then when I wrote this test" do
- result = scope.function_time([])
- result.should(be > 1311953157)
- end
-
- it "should be lower then 1.5 trillion" do
- result = scope.function_time([])
- result.should(be < 1500000000)
- end
-end
diff --git a/modules/stdlib/spec/functions/to_bytes_spec.rb b/modules/stdlib/spec/functions/to_bytes_spec.rb
deleted file mode 100755
index d1ea4c8..0000000
--- a/modules/stdlib/spec/functions/to_bytes_spec.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the to_bytes function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("to_bytes").should == "function_to_bytes"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_to_bytes([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should convert kB to B" do
- result = scope.function_to_bytes(["4 kB"])
- result.should(eq(4096))
- end
-
- it "should work without B in unit" do
- result = scope.function_to_bytes(["4 k"])
- result.should(eq(4096))
- end
-
- it "should work without a space before unit" do
- result = scope.function_to_bytes(["4k"])
- result.should(eq(4096))
- end
-
- it "should work without a unit" do
- result = scope.function_to_bytes(["5678"])
- result.should(eq(5678))
- end
-
- it "should convert fractions" do
- result = scope.function_to_bytes(["1.5 kB"])
- result.should(eq(1536))
- end
-
- it "should convert scientific notation" do
- result = scope.function_to_bytes(["1.5e2 B"])
- result.should(eq(150))
- end
-
- it "should do nothing with a positive number" do
- result = scope.function_to_bytes([5678])
- result.should(eq(5678))
- end
-
- it "should should raise a ParseError if input isn't a number" do
- lambda { scope.function_to_bytes(["foo"]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should should raise a ParseError if prefix is unknown" do
- lambda { scope.function_to_bytes(["5 uB"]) }.should( raise_error(Puppet::ParseError))
- end
-end
diff --git a/modules/stdlib/spec/functions/type_spec.rb b/modules/stdlib/spec/functions/type_spec.rb
deleted file mode 100755
index 8fec88f..0000000
--- a/modules/stdlib/spec/functions/type_spec.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the type function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- it "should exist" do
- Puppet::Parser::Functions.function("type").should == "function_type"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_type([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return string when given a string" do
- result = scope.function_type(["aaabbbbcccc"])
- result.should(eq('string'))
- end
-
- it "should return array when given an array" do
- result = scope.function_type([["aaabbbbcccc","asdf"]])
- result.should(eq('array'))
- end
-
- it "should return hash when given a hash" do
- result = scope.function_type([{"a"=>1,"b"=>2}])
- result.should(eq('hash'))
- end
-
- it "should return integer when given an integer" do
- result = scope.function_type(["1"])
- result.should(eq('integer'))
- end
-
- it "should return float when given a float" do
- result = scope.function_type(["1.34"])
- result.should(eq('float'))
- end
-
- it "should return boolean when given a boolean" do
- result = scope.function_type([true])
- result.should(eq('boolean'))
- end
-end
diff --git a/modules/stdlib/spec/functions/union_spec.rb b/modules/stdlib/spec/functions/union_spec.rb
deleted file mode 100755
index 0d282ca..0000000
--- a/modules/stdlib/spec/functions/union_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the union function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("union").should == "function_union"
- end
-
- it "should raise a ParseError if there are fewer than 2 arguments" do
- lambda { scope.function_union([]) }.should( raise_error(Puppet::ParseError) )
- end
-
- it "should join two arrays together" do
- result = scope.function_union([["a","b","c"],["b","c","d"]])
- result.should(eq(["a","b","c","d"]))
- end
-end
diff --git a/modules/stdlib/spec/functions/unique_spec.rb b/modules/stdlib/spec/functions/unique_spec.rb
deleted file mode 100755
index 5d48d49..0000000
--- a/modules/stdlib/spec/functions/unique_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the unique function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("unique").should == "function_unique"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_unique([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should remove duplicate elements in a string" do
- result = scope.function_unique(["aabbc"])
- result.should(eq('abc'))
- end
-
- it "should remove duplicate elements in an array" do
- result = scope.function_unique([["a","a","b","b","c"]])
- result.should(eq(['a','b','c']))
- end
-end
diff --git a/modules/stdlib/spec/functions/upcase_spec.rb b/modules/stdlib/spec/functions/upcase_spec.rb
deleted file mode 100755
index 5db5513..0000000
--- a/modules/stdlib/spec/functions/upcase_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the upcase function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("upcase").should == "function_upcase"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_upcase([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should upcase a string" do
- result = scope.function_upcase(["abc"])
- result.should(eq('ABC'))
- end
-
- it "should do nothing if a string is already upcase" do
- result = scope.function_upcase(["ABC"])
- result.should(eq('ABC'))
- end
-end
diff --git a/modules/stdlib/spec/functions/uriescape_spec.rb b/modules/stdlib/spec/functions/uriescape_spec.rb
deleted file mode 100755
index 7211c88..0000000
--- a/modules/stdlib/spec/functions/uriescape_spec.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the uriescape function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("uriescape").should == "function_uriescape"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_uriescape([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should uriescape a string" do
- result = scope.function_uriescape([":/?#[]@!$&'()*+,;= \"{}"])
- result.should(eq(':/?%23[]@!$&\'()*+,;=%20%22%7B%7D'))
- end
-
- it "should do nothing if a string is already safe" do
- result = scope.function_uriescape(["ABCdef"])
- result.should(eq('ABCdef'))
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_absolute_path_spec.rb b/modules/stdlib/spec/functions/validate_absolute_path_spec.rb
deleted file mode 100755
index 342ae84..0000000
--- a/modules/stdlib/spec/functions/validate_absolute_path_spec.rb
+++ /dev/null
@@ -1,84 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_absolute_path) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- # The subject of these examples is the method itself.
- subject do
- # This makes sure the function is loaded within each test
- function_name = Puppet::Parser::Functions.function(:validate_absolute_path)
- scope.method(function_name)
- end
-
- describe "Valid Paths" do
- def self.valid_paths
- %w{
- C:/
- C:\\
- C:\\WINDOWS\\System32
- C:/windows/system32
- X:/foo/bar
- X:\\foo\\bar
- /var/tmp
- /var/lib/puppet
- /var/opt/../lib/puppet
- }
- end
-
- context "Without Puppet::Util.absolute_path? (e.g. Puppet <= 2.6)" do
- before :each do
- # The intent here is to mock Puppet to behave like Puppet 2.6 does.
- # Puppet 2.6 does not have the absolute_path? method. This is only a
- # convenience test, stdlib should be run with the Puppet 2.6.x in the
- # $LOAD_PATH in addition to 2.7.x and master.
- Puppet::Util.expects(:respond_to?).with(:absolute_path?).returns(false)
- end
- valid_paths.each do |path|
- it "validate_absolute_path(#{path.inspect}) should not fail" do
- expect { subject.call [path] }.not_to raise_error
- end
- end
- end
-
- context "Puppet without mocking" do
- valid_paths.each do |path|
- it "validate_absolute_path(#{path.inspect}) should not fail" do
- expect { subject.call [path] }.not_to raise_error
- end
- end
- end
- end
-
- describe 'Invalid paths' do
- context 'Garbage inputs' do
- [
- nil,
- [ nil ],
- { 'foo' => 'bar' },
- { },
- '',
- ].each do |path|
- it "validate_absolute_path(#{path.inspect}) should fail" do
- expect { subject.call [path] }.to raise_error Puppet::ParseError
- end
- end
- end
-
- context 'Relative paths' do
- %w{
- relative1
- .
- ..
- ./foo
- ../foo
- etc/puppetlabs/puppet
- opt/puppet/bin
- }.each do |path|
- it "validate_absolute_path(#{path.inspect}) should fail" do
- expect { subject.call [path] }.to raise_error Puppet::ParseError
- end
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_array_spec.rb b/modules/stdlib/spec/functions/validate_array_spec.rb
deleted file mode 100755
index 4b31cfd..0000000
--- a/modules/stdlib/spec/functions/validate_array_spec.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_array) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- describe 'when calling validate_array from puppet' do
-
- %w{ true false }.each do |the_string|
- it "should not compile when #{the_string} is a string" do
- Puppet[:code] = "validate_array('#{the_string}')"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not an Array/)
- end
-
- it "should not compile when #{the_string} is a bare word" do
- Puppet[:code] = "validate_array(#{the_string})"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not an Array/)
- end
- end
-
- it "should compile when multiple array arguments are passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = [ ]
- $bar = [ 'one', 'two' ]
- validate_array($foo, $bar)
- ENDofPUPPETcode
- scope.compiler.compile
- end
-
- it "should not compile when an undef variable is passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = undef
- validate_array($foo)
- ENDofPUPPETcode
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not an Array/)
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_augeas_spec.rb b/modules/stdlib/spec/functions/validate_augeas_spec.rb
deleted file mode 100755
index c695ba2..0000000
--- a/modules/stdlib/spec/functions/validate_augeas_spec.rb
+++ /dev/null
@@ -1,103 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_augeas), :if => Puppet.features.augeas? do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- # The subject of these examplres is the method itself.
- subject do
- # This makes sure the function is loaded within each test
- function_name = Puppet::Parser::Functions.function(:validate_augeas)
- scope.method(function_name)
- end
-
- context 'Using Puppet::Parser::Scope.new' do
-
- describe 'Garbage inputs' do
- inputs = [
- [ nil ],
- [ [ nil ] ],
- [ { 'foo' => 'bar' } ],
- [ { } ],
- [ '' ],
- [ "one", "one", "MSG to User", "4th arg" ],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should fail" do
- expect { subject.call [input] }.to raise_error Puppet::ParseError
- end
- end
- end
-
- describe 'Valid inputs' do
- inputs = [
- [ "root:x:0:0:root:/root:/bin/bash\n", 'Passwd.lns' ],
- [ "proc /proc proc nodev,noexec,nosuid 0 0\n", 'Fstab.lns'],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should not fail" do
- expect { subject.call input }.not_to raise_error
- end
- end
- end
-
- describe "Valid inputs which should raise an exception without a message" do
- # The intent here is to make sure valid inputs raise exceptions when they
- # don't specify an error message to display. This is the behvior in
- # 2.2.x and prior.
- inputs = [
- [ "root:x:0:0:root\n", 'Passwd.lns' ],
- [ "127.0.1.1\n", 'Hosts.lns' ],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should fail" do
- expect { subject.call input }.to raise_error /validate_augeas.*?matched less than it should/
- end
- end
- end
-
- describe "Nicer Error Messages" do
- # The intent here is to make sure the function returns the 3rd argument
- # in the exception thrown
- inputs = [
- [ "root:x:0:0:root\n", 'Passwd.lns', [], 'Failed to validate passwd content' ],
- [ "127.0.1.1\n", 'Hosts.lns', [], 'Wrong hosts content' ],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should fail" do
- expect { subject.call input }.to raise_error /#{input[2]}/
- end
- end
- end
-
- describe "Passing simple unit tests" do
- inputs = [
- [ "root:x:0:0:root:/root:/bin/bash\n", 'Passwd.lns', ['$file/foobar']],
- [ "root:x:0:0:root:/root:/bin/bash\n", 'Passwd.lns', ['$file/root/shell[.="/bin/sh"]', 'foobar']],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should fail" do
- expect { subject.call input }.not_to raise_error
- end
- end
- end
-
- describe "Failing simple unit tests" do
- inputs = [
- [ "foobar:x:0:0:root:/root:/bin/bash\n", 'Passwd.lns', ['$file/foobar']],
- [ "root:x:0:0:root:/root:/bin/sh\n", 'Passwd.lns', ['$file/root/shell[.="/bin/sh"]', 'foobar']],
- ]
-
- inputs.each do |input|
- it "validate_augeas(#{input.inspect}) should fail" do
- expect { subject.call input }.to raise_error /testing path/
- end
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_bool_spec.rb b/modules/stdlib/spec/functions/validate_bool_spec.rb
deleted file mode 100755
index a352d3b..0000000
--- a/modules/stdlib/spec/functions/validate_bool_spec.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_bool) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
- describe 'when calling validate_bool from puppet' do
-
- %w{ true false }.each do |the_string|
-
- it "should not compile when #{the_string} is a string" do
- Puppet[:code] = "validate_bool('#{the_string}')"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a boolean/)
- end
-
- it "should compile when #{the_string} is a bare word" do
- Puppet[:code] = "validate_bool(#{the_string})"
- scope.compiler.compile
- end
-
- end
-
- it "should not compile when an arbitrary string is passed" do
- Puppet[:code] = 'validate_bool("jeff and dan are awesome")'
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a boolean/)
- end
-
- it "should not compile when no arguments are passed" do
- Puppet[:code] = 'validate_bool()'
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
-
- it "should compile when multiple boolean arguments are passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = true
- $bar = false
- validate_bool($foo, $bar, true, false)
- ENDofPUPPETcode
- scope.compiler.compile
- end
-
- it "should compile when multiple boolean arguments are passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = true
- $bar = false
- validate_bool($foo, $bar, true, false, 'jeff')
- ENDofPUPPETcode
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a boolean/)
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_cmd_spec.rb b/modules/stdlib/spec/functions/validate_cmd_spec.rb
deleted file mode 100755
index a6e68df..0000000
--- a/modules/stdlib/spec/functions/validate_cmd_spec.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-TESTEXE = File.exists?('/usr/bin/test') ? '/usr/bin/test' : '/bin/test'
-TOUCHEXE = File.exists?('/usr/bin/touch') ? '/usr/bin/touch' : '/bin/touch'
-
-describe Puppet::Parser::Functions.function(:validate_cmd) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- subject do
- function_name = Puppet::Parser::Functions.function(:validate_cmd)
- scope.method(function_name)
- end
-
- describe "with an explicit failure message" do
- it "prints the failure message on error" do
- expect {
- subject.call ['', '/bin/false', 'failure message!']
- }.to raise_error Puppet::ParseError, /failure message!/
- end
- end
-
- describe "on validation failure" do
- it "includes the command error output" do
- expect {
- subject.call ['', "#{TOUCHEXE} /cant/touch/this"]
- }.to raise_error Puppet::ParseError, /(cannot touch|o such file or)/
- end
-
- it "includes the command return value" do
- expect {
- subject.call ['', '/cant/run/this']
- }.to raise_error Puppet::ParseError, /returned 1\b/
- end
- end
-
- describe "when performing actual validation" do
- it "can positively validate file content" do
- expect { subject.call ["non-empty", "#{TESTEXE} -s"] }.to_not raise_error
- end
-
- it "can negatively validate file content" do
- expect {
- subject.call ["", "#{TESTEXE} -s"]
- }.to raise_error Puppet::ParseError, /failed to validate.*test -s/
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_hash_spec.rb b/modules/stdlib/spec/functions/validate_hash_spec.rb
deleted file mode 100755
index a0c35c2..0000000
--- a/modules/stdlib/spec/functions/validate_hash_spec.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_hash) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe 'when calling validate_hash from puppet' do
-
- %w{ true false }.each do |the_string|
-
- it "should not compile when #{the_string} is a string" do
- Puppet[:code] = "validate_hash('#{the_string}')"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a Hash/)
- end
-
- it "should not compile when #{the_string} is a bare word" do
- Puppet[:code] = "validate_hash(#{the_string})"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a Hash/)
- end
-
- end
-
- it "should compile when multiple hash arguments are passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = {}
- $bar = { 'one' => 'two' }
- validate_hash($foo, $bar)
- ENDofPUPPETcode
- scope.compiler.compile
- end
-
- it "should not compile when an undef variable is passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = undef
- validate_hash($foo)
- ENDofPUPPETcode
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a Hash/)
- end
-
- end
-
-end
diff --git a/modules/stdlib/spec/functions/validate_ipv4_address_spec.rb b/modules/stdlib/spec/functions/validate_ipv4_address_spec.rb
deleted file mode 100755
index 45401a4..0000000
--- a/modules/stdlib/spec/functions/validate_ipv4_address_spec.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require "spec_helper"
-
-describe Puppet::Parser::Functions.function(:validate_ipv4_address) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe "when calling validate_ipv4_address from puppet" do
- describe "when given IPv4 address strings" do
- it "should compile with one argument" do
- Puppet[:code] = "validate_ipv4_address('1.2.3.4')"
- scope.compiler.compile
- end
-
- it "should compile with multiple arguments" do
- Puppet[:code] = "validate_ipv4_address('1.2.3.4', '5.6.7.8')"
- scope.compiler.compile
- end
- end
-
- describe "when given an IPv6 address" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv4_address('3ffe:505')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /not a valid IPv4 address/)
- end
- end
-
- describe "when given other strings" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv4_address('hello', 'world')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /not a valid IPv4 address/)
- end
- end
-
- describe "when given numbers" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv4_address(1, 2)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /is not a valid IPv4 address/)
- end
- end
-
- describe "when given booleans" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv4_address(true, false)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /is not a string/)
- end
- end
-
- it "should not compile when no arguments are passed" do
- Puppet[:code] = "validate_ipv4_address()"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_ipv6_address_spec.rb b/modules/stdlib/spec/functions/validate_ipv6_address_spec.rb
deleted file mode 100755
index a839d90..0000000
--- a/modules/stdlib/spec/functions/validate_ipv6_address_spec.rb
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require "spec_helper"
-
-describe Puppet::Parser::Functions.function(:validate_ipv6_address) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe "when calling validate_ipv6_address from puppet" do
- describe "when given IPv6 address strings" do
- it "should compile with one argument" do
- Puppet[:code] = "validate_ipv6_address('3ffe:0505:0002::')"
- scope.compiler.compile
- end
-
- it "should compile with multiple arguments" do
- Puppet[:code] = "validate_ipv6_address('3ffe:0505:0002::', '3ffe:0505:0001::')"
- scope.compiler.compile
- end
- end
-
- describe "when given an ipv4 address" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv6_address('1.2.3.4')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /not a valid IPv6 address/)
- end
- end
-
- describe "when given other strings" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv6_address('hello', 'world')"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /not a valid IPv6 address/)
- end
- end
-
- # 1.8.7 is EOL'd and also absolutely insane about ipv6
- unless RUBY_VERSION == '1.8.7'
- describe "when given numbers" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv6_address(1, 2)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /not a valid IPv6 address/)
- end
- end
- end
-
- describe "when given booleans" do
- it "should not compile" do
- Puppet[:code] = "validate_ipv6_address(true, false)"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /is not a string/)
- end
- end
-
- it "should not compile when no arguments are passed" do
- Puppet[:code] = "validate_ipv6_address()"
- expect {
- scope.compiler.compile
- }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_re_spec.rb b/modules/stdlib/spec/functions/validate_re_spec.rb
deleted file mode 100755
index d29988b..0000000
--- a/modules/stdlib/spec/functions/validate_re_spec.rb
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_re) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- # The subject of these examplres is the method itself.
- subject do
- # This makes sure the function is loaded within each test
- function_name = Puppet::Parser::Functions.function(:validate_re)
- scope.method(function_name)
- end
-
- context 'Using Puppet::Parser::Scope.new' do
-
- describe 'Garbage inputs' do
- inputs = [
- [ nil ],
- [ [ nil ] ],
- [ { 'foo' => 'bar' } ],
- [ { } ],
- [ '' ],
- [ "one", "one", "MSG to User", "4th arg" ],
- ]
-
- inputs.each do |input|
- it "validate_re(#{input.inspect}) should fail" do
- expect { subject.call [input] }.to raise_error Puppet::ParseError
- end
- end
- end
-
- describe 'Valid inputs' do
- inputs = [
- [ '/full/path/to/something', '^/full' ],
- [ '/full/path/to/something', 'full' ],
- [ '/full/path/to/something', ['full', 'absent'] ],
- [ '/full/path/to/something', ['full', 'absent'], 'Message to the user' ],
- ]
-
- inputs.each do |input|
- it "validate_re(#{input.inspect}) should not fail" do
- expect { subject.call input }.not_to raise_error
- end
- end
- end
- describe "Valid inputs which should raise an exception without a message" do
- # The intent here is to make sure valid inputs raise exceptions when they
- # don't specify an error message to display. This is the behvior in
- # 2.2.x and prior.
- inputs = [
- [ "hello", [ "bye", "later", "adios" ] ],
- [ "greetings", "salutations" ],
- ]
-
- inputs.each do |input|
- it "validate_re(#{input.inspect}) should fail" do
- expect { subject.call input }.to raise_error /validate_re.*?does not match/
- end
- end
- end
- describe "Nicer Error Messages" do
- # The intent here is to make sure the function returns the 3rd argument
- # in the exception thrown
- inputs = [
- [ "hello", [ "bye", "later", "adios" ], "MSG to User" ],
- [ "greetings", "salutations", "Error, greetings does not match salutations" ],
- ]
-
- inputs.each do |input|
- it "validate_re(#{input.inspect}) should fail" do
- expect { subject.call input }.to raise_error /#{input[2]}/
- end
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_slength_spec.rb b/modules/stdlib/spec/functions/validate_slength_spec.rb
deleted file mode 100755
index 851835f..0000000
--- a/modules/stdlib/spec/functions/validate_slength_spec.rb
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe "the validate_slength function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("validate_slength").should == "function_validate_slength"
- end
-
- describe "validating the input argument types" do
- it "raises an error if there are less than two arguments" do
- expect { scope.function_validate_slength([]) }.to raise_error Puppet::ParseError, /Wrong number of arguments/
- end
-
- it "raises an error if there are more than three arguments" do
- expect { scope.function_validate_slength(['input', 1, 2, 3]) }.to raise_error Puppet::ParseError, /Wrong number of arguments/
- end
-
- it "raises an error if the first argument is not a string" do
- expect { scope.function_validate_slength([Object.new, 2, 1]) }.to raise_error Puppet::ParseError, /Expected first argument.*got .*Object/
- end
-
- it "raises an error if the second argument cannot be cast to an Integer" do
- expect { scope.function_validate_slength(['input', Object.new]) }.to raise_error Puppet::ParseError, /Expected second argument.*got .*Object/
- end
-
- it "raises an error if the third argument cannot be cast to an Integer" do
- expect { scope.function_validate_slength(['input', 1, Object.new]) }.to raise_error Puppet::ParseError, /Expected third argument.*got .*Object/
- end
-
- it "raises an error if the second argument is smaller than the third argument" do
- expect { scope.function_validate_slength(['input', 1, 2]) }.to raise_error Puppet::ParseError, /Expected second argument to be larger than third argument/
- end
- end
-
- describe "validating the input string length" do
- describe "when the input is a string" do
- it "fails validation if the string is larger than the max length" do
- expect { scope.function_validate_slength(['input', 1]) }.to raise_error Puppet::ParseError, /Expected length .* between 0 and 1, was 5/
- end
-
- it "fails validation if the string is less than the min length" do
- expect { scope.function_validate_slength(['input', 10, 6]) }.to raise_error Puppet::ParseError, /Expected length .* between 6 and 10, was 5/
- end
-
- it "doesn't raise an error if the string is under the max length" do
- scope.function_validate_slength(['input', 10])
- end
-
- it "doesn't raise an error if the string is equal to the max length" do
- scope.function_validate_slength(['input', 5])
- end
-
- it "doesn't raise an error if the string is equal to the min length" do
- scope.function_validate_slength(['input', 10, 5])
- end
- end
-
- describe "when the input is an array" do
- it "fails validation if one of the array elements is not a string" do
- expect { scope.function_validate_slength([["a", "b", Object.new], 2]) }.to raise_error Puppet::ParseError, /Expected element at array position 2 .*String, got .*Object/
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/validate_string_spec.rb b/modules/stdlib/spec/functions/validate_string_spec.rb
deleted file mode 100755
index 3b4fb3e..0000000
--- a/modules/stdlib/spec/functions/validate_string_spec.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-require 'spec_helper'
-
-describe Puppet::Parser::Functions.function(:validate_string) do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- describe 'when calling validate_string from puppet' do
-
- %w{ foo bar baz }.each do |the_string|
-
- it "should compile when #{the_string} is a string" do
- Puppet[:code] = "validate_string('#{the_string}')"
- scope.compiler.compile
- end
-
- it "should compile when #{the_string} is a bare word" do
- Puppet[:code] = "validate_string(#{the_string})"
- scope.compiler.compile
- end
-
- end
-
- %w{ true false }.each do |the_string|
- it "should compile when #{the_string} is a string" do
- Puppet[:code] = "validate_string('#{the_string}')"
- scope.compiler.compile
- end
-
- it "should not compile when #{the_string} is a bare word" do
- Puppet[:code] = "validate_string(#{the_string})"
- expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /is not a string/)
- end
- end
-
- it "should compile when multiple string arguments are passed" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = ''
- $bar = 'two'
- validate_string($foo, $bar)
- ENDofPUPPETcode
- scope.compiler.compile
- end
-
- it "should compile when an explicitly undef variable is passed (NOTE THIS MAY NOT BE DESIRABLE)" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- $foo = undef
- validate_string($foo)
- ENDofPUPPETcode
- scope.compiler.compile
- end
-
- it "should compile when an undefined variable is passed (NOTE THIS MAY NOT BE DESIRABLE)" do
- Puppet[:code] = <<-'ENDofPUPPETcode'
- validate_string($foobarbazishouldnotexist)
- ENDofPUPPETcode
- scope.compiler.compile
- end
- end
-end
diff --git a/modules/stdlib/spec/functions/values_at_spec.rb b/modules/stdlib/spec/functions/values_at_spec.rb
deleted file mode 100755
index 08e95a5..0000000
--- a/modules/stdlib/spec/functions/values_at_spec.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the values_at function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("values_at").should == "function_values_at"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_values_at([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should raise a ParseError if you try to use a range where stop is greater then start" do
- lambda { scope.function_values_at([['a','b'],["3-1"]]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return a value at from an array" do
- result = scope.function_values_at([['a','b','c'],"1"])
- result.should(eq(['b']))
- end
-
- it "should return a value at from an array when passed a range" do
- result = scope.function_values_at([['a','b','c'],"0-1"])
- result.should(eq(['a','b']))
- end
-
- it "should return chosen values from an array when passed number of indexes" do
- result = scope.function_values_at([['a','b','c'],["0","2"]])
- result.should(eq(['a','c']))
- end
-
- it "should return chosen values from an array when passed ranges and multiple indexes" do
- result = scope.function_values_at([['a','b','c','d','e','f','g'],["0","2","4-5"]])
- result.should(eq(['a','c','e','f']))
- end
-end
diff --git a/modules/stdlib/spec/functions/values_spec.rb b/modules/stdlib/spec/functions/values_spec.rb
deleted file mode 100755
index 14ae417..0000000
--- a/modules/stdlib/spec/functions/values_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the values function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should exist" do
- Puppet::Parser::Functions.function("values").should == "function_values"
- end
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_values([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should return values from a hash" do
- result = scope.function_values([{'a'=>'1','b'=>'2','c'=>'3'}])
- # =~ is the RSpec::Matchers::MatchArray matcher.
- # A.K.A. "array with same elements" (multiset) matching
- result.should =~ %w{ 1 2 3 }
- end
-
- it "should return a multiset" do
- result = scope.function_values([{'a'=>'1','b'=>'3','c'=>'3'}])
- result.should =~ %w{ 1 3 3 }
- result.should_not =~ %w{ 1 3 }
- end
-
- it "should raise a ParseError unless a Hash is provided" do
- lambda { scope.function_values([['a','b','c']]) }.should( raise_error(Puppet::ParseError))
- end
-end
diff --git a/modules/stdlib/spec/functions/zip_spec.rb b/modules/stdlib/spec/functions/zip_spec.rb
deleted file mode 100755
index f45ab17..0000000
--- a/modules/stdlib/spec/functions/zip_spec.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-describe "the zip function" do
- let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
-
- it "should raise a ParseError if there is less than 1 arguments" do
- lambda { scope.function_zip([]) }.should( raise_error(Puppet::ParseError))
- end
-
- it "should be able to zip an array" do
- result = scope.function_zip([['1','2','3'],['4','5','6']])
- result.should(eq([["1", "4"], ["2", "5"], ["3", "6"]]))
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/compiler.rb b/modules/stdlib/spec/lib/puppet_spec/compiler.rb
deleted file mode 100755
index 2f0ae4d..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/compiler.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-module PuppetSpec::Compiler
- def compile_to_catalog(string, node = Puppet::Node.new('foonode'))
- Puppet[:code] = string
- Puppet::Parser::Compiler.compile(node)
- end
-
- def compile_to_ral(manifest)
- catalog = compile_to_catalog(manifest)
- ral = catalog.to_ral
- ral.finalize
- ral
- end
-
- def compile_to_relationship_graph(manifest, prioritizer = Puppet::Graph::SequentialPrioritizer.new)
- ral = compile_to_ral(manifest)
- graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
- graph.populate_from(ral)
- graph
- end
-
- if Puppet.version.to_f >= 3.3
- def apply_compiled_manifest(manifest, prioritizer = Puppet::Graph::SequentialPrioritizer.new)
- transaction = Puppet::Transaction.new(compile_to_ral(manifest),
- Puppet::Transaction::Report.new("apply"),
- prioritizer)
- transaction.evaluate
- transaction.report.finalize_report
-
- transaction
- end
- else
- def apply_compiled_manifest(manifest)
- transaction = Puppet::Transaction.new(compile_to_ral(manifest), Puppet::Transaction::Report.new("apply"))
- transaction.evaluate
- transaction.report.finalize_report
-
- transaction
- end
- end
-
- def order_resources_traversed_in(relationships)
- order_seen = []
- relationships.traverse { |resource| order_seen << resource.ref }
- order_seen
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/database.rb b/modules/stdlib/spec/lib/puppet_spec/database.rb
deleted file mode 100755
index f5c2341..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/database.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-# This just makes some nice things available at global scope, and for setup of
-# tests to use a real fake database, rather than a fake stubs-that-don't-work
-# version of the same. Fun times.
-def sqlite?
- if $sqlite.nil?
- begin
- require 'sqlite3'
- $sqlite = true
- rescue LoadError
- $sqlite = false
- end
- end
- $sqlite
-end
-
-def can_use_scratch_database?
- sqlite? and Puppet.features.rails?
-end
-
-
-# This is expected to be called in your `before :each` block, and will get you
-# ready to roll with a serious database and all. Cleanup is handled
-# automatically for you. Nothing to do there.
-def setup_scratch_database
- Puppet[:dbadapter] = 'sqlite3'
- Puppet[:dblocation] = ':memory:'
- Puppet[:railslog] = PuppetSpec::Files.tmpfile('storeconfigs.log')
- Puppet::Rails.init
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/files.rb b/modules/stdlib/spec/lib/puppet_spec/files.rb
deleted file mode 100755
index 71b38ff..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/files.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'fileutils'
-require 'tempfile'
-require 'tmpdir'
-require 'pathname'
-
-# A support module for testing files.
-module PuppetSpec::Files
- def self.cleanup
- $global_tempfiles ||= []
- while path = $global_tempfiles.pop do
- begin
- Dir.unstub(:entries)
- FileUtils.rm_rf path, :secure => true
- rescue Errno::ENOENT
- # nothing to do
- end
- end
- end
-
- def make_absolute(path) PuppetSpec::Files.make_absolute(path) end
- def self.make_absolute(path)
- path = File.expand_path(path)
- path[0] = 'c' if Puppet.features.microsoft_windows?
- path
- end
-
- def tmpfile(name, dir = nil) PuppetSpec::Files.tmpfile(name, dir) end
- def self.tmpfile(name, dir = nil)
- # Generate a temporary file, just for the name...
- source = dir ? Tempfile.new(name, dir) : Tempfile.new(name)
- path = source.path
- source.close!
-
- record_tmp(File.expand_path(path))
-
- path
- end
-
- def file_containing(name, contents) PuppetSpec::Files.file_containing(name, contents) end
- def self.file_containing(name, contents)
- file = tmpfile(name)
- File.open(file, 'wb') { |f| f.write(contents) }
- file
- end
-
- def tmpdir(name) PuppetSpec::Files.tmpdir(name) end
- def self.tmpdir(name)
- dir = Dir.mktmpdir(name)
-
- record_tmp(dir)
-
- dir
- end
-
- def self.record_tmp(tmp)
- # ...record it for cleanup,
- $global_tempfiles ||= []
- $global_tempfiles << tmp
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/fixtures.rb b/modules/stdlib/spec/lib/puppet_spec/fixtures.rb
deleted file mode 100755
index 81e9775..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/fixtures.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-module PuppetSpec::Fixtures
- def fixtures(*rest)
- File.join(PuppetSpec::FIXTURE_DIR, *rest)
- end
- def my_fixture_dir
- callers = caller
- while line = callers.shift do
- next unless found = line.match(%r{/spec/(.*)_spec\.rb:})
- return fixtures(found[1])
- end
- fail "sorry, I couldn't work out your path from the caller stack!"
- end
- def my_fixture(name)
- file = File.join(my_fixture_dir, name)
- unless File.readable? file then
- fail Puppet::DevError, "fixture '#{name}' for #{my_fixture_dir} is not readable"
- end
- return file
- end
- def my_fixtures(glob = '*', flags = 0)
- files = Dir.glob(File.join(my_fixture_dir, glob), flags)
- unless files.length > 0 then
- fail Puppet::DevError, "fixture '#{glob}' for #{my_fixture_dir} had no files!"
- end
- block_given? and files.each do |file| yield file end
- files
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/matchers.rb b/modules/stdlib/spec/lib/puppet_spec/matchers.rb
deleted file mode 100755
index 093d77c..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/matchers.rb
+++ /dev/null
@@ -1,121 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'stringio'
-
-########################################################################
-# Backward compatibility for Jenkins outdated environment.
-module RSpec
- module Matchers
- module BlockAliases
- alias_method :to, :should unless method_defined? :to
- alias_method :to_not, :should_not unless method_defined? :to_not
- alias_method :not_to, :should_not unless method_defined? :not_to
- end
- end
-end
-
-
-########################################################################
-# Custom matchers...
-RSpec::Matchers.define :have_matching_element do |expected|
- match do |actual|
- actual.any? { |item| item =~ expected }
- end
-end
-
-
-RSpec::Matchers.define :exit_with do |expected|
- actual = nil
- match do |block|
- begin
- block.call
- rescue SystemExit => e
- actual = e.status
- end
- actual and actual == expected
- end
- failure_message_for_should do |block|
- "expected exit with code #{expected} but " +
- (actual.nil? ? " exit was not called" : "we exited with #{actual} instead")
- end
- failure_message_for_should_not do |block|
- "expected that exit would not be called with #{expected}"
- end
- description do
- "expect exit with #{expected}"
- end
-end
-
-class HavePrintedMatcher
- attr_accessor :expected, :actual
-
- def initialize(expected)
- case expected
- when String, Regexp
- @expected = expected
- else
- @expected = expected.to_s
- end
- end
-
- def matches?(block)
- begin
- $stderr = $stdout = StringIO.new
- $stdout.set_encoding('UTF-8') if $stdout.respond_to?(:set_encoding)
- block.call
- $stdout.rewind
- @actual = $stdout.read
- ensure
- $stdout = STDOUT
- $stderr = STDERR
- end
-
- if @actual then
- case @expected
- when String
- @actual.include? @expected
- when Regexp
- @expected.match @actual
- end
- else
- false
- end
- end
-
- def failure_message_for_should
- if @actual.nil? then
- "expected #{@expected.inspect}, but nothing was printed"
- else
- "expected #{@expected.inspect} to be printed; got:\n#{@actual}"
- end
- end
-
- def failure_message_for_should_not
- "expected #{@expected.inspect} to not be printed; got:\n#{@actual}"
- end
-
- def description
- "expect #{@expected.inspect} to be printed"
- end
-end
-
-def have_printed(what)
- HavePrintedMatcher.new(what)
-end
-
-RSpec::Matchers.define :equal_attributes_of do |expected|
- match do |actual|
- actual.instance_variables.all? do |attr|
- actual.instance_variable_get(attr) == expected.instance_variable_get(attr)
- end
- end
-end
-
-RSpec::Matchers.define :be_one_of do |*expected|
- match do |actual|
- expected.include? actual
- end
-
- failure_message_for_should do |actual|
- "expected #{actual.inspect} to be one of #{expected.map(&:inspect).join(' or ')}"
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/modules.rb b/modules/stdlib/spec/lib/puppet_spec/modules.rb
deleted file mode 100755
index 910c6d9..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/modules.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-module PuppetSpec::Modules
- class << self
- def create(name, dir, options = {})
- module_dir = File.join(dir, name)
- FileUtils.mkdir_p(module_dir)
-
- environment = options[:environment]
-
- if metadata = options[:metadata]
- metadata[:source] ||= 'github'
- metadata[:author] ||= 'puppetlabs'
- metadata[:version] ||= '9.9.9'
- metadata[:license] ||= 'to kill'
- metadata[:dependencies] ||= []
-
- metadata[:name] = "#{metadata[:author]}/#{name}"
-
- File.open(File.join(module_dir, 'metadata.json'), 'w') do |f|
- f.write(metadata.to_pson)
- end
- end
-
- Puppet::Module.new(name, module_dir, environment)
- end
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/pops.rb b/modules/stdlib/spec/lib/puppet_spec/pops.rb
deleted file mode 100755
index e056a52..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/pops.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-module PuppetSpec::Pops
- extend RSpec::Matchers::DSL
-
- # Checks if an Acceptor has a specific issue in its list of diagnostics
- matcher :have_issue do |expected|
- match do |actual|
- actual.diagnostics.index { |i| i.issue == expected } != nil
- end
- failure_message_for_should do |actual|
- "expected Acceptor[#{actual.diagnostics.collect { |i| i.issue.issue_code }.join(',')}] to contain issue #{expected.issue_code}"
- end
- failure_message_for_should_not do |actual|
- "expected Acceptor[#{actual.diagnostics.collect { |i| i.issue.issue_code }.join(',')}] to not contain issue #{expected.issue_code}"
- end
- end
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/scope.rb b/modules/stdlib/spec/lib/puppet_spec/scope.rb
deleted file mode 100755
index 3847ede..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/scope.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-
-module PuppetSpec::Scope
- # Initialize a new scope suitable for testing.
- #
- def create_test_scope_for_node(node_name)
- node = Puppet::Node.new(node_name)
- compiler = Puppet::Parser::Compiler.new(node)
- scope = Puppet::Parser::Scope.new(compiler)
- scope.source = Puppet::Resource::Type.new(:node, node_name)
- scope.parent = compiler.topscope
- scope
- end
-
-end
\ No newline at end of file
diff --git a/modules/stdlib/spec/lib/puppet_spec/settings.rb b/modules/stdlib/spec/lib/puppet_spec/settings.rb
deleted file mode 100755
index 8ddcb97..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/settings.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-module PuppetSpec::Settings
-
- # It would probably be preferable to refactor defaults.rb such that the real definitions of
- # these settings were available as a variable, which was then accessible for use during tests.
- # However, I'm not doing that yet because I don't want to introduce any additional moving parts
- # to this already very large changeset.
- # Would be nice to clean this up later. --cprice 2012-03-20
- TEST_APP_DEFAULT_DEFINITIONS = {
- :name => { :default => "test", :desc => "name" },
- :logdir => { :type => :directory, :default => "test", :desc => "logdir" },
- :confdir => { :type => :directory, :default => "test", :desc => "confdir" },
- :vardir => { :type => :directory, :default => "test", :desc => "vardir" },
- :rundir => { :type => :directory, :default => "test", :desc => "rundir" },
- }
-end
diff --git a/modules/stdlib/spec/lib/puppet_spec/verbose.rb b/modules/stdlib/spec/lib/puppet_spec/verbose.rb
deleted file mode 100755
index b2683df..0000000
--- a/modules/stdlib/spec/lib/puppet_spec/verbose.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-# Support code for running stuff with warnings disabled.
-module Kernel
- def with_verbose_disabled
- verbose, $VERBOSE = $VERBOSE, nil
- result = yield
- $VERBOSE = verbose
- return result
- end
-end
diff --git a/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb b/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb
deleted file mode 100755
index 505e240..0000000
--- a/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'rspec'
-
-class Object
- # This is necessary because the RAL has a 'should'
- # method.
- alias :must :should
- alias :must_not :should_not
-end
diff --git a/modules/stdlib/spec/monkey_patches/publicize_methods.rb b/modules/stdlib/spec/monkey_patches/publicize_methods.rb
deleted file mode 100755
index 3ae59f9..0000000
--- a/modules/stdlib/spec/monkey_patches/publicize_methods.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-# Some monkey-patching to allow us to test private methods.
-class Class
- def publicize_methods(*methods)
- saved_private_instance_methods = methods.empty? ? self.private_instance_methods : methods
-
- self.class_eval { public(*saved_private_instance_methods) }
- yield
- self.class_eval { private(*saved_private_instance_methods) }
- end
-end
diff --git a/modules/stdlib/spec/spec.opts b/modules/stdlib/spec/spec.opts
deleted file mode 100644
index 91cd642..0000000
--- a/modules/stdlib/spec/spec.opts
+++ /dev/null
@@ -1,6 +0,0 @@
---format
-s
---colour
---loadby
-mtime
---backtrace
diff --git a/modules/stdlib/spec/spec_helper.rb b/modules/stdlib/spec/spec_helper.rb
deleted file mode 100755
index 78925fd..0000000
--- a/modules/stdlib/spec/spec_helper.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-dir = File.expand_path(File.dirname(__FILE__))
-$LOAD_PATH.unshift File.join(dir, 'lib')
-
-# So everyone else doesn't have to include this base constant.
-module PuppetSpec
- FIXTURE_DIR = File.join(dir = File.expand_path(File.dirname(__FILE__)), "fixtures") unless defined?(FIXTURE_DIR)
-end
-
-require 'puppet'
-require 'rspec-puppet'
-require 'simplecov'
-require 'puppetlabs_spec_helper/module_spec_helper'
-require 'puppet_spec/verbose'
-require 'puppet_spec/files'
-require 'puppet_spec/settings'
-require 'puppet_spec/fixtures'
-require 'puppet_spec/matchers'
-require 'puppet_spec/database'
-require 'monkey_patches/alias_should_to_must'
-require 'mocha/setup'
-
-
-SimpleCov.start do
- add_filter "/spec/"
-end
-
-
-RSpec.configure do |config|
- config.before :each do
- # Ensure that we don't accidentally cache facts and environment between
- # test cases. This requires each example group to explicitly load the
- # facts being exercised with something like
- # Facter.collection.loader.load(:ipaddress)
- Facter::Util::Loader.any_instance.stubs(:load_all)
- Facter.clear
- Facter.clear_messages
- end
-end
diff --git a/modules/stdlib/spec/spec_helper_acceptance.rb b/modules/stdlib/spec/spec_helper_acceptance.rb
deleted file mode 100755
index 8e56daa..0000000
--- a/modules/stdlib/spec/spec_helper_acceptance.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'beaker-rspec'
-
-UNSUPPORTED_PLATFORMS = []
-
-unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
- if hosts.first.is_pe?
- install_pe
- on hosts, 'mkdir -p /etc/puppetlabs/facter/facts.d'
- else
- install_puppet
- on hosts, 'mkdir -p /etc/facter/facts.d'
- on hosts, '/bin/touch /etc/puppet/hiera.yaml'
- end
- hosts.each do |host|
- on host, "mkdir -p #{host['distmoduledir']}"
- end
-end
-
-RSpec.configure do |c|
- # Project root
- proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
- # Readable test descriptions
- c.formatter = :documentation
-
- # Configure all nodes in nodeset
- c.before :suite do
- puppet_module_install(:source => proj_root, :module_name => 'stdlib')
- end
-end
diff --git a/modules/stdlib/spec/unit/facter/facter_dot_d_spec.rb b/modules/stdlib/spec/unit/facter/facter_dot_d_spec.rb
deleted file mode 100755
index 2fb72b2..0000000
--- a/modules/stdlib/spec/unit/facter/facter_dot_d_spec.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'facter/facter_dot_d'
-
-describe Facter::Util::DotD do
-
- context 'returns a simple fact' do
- before :each do
- Facter.stubs(:version).returns('1.6.1')
- subject.stubs(:entries).returns(['/etc/facter/facts.d/fake_fact.txt'])
- File.stubs(:readlines).with('/etc/facter/facts.d/fake_fact.txt').returns(['fake_fact=fake fact'])
- subject.create
- end
-
- it 'should return successfully' do
- Facter.fact(:fake_fact).value.should == 'fake fact'
- end
- end
-
- context 'returns a fact with equals signs' do
- before :each do
- Facter.stubs(:version).returns('1.6.1')
- subject.stubs(:entries).returns(['/etc/facter/facts.d/foo.txt'])
- File.stubs(:readlines).with('/etc/facter/facts.d/foo.txt').returns(['foo=1+1=2'])
- subject.create
- end
-
- it 'should return successfully' do
- Facter.fact(:foo).value.should == '1+1=2'
- end
- end
-end
diff --git a/modules/stdlib/spec/unit/facter/pe_version_spec.rb b/modules/stdlib/spec/unit/facter/pe_version_spec.rb
deleted file mode 100755
index 931c6d4..0000000
--- a/modules/stdlib/spec/unit/facter/pe_version_spec.rb
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env rspec
-
-require 'spec_helper'
-
-describe "PE Version specs" do
- before :each do
- # Explicitly load the pe_version.rb file which contains generated facts
- # that cannot be automatically loaded. Puppet 2.x implements
- # Facter.collection.load while Facter 1.x markes Facter.collection.load as
- # a private method.
- if Facter.collection.respond_to? :load
- Facter.collection.load(:pe_version)
- else
- Facter.collection.loader.load(:pe_version)
- end
- end
-
- context "If PE is installed" do
- %w{ 2.6.1 2.10.300 }.each do |version|
- puppetversion = "2.7.19 (Puppet Enterprise #{version})"
- context "puppetversion => #{puppetversion}" do
- before :each do
- Facter.fact(:puppetversion).stubs(:value).returns(puppetversion)
- end
-
- (major,minor,patch) = version.split(".")
-
- it "Should return true" do
- Facter.fact(:is_pe).value.should == true
- end
-
- it "Should have a version of #{version}" do
- Facter.fact(:pe_version).value.should == version
- end
-
- it "Should have a major version of #{major}" do
- Facter.fact(:pe_major_version).value.should == major
- end
-
- it "Should have a minor version of #{minor}" do
- Facter.fact(:pe_minor_version).value.should == minor
- end
-
- it "Should have a patch version of #{patch}" do
- Facter.fact(:pe_patch_version).value.should == patch
- end
- end
- end
- end
-
- context "When PE is not installed" do
- before :each do
- Facter.fact(:puppetversion).stubs(:value).returns("2.7.19")
- end
-
- it "is_pe is false" do
- Facter.fact(:is_pe).value.should == false
- end
-
- it "pe_version is nil" do
- Facter.fact(:pe_version).value.should be_nil
- end
-
- it "pe_major_version is nil" do
- Facter.fact(:pe_major_version).value.should be_nil
- end
-
- it "pe_minor_version is nil" do
- Facter.fact(:pe_minor_version).value.should be_nil
- end
-
- it "Should have a patch version" do
- Facter.fact(:pe_patch_version).value.should be_nil
- end
- end
-end
diff --git a/modules/stdlib/spec/unit/facter/root_home_spec.rb b/modules/stdlib/spec/unit/facter/root_home_spec.rb
deleted file mode 100755
index 73eb3ea..0000000
--- a/modules/stdlib/spec/unit/facter/root_home_spec.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'facter/root_home'
-
-describe Facter::Util::RootHome do
- context "solaris" do
- let(:root_ent) { "root:x:0:0:Super-User:/:/sbin/sh" }
- let(:expected_root_home) { "/" }
-
- it "should return /" do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(root_ent)
- Facter::Util::RootHome.get_root_home.should == expected_root_home
- end
- end
- context "linux" do
- let(:root_ent) { "root:x:0:0:root:/root:/bin/bash" }
- let(:expected_root_home) { "/root" }
-
- it "should return /root" do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(root_ent)
- Facter::Util::RootHome.get_root_home.should == expected_root_home
- end
- end
- context "windows" do
- before :each do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(nil)
- end
- it "should be nil on windows" do
- Facter::Util::RootHome.get_root_home.should be_nil
- end
- end
-end
-
-describe 'root_home', :type => :fact do
- before { Facter.clear }
- after { Facter.clear }
-
- context "macosx" do
- before do
- Facter.fact(:kernel).stubs(:value).returns("Darwin")
- Facter.fact(:osfamily).stubs(:value).returns("Darwin")
- end
- let(:expected_root_home) { "/var/root" }
- sample_dscacheutil = File.read(fixtures('dscacheutil','root'))
-
- it "should return /var/root" do
- Facter::Util::Resolution.stubs(:exec).with("dscacheutil -q user -a name root").returns(sample_dscacheutil)
- Facter.fact(:root_home).value.should == expected_root_home
- end
- end
-
-end
diff --git a/modules/stdlib/spec/unit/facter/util/puppet_settings_spec.rb b/modules/stdlib/spec/unit/facter/util/puppet_settings_spec.rb
deleted file mode 100755
index e77779b..0000000
--- a/modules/stdlib/spec/unit/facter/util/puppet_settings_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'facter/util/puppet_settings'
-
-describe Facter::Util::PuppetSettings do
-
- describe "#with_puppet" do
- context "Without Puppet loaded" do
- before(:each) do
- Module.expects(:const_get).with("Puppet").raises(NameError)
- end
-
- it 'should be nil' do
- subject.with_puppet { Puppet[:vardir] }.should be_nil
- end
- it 'should not yield to the block' do
- Puppet.expects(:[]).never
- subject.with_puppet { Puppet[:vardir] }.should be_nil
- end
- end
- context "With Puppet loaded" do
- module Puppet; end
- let(:vardir) { "/var/lib/puppet" }
-
- before :each do
- Puppet.expects(:[]).with(:vardir).returns vardir
- end
- it 'should yield to the block' do
- subject.with_puppet { Puppet[:vardir] }
- end
- it 'should return the nodes vardir' do
- subject.with_puppet { Puppet[:vardir] }.should eq vardir
- end
- end
- end
-end
diff --git a/modules/stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb b/modules/stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb
deleted file mode 100755
index a016b68..0000000
--- a/modules/stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb
+++ /dev/null
@@ -1,225 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'tempfile'
-provider_class = Puppet::Type.type(:file_line).provider(:ruby)
-describe provider_class do
- context "when adding" do
- let :tmpfile do
- tmp = Tempfile.new('tmp')
- path = tmp.path
- tmp.close!
- path
- end
- let :resource do
- Puppet::Type::File_line.new(
- {:name => 'foo', :path => tmpfile, :line => 'foo'}
- )
- end
- let :provider do
- provider_class.new(resource)
- end
-
- it 'should detect if the line exists in the file' do
- File.open(tmpfile, 'w') do |fh|
- fh.write('foo')
- end
- provider.exists?.should be_true
- end
- it 'should detect if the line does not exist in the file' do
- File.open(tmpfile, 'w') do |fh|
- fh.write('foo1')
- end
- provider.exists?.should be_nil
- end
- it 'should append to an existing file when creating' do
- provider.create
- File.read(tmpfile).chomp.should == 'foo'
- end
- end
-
- context "when matching" do
- before :each do
- # TODO: these should be ported over to use the PuppetLabs spec_helper
- # file fixtures once the following pull request has been merged:
- # https://github.com/puppetlabs/puppetlabs-stdlib/pull/73/files
- tmp = Tempfile.new('tmp')
- @tmpfile = tmp.path
- tmp.close!
- @resource = Puppet::Type::File_line.new(
- {
- :name => 'foo',
- :path => @tmpfile,
- :line => 'foo = bar',
- :match => '^foo\s*=.*$',
- }
- )
- @provider = provider_class.new(@resource)
- end
-
- describe 'using match' do
- it 'should raise an error if more than one line matches, and should not have modified the file' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo=blah\nfoo2\nfoo=baz")
- end
- @provider.exists?.should be_nil
- expect { @provider.create }.to raise_error(Puppet::Error, /More than one line.*matches/)
- File.read(@tmpfile).should eql("foo1\nfoo=blah\nfoo2\nfoo=baz")
- end
-
- it 'should replace all lines that matches' do
- @resource = Puppet::Type::File_line.new(
- {
- :name => 'foo',
- :path => @tmpfile,
- :line => 'foo = bar',
- :match => '^foo\s*=.*$',
- :multiple => true
- }
- )
- @provider = provider_class.new(@resource)
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo=blah\nfoo2\nfoo=baz")
- end
- @provider.exists?.should be_nil
- @provider.create
- File.read(@tmpfile).chomp.should eql("foo1\nfoo = bar\nfoo2\nfoo = bar")
- end
-
- it 'should raise an error with invalid values' do
- expect {
- @resource = Puppet::Type::File_line.new(
- {
- :name => 'foo',
- :path => @tmpfile,
- :line => 'foo = bar',
- :match => '^foo\s*=.*$',
- :multiple => 'asgadga'
- }
- )
- }.to raise_error(Puppet::Error, /Invalid value "asgadga"\. Valid values are true, false\./)
- end
-
- it 'should replace a line that matches' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo=blah\nfoo2")
- end
- @provider.exists?.should be_nil
- @provider.create
- File.read(@tmpfile).chomp.should eql("foo1\nfoo = bar\nfoo2")
- end
- it 'should add a new line if no lines match' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo2")
- end
- @provider.exists?.should be_nil
- @provider.create
- File.read(@tmpfile).should eql("foo1\nfoo2\nfoo = bar\n")
- end
- it 'should do nothing if the exact line already exists' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo = bar\nfoo2")
- end
- @provider.exists?.should be_true
- @provider.create
- File.read(@tmpfile).chomp.should eql("foo1\nfoo = bar\nfoo2")
- end
- end
-
- describe 'using after' do
- let :resource do
- Puppet::Type::File_line.new(
- {
- :name => 'foo',
- :path => @tmpfile,
- :line => 'inserted = line',
- :after => '^foo1',
- }
- )
- end
-
- let :provider do
- provider_class.new(resource)
- end
-
- context 'with one line matching the after expression' do
- before :each do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo = blah\nfoo2\nfoo = baz")
- end
- end
-
- it 'inserts the specified line after the line matching the "after" expression' do
- provider.create
- File.read(@tmpfile).chomp.should eql("foo1\ninserted = line\nfoo = blah\nfoo2\nfoo = baz")
- end
- end
-
- context 'with two lines matching the after expression' do
- before :each do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo = blah\nfoo2\nfoo1\nfoo = baz")
- end
- end
-
- it 'errors out stating "One or no line must match the pattern"' do
- expect { provider.create }.to raise_error(Puppet::Error, /One or no line must match the pattern/)
- end
- end
-
- context 'with no lines matching the after expression' do
- let :content do
- "foo3\nfoo = blah\nfoo2\nfoo = baz\n"
- end
-
- before :each do
- File.open(@tmpfile, 'w') do |fh|
- fh.write(content)
- end
- end
-
- it 'appends the specified line to the file' do
- provider.create
- File.read(@tmpfile).should eq(content << resource[:line] << "\n")
- end
- end
- end
- end
-
- context "when removing" do
- before :each do
- # TODO: these should be ported over to use the PuppetLabs spec_helper
- # file fixtures once the following pull request has been merged:
- # https://github.com/puppetlabs/puppetlabs-stdlib/pull/73/files
- tmp = Tempfile.new('tmp')
- @tmpfile = tmp.path
- tmp.close!
- @resource = Puppet::Type::File_line.new(
- {:name => 'foo', :path => @tmpfile, :line => 'foo', :ensure => 'absent' }
- )
- @provider = provider_class.new(@resource)
- end
- it 'should remove the line if it exists' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo\nfoo2")
- end
- @provider.destroy
- File.read(@tmpfile).should eql("foo1\nfoo2")
- end
-
- it 'should remove the line without touching the last new line' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo\nfoo2\n")
- end
- @provider.destroy
- File.read(@tmpfile).should eql("foo1\nfoo2\n")
- end
-
- it 'should remove any occurence of the line' do
- File.open(@tmpfile, 'w') do |fh|
- fh.write("foo1\nfoo\nfoo2\nfoo\nfoo")
- end
- @provider.destroy
- File.read(@tmpfile).should eql("foo1\nfoo2\n")
- end
- end
-end
diff --git a/modules/stdlib/spec/unit/puppet/type/anchor_spec.rb b/modules/stdlib/spec/unit/puppet/type/anchor_spec.rb
deleted file mode 100755
index f92065f..0000000
--- a/modules/stdlib/spec/unit/puppet/type/anchor_spec.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'spec_helper'
-
-anchor = Puppet::Type.type(:anchor).new(:name => "ntp::begin")
-
-describe anchor do
- it "should stringify normally" do
- anchor.to_s.should == "Anchor[ntp::begin]"
- end
-end
diff --git a/modules/stdlib/spec/unit/puppet/type/file_line_spec.rb b/modules/stdlib/spec/unit/puppet/type/file_line_spec.rb
deleted file mode 100755
index ab5b81b..0000000
--- a/modules/stdlib/spec/unit/puppet/type/file_line_spec.rb
+++ /dev/null
@@ -1,70 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-require 'tempfile'
-describe Puppet::Type.type(:file_line) do
- let :file_line do
- Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'line', :path => '/tmp/path')
- end
- it 'should accept a line and path' do
- file_line[:line] = 'my_line'
- file_line[:line].should == 'my_line'
- file_line[:path] = '/my/path'
- file_line[:path].should == '/my/path'
- end
- it 'should accept a match regex' do
- file_line[:match] = '^foo.*$'
- file_line[:match].should == '^foo.*$'
- end
- it 'should not accept a match regex that does not match the specified line' do
- expect {
- Puppet::Type.type(:file_line).new(
- :name => 'foo',
- :path => '/my/path',
- :line => 'foo=bar',
- :match => '^bar=blah$'
- )}.to raise_error(Puppet::Error, /the value must be a regex that matches/)
- end
- it 'should accept a match regex that does match the specified line' do
- expect {
- Puppet::Type.type(:file_line).new(
- :name => 'foo',
- :path => '/my/path',
- :line => 'foo=bar',
- :match => '^\s*foo=.*$'
- )}.not_to raise_error
- end
- it 'should accept posix filenames' do
- file_line[:path] = '/tmp/path'
- file_line[:path].should == '/tmp/path'
- end
- it 'should not accept unqualified path' do
- expect { file_line[:path] = 'file' }.to raise_error(Puppet::Error, /File paths must be fully qualified/)
- end
- it 'should require that a line is specified' do
- expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => '/tmp/file') }.to raise_error(Puppet::Error, /Both line and path are required attributes/)
- end
- it 'should require that a file is specified' do
- expect { Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'path') }.to raise_error(Puppet::Error, /Both line and path are required attributes/)
- end
- it 'should default to ensure => present' do
- file_line[:ensure].should eq :present
- end
-
- it "should autorequire the file it manages" do
- catalog = Puppet::Resource::Catalog.new
- file = Puppet::Type.type(:file).new(:name => "/tmp/path")
- catalog.add_resource file
- catalog.add_resource file_line
-
- relationship = file_line.autorequire.find do |rel|
- (rel.source.to_s == "File[/tmp/path]") and (rel.target.to_s == file_line.to_s)
- end
- relationship.should be_a Puppet::Relationship
- end
-
- it "should not autorequire the file it manages if it is not managed" do
- catalog = Puppet::Resource::Catalog.new
- catalog.add_resource file_line
- file_line.autorequire.should be_empty
- end
-end
diff --git a/modules/stdlib/tests/file_line.pp b/modules/stdlib/tests/file_line.pp
deleted file mode 100644
index eea693e..0000000
--- a/modules/stdlib/tests/file_line.pp
+++ /dev/null
@@ -1,9 +0,0 @@
-# This is a simple smoke test
-# of the file_line resource type.
-file { '/tmp/dansfile':
- ensure => present
-}->
-file_line { 'dans_line':
- line => 'dan is awesome',
- path => '/tmp/dansfile',
-}
diff --git a/modules/stdlib/tests/has_interface_with.pp b/modules/stdlib/tests/has_interface_with.pp
deleted file mode 100644
index e1f1353..0000000
--- a/modules/stdlib/tests/has_interface_with.pp
+++ /dev/null
@@ -1,10 +0,0 @@
-include stdlib
-info('has_interface_with(\'lo\'):', has_interface_with('lo'))
-info('has_interface_with(\'loX\'):', has_interface_with('loX'))
-info('has_interface_with(\'ipaddress\', \'127.0.0.1\'):', has_interface_with('ipaddress', '127.0.0.1'))
-info('has_interface_with(\'ipaddress\', \'127.0.0.100\'):', has_interface_with('ipaddress', '127.0.0.100'))
-info('has_interface_with(\'network\', \'127.0.0.0\'):', has_interface_with('network', '127.0.0.0'))
-info('has_interface_with(\'network\', \'128.0.0.0\'):', has_interface_with('network', '128.0.0.0'))
-info('has_interface_with(\'netmask\', \'255.0.0.0\'):', has_interface_with('netmask', '255.0.0.0'))
-info('has_interface_with(\'netmask\', \'256.0.0.0\'):', has_interface_with('netmask', '256.0.0.0'))
-
diff --git a/modules/stdlib/tests/has_ip_address.pp b/modules/stdlib/tests/has_ip_address.pp
deleted file mode 100644
index 8429a88..0000000
--- a/modules/stdlib/tests/has_ip_address.pp
+++ /dev/null
@@ -1,3 +0,0 @@
-include stdlib
-info('has_ip_address(\'192.168.1.256\'):', has_ip_address('192.168.1.256'))
-info('has_ip_address(\'127.0.0.1\'):', has_ip_address('127.0.0.1'))
diff --git a/modules/stdlib/tests/has_ip_network.pp b/modules/stdlib/tests/has_ip_network.pp
deleted file mode 100644
index a15d8c0..0000000
--- a/modules/stdlib/tests/has_ip_network.pp
+++ /dev/null
@@ -1,4 +0,0 @@
-include stdlib
-info('has_ip_network(\'127.0.0.0\'):', has_ip_network('127.0.0.0'))
-info('has_ip_network(\'128.0.0.0\'):', has_ip_network('128.0.0.0'))
-
diff --git a/modules/stdlib/tests/init.pp b/modules/stdlib/tests/init.pp
deleted file mode 100644
index 9675d83..0000000
--- a/modules/stdlib/tests/init.pp
+++ /dev/null
@@ -1 +0,0 @@
-include stdlib
diff --git a/modules/vcsrepo b/modules/vcsrepo
index e94d675..46c6d95 160000
--- a/modules/vcsrepo
+++ b/modules/vcsrepo
@@ -1 +1 @@
-Subproject commit e94d67588b368ae51671d777e0f0e53d24e28dea
+Subproject commit 46c6d9549f06e0bf8b238894c0bf4ee6bc13a099