[augeas-devel] augeas: master - Logrotate: make newline at end of script optional
David Lutterkort
lutter at fedoraproject.org
Fri Jun 5 20:13:22 UTC 2009
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=5d8e7d90b4f24330264e8194272149c0c01b266d
Commit: 5d8e7d90b4f24330264e8194272149c0c01b266d
Parent: 3237d5c50a4c021306b41250cbb14077f5345975
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Fri Jun 5 12:54:43 2009 -0700
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Fri Jun 5 12:54:43 2009 -0700
Logrotate: make newline at end of script optional
---
lenses/logrotate.aug | 4 +++-
lenses/tests/test_logrotate.aug | 22 ++++++++++++++++++++--
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/lenses/logrotate.aug b/lenses/logrotate.aug
index d773a9f..2a4b461 100644
--- a/lenses/logrotate.aug
+++ b/lenses/logrotate.aug
@@ -81,7 +81,9 @@ module Logrotate =
(* Define hooks *)
- let hook_lines = store ( ( /.*/ . "\n") - /[ \t]*endscript[ \t]*\n/ )*
+ let hook_lines =
+ let line_re = /.*/ - /[ \t]*endscript[ \t]*/ in
+ store ( line_re . ("\n" . line_re)* )? . del "\n" "\n"
let hook_func (func_type:string) = [
del /[ \t]*/ "\t" . key func_type . eol .
diff --git a/lenses/tests/test_logrotate.aug b/lenses/tests/test_logrotate.aug
index 915a198..c8cfefc 100644
--- a/lenses/tests/test_logrotate.aug
+++ b/lenses/tests/test_logrotate.aug
@@ -125,8 +125,7 @@ include /etc/logrotate.d
{ "sharedscripts" = "sharedscripts" }
{ "prerotate" = " if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
- fi
-" } }
+ fi" } }
test Logrotate.lns get "/var/log/file {\n dateext\n}\n" =
{ "rule"
@@ -144,3 +143,22 @@ include /etc/logrotate.d
{ "rule"
{ "file" = "/file" }
{ "size" = "5M" } }
+
+ (* The newline at the end of a script is optional *)
+ test Logrotate.lns put "/file {\n size=5M\n}\n" after
+ set "/rule/prerotate" "\tfoobar"
+ =
+"/file {
+ size=5M
+\tprerotate
+\tfoobar
+\tendscript\n}\n"
+
+ test Logrotate.lns put "/file {\n size=5M\n}\n" after
+ set "/rule/prerotate" "\tfoobar\n"
+ =
+"/file {
+ size=5M
+\tprerotate
+\tfoobar\n
+\tendscript\n}\n"
More information about the augeas-devel
mailing list