--- lenses/memcached.aug | 33 ++++++++++++++++++++++++++++++ lenses/tests/test_memcached.aug | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 lenses/memcached.aug create mode 100644 lenses/tests/test_memcached.aug
diff --git a/lenses/memcached.aug b/lenses/memcached.aug new file mode 100644 index 0000000..db0b29b --- /dev/null +++ b/lenses/memcached.aug @@ -0,0 +1,33 @@ +(* +Module: Memcached + Parses Memcached's configuration files + +Author: Marc Fournier <[email protected]> + +About: License + This file is licensed under the LGPL v2+, like the rest of Augeas. +*) + +module Memcached = +autoload xfm + +let comment = Util.comment +let comment_eol = Util.comment_generic /[#][ \t]*/ "# " +let option = /[a-zA-Z]/ +let val = /[^# \n\t]+/ +let empty = Util.empty +let eol = Util.del_str "\n" + +let entry = [ Util.del_str "-" . key option + . ( Util.del_ws_spc . (store val) )? + . del /[ \t]*/ "" . (eol|comment_eol) ] + +let logfile = Build.key_value_line_comment + "logfile" Sep.space (store val) comment + +let lns = ( entry | logfile | comment | empty )* + +let filter = incl "/etc/memcached.conf" + . incl "/etc/memcachedb.conf" + +let xfm = transform lns filter diff --git a/lenses/tests/test_memcached.aug b/lenses/tests/test_memcached.aug new file mode 100644 index 0000000..7aecb82 --- /dev/null +++ b/lenses/tests/test_memcached.aug @@ -0,0 +1,43 @@ +(* +Module: Test_Memcached + Provides unit tests for the <Memcached> lens. +*) + +module Test_Memcached = + +let conf = "# memcached default config file + +# Run memcached as a daemon. This command is implied, and is not needed for the +# daemon to run. See the README.Debian that comes with this package for more +# information. +-d +-l 127.0.0.1 + +# Log memcached's output to /var/log/memcached +logfile /var/log/memcached.log + +# Default connection port is 11211 +-p 11211 +-m 64 # Start with a cap of 64 megs of memory. +-M +" + +test Memcached.lns get conf = + { "#comment" = "memcached default config file" } + { } + { "#comment" = "Run memcached as a daemon. This command is implied, and is not needed for the" } + { "#comment" = "daemon to run. See the README.Debian that comes with this package for more" } + { "#comment" = "information." } + { "d" } + { "l" = "127.0.0.1" } + { } + { "#comment" = "Log memcached's output to /var/log/memcached" } + { "logfile" = "/var/log/memcached.log" } + { } + { "#comment" = "Default connection port is 11211" } + { "p" = "11211" } + { "m" = "64" + { "#comment" = "Start with a cap of 64 megs of memory." } + } + { "M" } + -- 1.7.10.4 _______________________________________________ augeas-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/augeas-devel
