File-Util-Tempdir

 view release on metacpan or  search on metacpan

t/01-basic.t  view on Meta::CPAN

        local $ENV{TEMP};

        $ENV{XDG_RUNTIME_DIR} = $tempdir;
        is(get_user_tempdir(), $tempdir, "uses XDG_RUNTIME_DIR");

        subtest "root tempdir tests" => sub {
            plan skip_all => "not root" if $>;

            mkdir "$tempdir/sub0", 0700 or die;
            chmod 0700, "$tempdir/sub0" or die;
            chown 1000, 0, "$tempdir/sub0" or die;
            $ENV{XDG_RUNTIME_DIR} = "$tempdir/sub0";
            is(get_user_tempdir(), "$tempdir/sub0/$>",
               "rejects different-owner tempdir");
        };

        mkdir "$tempdir/sub1", 0757 or die;
        chmod 0757, "$tempdir/sub1" or die;
        $ENV{XDG_RUNTIME_DIR} = "$tempdir/sub1";
        is(get_user_tempdir(), "$tempdir/sub1/$>",
           "rejects world-writable tempdir");

t/01-basic.t  view on Meta::CPAN

        chmod 0757, "$tempdir/sub3/$>" or die;
        is(get_user_tempdir(), "$tempdir/sub3/$>.1",
           "rejects world-writable subdir");
        chmod 0775, "$tempdir/sub3/$>.1" or die;
        is(get_user_tempdir(), "$tempdir/sub3/$>.2",
           "rejects group-writable subdir");
        subtest "root subdir tests" => sub {
            plan skip_all => "not root" if $>;

            $ENV{TMPDIR} = "$tempdir/sub0";
            chown 1000, 0, "$tempdir/sub0/$>" or die;
            is(get_user_tempdir(), "$tempdir/sub0/$>.1",
               "rejects different-owner subdir");
        };

    };
};

done_testing;



( run in 1.262 second using v1.01-cache-2.11-cpan-71847e10f99 )