[ path => [ qw(PS P) ],
[ prop => 'PS', \'path', 'P' ] ],
[ info_prop => [ qw(PS N V) ],
- [ exists => [ qw(PSI) ],
- [ prop => 'PS', \'info', 'PSI' ],
- [ prop => 'PSI', 'N', 'V' ] ] ],
+ [ prop => 'PS', \'info', 'PSI' ],
+ [ prop => 'PSI', 'N', 'V' ] ],
[ mode => [ qw(PS M) ],
[ info_prop => 'PS', \'mode', 'M' ] ],
[ exists_path => [ qw(PS) ],
%path_status = %protos;
sub paths_for_simple {
- join ' ', map $_->value_for('PS')->path, $solver->query(
- [ qw(PS) ], [ path_status => 'PS' ], @_
+ join ' ', map $_->value_for('PS')->path, $solver->solve(
+ [ path_status => 'PS' ], @_
)->results;
}
is(paths_for_simple([ is_file => 'PS' ]), '.ssh/authorized_keys');
-is(paths_for_simple([ mode => 'PS', [ value => '0755' ] ]), '.ssh');
+is(paths_for_simple([ mode => 'PS', \'0755' ]), '.ssh');
$solver->add_rule(
path_status_at => [ 'PS', 'P' ],
);
throws_ok {
- $solver->query(
- [ qw(PS) ],
- [ path_status_at => 'PS', [ value => '.ssh' ] ]
+ $solver->solve(
+ [ path_status_at => 'PS', \'.ssh' ]
)->results
} qr/ARGH/;
my @res;
lives_ok {
- @res = $solver->query(
- [ qw(PS) ],
- [ path_status_at => 'PS', [ value => '.ssh' ] ]
+ @res = $solver->solve(
+ [ path_status_at => 'PS', \'.ssh' ]
)->results
};
$ob_res{'.ssh'} = $protos{'.ssh'};
sub paths_for {
- join ' ', map $_->value_for('PS')->path, $solver->query([ 'PS' ], @_)->results;
+ join ' ', map $_->value_for('PS')->path, $solver->solve(@_)->results;
}
is(
- paths_for([ path_status => 'PS' ], [ path => 'PS', [ value => '.ssh' ] ]),
+ paths_for([ path_status => 'PS' ], [ path => 'PS', \'.ssh' ]),
'',
'no .ssh entry'
);
-throws_ok { paths_for([ path_status_at => 'PS', [ value => '.ssh' ] ]) }
+throws_ok { paths_for([ path_status_at => 'PS', \'.ssh' ]) }
qr/refused/;
$solver->{observation_policy} = sub { 1 };
is(
- paths_for([ path_status_at => 'PS', [ value => '.ssh' ] ]),
+ paths_for([ path_status_at => 'PS', \'.ssh' ]),
'.ssh',
'observation'
);
delete $solver->{observation_policy};
-lives_ok { paths_for([ path_status_at => 'PS', [ value => '.ssh' ] ]) }
+lives_ok { paths_for([ path_status_at => 'PS', \'.ssh' ]) }
'No observation required anymore';
$path_status{'.ssh/authorized_keys'} = $protos{'.ssh/authorized_keys'};
is(
- paths_for([ path_status => 'PS' ], [ not => [ is_directory => 'PS' ] ]),
+ paths_for([ path_status => 'PS' ], [ not => [ [ is_directory => 'PS' ] ] ]),
'.ssh/authorized_keys',
'Negation'
);
$solver->{observation_policy} = sub { 1 };
sub dot_ssh_query {
- $solver->query([ 'PS' ], [ directory_at => 'PS' => [ value => '.ssh' ] ]);
+ $solver->solve([ directory_at => 'PS' => \'.ssh' ]);
}
is_deeply(
[]
);
-#::Dwarn(paths_for([ directory_at => 'PS', [ value => '.ssh' ] ]));
+#::Dwarn(paths_for([ directory_at => 'PS', \'.ssh' ]));
$solver->add_rule(@$_) for (
[ is_directory => [ qw(PS) ],
- [ not => [ exists_path => 'PS' ] ],
+ [ not => [ [ exists_path => 'PS' ] ] ],
[ act => [ 'PS' ],
sub {
my ($value) = @_;
$solver->add_rule(@$_) for (
[ file_in => [ qw(DirStatus FileName FileStatus) ],
[ is_directory => qw(DirStatus) ],
- [ exists => [ qw(DirPath) ],
- [ path => qw(DirStatus DirPath) ],
- [ exists => [ qw(FilePath) ],
- [ catfile => qw(DirPath FileName FilePath) ],
- [ file_at => qw(FileStatus FilePath) ] ] ] ],
+ [ path => qw(DirStatus DirPath) ],
+ [ catfile => qw(DirPath FileName FilePath) ],
+ [ file_at => qw(FileStatus FilePath) ] ],
[ is_file => [ qw(PS) ],
- [ not => [ exists_path => 'PS' ] ],
+ [ not => [ [ exists_path => 'PS' ] ] ],
[ act => [ 'PS' ],
sub {
my ($value) = @_;
%ob_res = %empty;
sub keys_file {
- $solver->query([ qw(D F) ],
+ $solver->solve(
[ directory_at => 'D' => \'.ssh' ],
[ file_in => 'D' => \'authorized_keys' => 'F' ],
);