summaryrefslogtreecommitdiff
path: root/manifests/lens.pp
diff options
context:
space:
mode:
authorRaphaël Pinson <raphael.pinson@camptocamp.com>2012-03-23 23:45:40 +0100
committerRaphaël Pinson <raphael.pinson@camptocamp.com>2012-03-23 23:45:40 +0100
commit1658e07b4e4930e72fb7e75fa74db5e490afcc13 (patch)
tree93c93fb7ad044155ba331b59b76b29deba08b106 /manifests/lens.pp
parentc7c9cd66f71599d399a7dc9046e5d31e4ec899ef (diff)
Simplify augeas::lens, export $lens_dir variable from augeas::base and create tests directory.
Diffstat (limited to 'manifests/lens.pp')
-rw-r--r--manifests/lens.pp70
1 files changed, 27 insertions, 43 deletions
diff --git a/manifests/lens.pp b/manifests/lens.pp
index b40f220..109dd38 100644
--- a/manifests/lens.pp
+++ b/manifests/lens.pp
@@ -1,56 +1,40 @@
define augeas::lens (
$ensure=present,
- $lens_dir,
- $lens_file='',
- $test_file=''
+ $lens_source,
+ $test_source=false
) {
- $lenses_dir = "/usr/share/augeas/lenses"
+ include augeas::base
- file { "${lenses_dir}/tests":
- ensure => directory
- }
-
-# $lens_file_source = $lens_file ? {
-# '' => $lens_dir ? {
-# '' => fail "Cannot determine lens file for ${name}",
-# default => "${lens_dir}/${name}.aug"
-# },
-# default => $lens_file
-# }
-
-
- $lens_file_source = "${lens_dir}/${name}.aug"
- $lens_file_dest = "${lenses_dir}/${name}.aug"
-
-# $test_file_source = $test_file ? {
-# '' => $lens_dir ? {
-# '' => fail "Cannot determine test file for ${name}",
-# default => "${lens_dir}/tests/test_${name}.aug"
-# },
-# default => $test_file
-# }
-
- $test_file_source = "${lens_dir}/tests/test_${name}.aug"
- $test_file_dest = "${lenses_dir}/tests/test_${name}.aug"
+ $lens_dest = "${augeas::base::lens_dir}/${name}.aug"
+ $test_dest = "${augeas::base::lens_dir}/tests/test_${name}.aug"
- file { "${lens_file_dest}":
+ file { "${lens_dest}":
ensure => $ensure,
- source => $lens_file_source,
+ source => $lens_source,
+# We should actually run the test when the lens is changed
+# but we need to know if the test exists...
+# notify => Exec["Typecheck lens ${name}", "Test lens ${name}"]
+ notify => Exec["Typecheck lens ${name}"]
}
- file { "${test_file_dest}":
- ensure => $ensure,
- source => $test_file_source,
+ exec { "Typecheck lens ${name}":
+ command => "augparse -I ${augeas::base::lens_dir} ${lens_dest} || (rm -f ${lens_dest} && exit 1)",
+ require => File["${lens_dest}"],
+ refreshonly => true,
}
- exec { "Typecheck lens":
- command => "augparse -I ${lenses_dir} ${lens_file_dest} || (rm -f ${lens_file_dest} && exit 1)",
- require => File["${lens_file_dest}"]
- }
-
- exec { "Test lens":
- command => "augparse -I ${lenses_dir} ${test_file_dest} || (rm -f ${lens_file_dest} && rm -f ${test_file_dest} && exit 1)",
- require => File["${lens_file_dest}", "${test_file_dest}"]
+ if $test_source {
+ file { "${test_dest}":
+ ensure => $ensure,
+ source => $test_source,
+ notify => Exec["Test lens ${name}"]
+ }
+
+ exec { "Test lens ${name}":
+ command => "augparse -I ${augeas::base::lens_dir} ${test_dest} || (rm -f ${lens_dest} && rm -f ${test_dest} && exit 1)",
+ require => File["${lens_dest}", "${test_dest}"],
+ refreshonly => true,
+ }
}
}