X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=installcheck%2Famgetconf.pl;h=eb0a869dc7c7bdbb7b36b93f3fde636869485774;hb=691567b16c13087b31ee4c2b6d038e57872fae82;hp=1916a22884ca09249187892bc992c3b4fcdb8e10;hpb=79cdc4b6ea8848b21ba4a0e7d2fd3bc401e0bebe;p=debian%2Famanda diff --git a/installcheck/amgetconf.pl b/installcheck/amgetconf.pl index 1916a22..eb0a869 100644 --- a/installcheck/amgetconf.pl +++ b/installcheck/amgetconf.pl @@ -1,8 +1,9 @@ -# Copyright (c) 2005-2008 Zmanda Inc. All Rights Reserved. +# Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published -# by the Free Software Foundation. +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY @@ -13,12 +14,15 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# Contact information: Zmanda Inc, 465 S Mathlida Ave, Suite 300 +# Contact information: Zmanda Inc, 465 S. Mathilda Ave., Suite 300 # Sunnyvale, CA 94086, USA, or: http://www.zmanda.com -use Test::More tests => 78; +use Test::More tests => 86; +use strict; +use warnings; use lib "@amperldir@"; +use Installcheck; use Installcheck::Config; use Installcheck::Run qw(run run_get run_err); use Amanda::Paths; @@ -121,7 +125,7 @@ is(run_get('amgetconf', 'TESTCONF', "build.mandir"), $mandir, is(run_get('amgetconf', 'TESTCONF', "build.AMANDA_DBGDIR"), $AMANDA_DBGDIR, "build.AMANDA_DBGDIR is correct"); is(run_get('amgetconf', 'TESTCONF', "build.AMANDA_TMPDIR"), $AMANDA_TMPDIR, - "build.AMANDA_TMPDIR is correct"); + "build.AMDNA_TMPDIR is correct"); is(run_get('amgetconf', 'TESTCONF', "build.CONFIG_DIR"), $CONFIG_DIR, "build.CONFIG_DIR is correct"); is(run_get('amgetconf', 'TESTCONF', "build.__empty"), "", @@ -213,8 +217,10 @@ is_deeply([sort(+split(qr/\n/, run_get('amgetconf', 'TESTCONF', 'device_property $testconf = Installcheck::Config->new(); $testconf->add_tapetype("cassette", [ length => "32 k" ]); $testconf->add_tapetype("reel2reel", [ length => "1 M" ]); -$testconf->add_tapetype("scotch", [ length => "500 bytes" ]); # (use a sharpie) -$testconf->add_dumptype("testdump", [ comment => '"testdump-dumptype"' ]); +$testconf->add_tapetype("scotch", [ length => "512000 bytes" ]); +$testconf->add_dumptype("testdump", [ comment => '"testdump-dumptype"', + auth => '"bsd"' ]); +$testconf->add_dumptype("testdump1", [ inherit => 'testdump' ]); $testconf->add_interface("testiface", [ use => '10' ]); $testconf->add_holdingdisk("hd17", [ chunksize => '128' ]); $testconf->add_application('app_amgtar', [ plugin => '"amgtar"' ]); @@ -251,16 +257,25 @@ is(run_get('amgetconf', 'TESTCONF', 'holdingdisk:hd17:chunksize'), '128', like(run_get('amgetconf', 'TESTCONF', '--list', 'build'), qr(.*version.*), "'--list build' lists build variables"); -is_deeply([sort(+split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'application-tool')))], +is_deeply([sort(+split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'application')))], [sort("app_amgtar", "app_amstar")], - "--list returns correct set of application-tool"); + "--list returns correct set of applications"); is(run_get('amgetconf', 'TESTCONF', 'application-tool:app_amgtar:plugin'), 'amgtar', "returns application-tool parameter correctly"); +is_deeply([sort(+split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'script')))], + [sort("my_script")], + "--list returns correct set of scripts"); + +# test the old names is_deeply([sort(+split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'script-tool')))], [sort("my_script")], - "--list returns correct set of script-tool"); + "--list returns correct set of scripts, using the name script-tool"); + +is_deeply([sort(+split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'application-tool')))], + [sort("app_amgtar", "app_amstar")], + "--list returns correct set of applications, using the name 'application-tool'"); is(run_get('amgetconf', 'TESTCONF', 'script-tool:my_script:execute-on'), 'PRE-DLE-AMCHECK', "returns script-tool parameter correctly"); @@ -272,6 +287,10 @@ is(run_get('amgetconf', 'TESTCONF', 'script_tOOl:my_script:eXECute-on'), 'PRE-DL "insensitive to case in subsec_key"); is(run_get('amgetconf', 'TESTCONF', 'script-tool:my_script:execute_on'), 'PRE-DLE-AMCHECK', "insensitive to -/_ in subsec_key"); +is(run_get('amgetconf', 'TESTCONF', 'dumptype:testdump1:auth', '-odumptype:testdump:auth=SSH'), 'SSH', + "inherited setting are overrided"); +is(run_get('amgetconf', 'TESTCONF', 'dumptype:testdump1:compress', '-odumptype:testdump:compress=SERVER BEST'), 'SERVER BEST', + "inherited default are overrided"); is_deeply([sort(split(/\n/, run_get('amgetconf', 'TESTCONF', '--list', 'device')))], [sort("my_device")], @@ -317,6 +336,20 @@ is_deeply([sort(+split(qr/\n/, run_get('amgetconf', 'TESTCONF', 'dumptype:testdu is_deeply([sort(+split(qr/\n/, run_get('amgetconf', 'TESTCONF', 'dumptype:testdump:include')))], [sort('FILE OPTIONAL "ifo"', 'LIST OPTIONAL "ilo"')], - "a final 'OPTIONAL' makes the whole include/exclude optional") + "a final 'OPTIONAL' makes the whole include/exclude optional"); + +$testconf = Installcheck::Config->new(); +$testconf->add_param("property", '"prop1" "value1"'); +$testconf->add_param("property", '"prop2" "value2"'); +$testconf->add_param("property", '"prop3" "value3"'); +$testconf->write(); +is(run_get('amgetconf', 'TESTCONF', "property:prop1"), "value1", + "correctly returns property prop1 from the file"); +is(run_get('amgetconf', 'TESTCONF', "property:prop2"), "value2", + "correctly returns property prop2 from the file"); +is(run_get('amgetconf', 'TESTCONF', "property:prop3"), "value3", + "correctly returns property prop3 from the file"); +is(run_get('amgetconf', 'TESTCONF', "property"), "\"prop1\" \"value1\"\n\"prop2\" \"value2\"\n\"prop3\" \"value3\"", + "correctly returns all propertiss from the file");