GlusterFS-GFAPI-FFI

 view release on metacpan or  search on metacpan

t/00-api.t  view on Meta::CPAN


    ok($retval == 0, sprintf('glfs_ftruncate(): %d', $retval));

    diag("error: $!") if ($retval);

    my $stat = GlusterFS::GFAPI::FFI::Stat->new();

    $retval = GlusterFS::GFAPI::FFI::glfs_lstat($fs, "/$fname", $stat);

    ok($retval == 0, sprintf('glfs_lstat(): %d', $retval));

    diag("error: $!") if ($retval);

    cmp_ok($stat->st_size, '==', 0, '	size : ' . $stat->st_size // 'undef');
};

# chmod
subtest 'chmod' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_chmod($fs, "/$fname", 0777);

    ok($retval == 0, sprintf('glfs_chmod(): %d', $retval));

    diag("error: $!") if ($retval);

    my $stat = GlusterFS::GFAPI::FFI::Stat->new();

    $retval = GlusterFS::GFAPI::FFI::glfs_lstat($fs, "/$fname", $stat);

    ok($retval == 0, sprintf('glfs_lstat(): %d', $retval));

    diag("error: $!") if ($retval);

    my $perm = $stat->st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);

    cmp_ok($perm, '==', 0777, '	mode : ' . sprintf('%o', $perm));
};

# fchmod
subtest 'fchmod' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_fchmod($fd, 0644);

    ok($retval == 0, sprintf('glfs_fchmod(): %d', $retval));

    diag("error: $!") if ($retval);

    my $stat = GlusterFS::GFAPI::FFI::Stat->new();

    $retval = GlusterFS::GFAPI::FFI::glfs_lstat($fs, "/$fname", $stat);

    ok($retval == 0, sprintf('glfs_lstat(): %d', $retval));

    diag("error: $!") if ($retval);

    my $perm = $stat->st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);

    cmp_ok($perm, '==', 0644, '	mode : ' . sprintf('%o', $perm));
};

my ($login, $pass, $uid, $gid) = getpwuid($<);

# chown
subtest 'chown' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_chown($fs, "/$fname", $uid, $gid);

    ok($retval == 0, sprintf('glfs_chown(): %d', $retval));

    diag("error: $!") if ($retval);
};

# lchown
subtest 'lchown' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_lchown($fs, "/$fname", $uid, $gid);

    ok($retval == 0, sprintf('glfs_lchown(): %d', $retval));

    diag("error: $!") if ($retval);
};

# fchown
subtest 'fchown' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_fchown($fd, $uid, $gid);

    ok($retval == 0, sprintf('glfs_fchown(): %d', $retval));

    diag("error: $!") if ($retval);
};

# fallocate
subtest 'fallocate' => sub
{
    my $retval = GlusterFS::GFAPI::FFI::glfs_fallocate($fd, 0, 0, 1024);

    ok($retval == 0, sprintf('glfs_fallocate(): %d', $retval));

    diag("error: $!") if ($retval);

    my $stat = GlusterFS::GFAPI::FFI::Stat->new();

    $retval = GlusterFS::GFAPI::FFI::glfs_lstat($fs, "/$fname", $stat);

    ok($retval == 0, sprintf('glfs_fallocate(): %d', $retval));

    diag("error: $!") if ($retval);

    system('ls -al /mnt/libgfapi-perl');
};

# discard
subtest 'discard' => sub
{
    # :TODO 2018/01/31 10:50:02 by P.G.
    # we need to verify discarding of this range
    my $retval = GlusterFS::GFAPI::FFI::glfs_discard($fd, 0, 128);

    ok($retval == 0, sprintf('glfs_discard(): %d', $retval));



( run in 1.233 second using v1.01-cache-2.11-cpan-39bf76dae61 )