6 |
6 |
7 use Test::More; |
7 use Test::More; |
8 use File::Temp qw(tempdir); |
8 use File::Temp qw(tempdir); |
9 use Net::LibIDN qw(:all); |
9 use Net::LibIDN qw(:all); |
10 |
10 |
11 # make it work with older versions of Test::More |
11 # older versions of Test::More (debian lenny fex) don't know done_testing |
12 unless (defined &done_testing) { |
12 Test::More->import('no_plan') unless defined &done_testing; |
13 sub done_testing() {}; |
|
14 use Test::More qw(no_plan); |
|
15 } |
|
16 |
13 |
17 my $CMD = "perl -Mblib blib/sbin/zone-mk"; |
14 my $CMD = "perl -Mblib blib/sbin/zone-mk"; |
18 |
15 |
19 system("$CMD -h &>/dev/null"); |
16 system("$CMD -h >/dev/null 2>&1"); |
20 is($? => 0, "exit on help"); |
17 is($? => 0, "exit on help"); |
21 |
18 |
22 system("$CMD -m &>/dev/null"); |
19 system("$CMD -m >/dev/null 2>&1"); |
23 is($? => 0, "exit on man"); |
20 is($? => 0, "exit on man"); |
24 |
21 |
25 system("$CMD &>/dev/null"); |
22 system("$CMD >/dev/null 2>&1"); |
26 ok($? > 0, "error on missing args"); |
23 ok($? > 0, "error on missing args"); |
27 |
24 |
28 |
25 |
29 $_ = File::Temp::tempdir CLEANUP => 1 or die "Can't make temporary directory" for my ($master_dir, $config_dir); |
26 $_ = File::Temp::tempdir CLEANUP => 1 or die "Can't make temporary directory" for my ($master_dir, $config_dir); |
30 my $tmp = Aux::make_config { |
27 my $tmp = Aux::make_config { |
32 zone_conf_dir => $config_dir, |
29 zone_conf_dir => $config_dir, |
33 hostmaster => 'hostmaster@schlittermann.de', |
30 hostmaster => 'hostmaster@schlittermann.de', |
34 template_dir => './templates' |
31 template_dir => './templates' |
35 }; |
32 }; |
36 $ENV{DNSTOOLS_CONF} = $tmp->filename; |
33 $ENV{DNSTOOLS_CONF} = $tmp->filename; |
37 system("$CMD xxx müller.de &>/dev/null"); |
34 system("$CMD xxx müller.de >/dev/null 2>&1"); |
38 is($? => 0, "created zone"); |
35 is($? => 0, "created zone"); |
39 |
36 |
40 my $domain = idn_to_ascii("müller.de", "UTF-8"); |
37 my $domain = idn_to_ascii("müller.de", "UTF-8"); |
41 ok(-s "$master_dir/$domain/$domain", "zone file $domain"); |
38 ok(-s "$master_dir/$domain/$domain", "zone file $domain"); |
42 ok(-s "$config_dir/$domain", "config file $domain"); |
39 ok(-s "$config_dir/$domain", "config file $domain"); |
43 |
40 |
44 |
41 |
45 done_testing; |
42 # older versions of Test::More (debian lenny fex) don't know done_testing |
|
43 if (defined &done_testing) { &done_testing; } |