fsck: update devcount, forget devs on unfixable FIDs
[MogileFS-Server.git] / t / replpolicy-parsing.t
blob782d918a948be18cd96e89795cca768a2f6a6794
1 # -*-perl-*-
3 use strict;
4 use warnings;
5 use Test::More;
6 use FindBin qw($Bin);
7 use Data::Dumper;
9 use MogileFS::Server;
10 use MogileFS::Util qw(error_code);
11 use MogileFS::Test;
13 plan tests => 31;
15 my $obj;
17 $obj = MogileFS::ReplicationPolicy->new_from_policy_string("MultipleHosts(5)");
18 isa_ok($obj, "MogileFS::ReplicationPolicy::MultipleHosts", "got a multiple hosts policy")
19     or die "can't proceed";
20 is($obj->mindevcount, 5, "got correct devcount");
22 $obj = MogileFS::ReplicationPolicy->new_from_policy_string("MultipleHosts()");
23 isa_ok($obj, "MogileFS::ReplicationPolicy::MultipleHosts", "got a multiple hosts policy")
24     or die "can't proceed";
26 foreach my $str ("Union(MultipleHosts(5), MultipleHosts(2))",
27                  "Union(MultipleHosts(5), MultipleHosts(2), )",
28                  "Union( MultipleHosts(5), MultipleHosts(2) )",
29                  "Union(MultipleHosts(  5),MultipleHosts(2))",
30                  "Union ( MultipleHosts ( 5 ) , MultipleHosts ( 2 ) )",
31                  "Union ( MultipleHosts ( 5 ) ,\n MultipleHosts ( 2 ) )",
32                  "Union ( MultipleHosts ( 5 ) , \n MultipleHosts ( 2 ), )",
33                  )
35     $obj = MogileFS::ReplicationPolicy->new_from_policy_string($str);
36     isa_ok($obj, "MogileFS::ReplicationPolicy::Union") or die "Failed to parse: $str";
37     is(scalar @{$obj->{policies}}, 2, "got 2 sub policies");
38     isa_ok($obj->{policies}[0], "MogileFS::ReplicationPolicy::MultipleHosts");
39     isa_ok($obj->{policies}[1], "MogileFS::ReplicationPolicy::MultipleHosts");