Scroll to navigation

Test::TempDir(3pm) User Contributed Perl Documentation Test::TempDir(3pm)

NAME

Test::TempDir - (DEPRECATED) Temporary files support for testing

VERSION

version 0.10

DEPRECATION NOTICE

There have been numerous issues found with this module, particularly with its use of locks (unreliable, may result in your entire $TMPDIR being deleted) and MSWin32 compatibility. As well, it uses Moose, which is nowadays considered to be heavier than necessary.

Test::TempDir::Tiny was written as a replacement. Please use it instead!

SYNOPSIS

    use Test::TempDir;

    my $test_tempdir = temp_root();

    my ( $fh, $file ) = tempfile();

    my $directory_scratch_obj = scratch();

DESCRIPTION

Test::TempDir provides temporary directory creation with testing in mind.

The differences between using this and using File::Temp are:

  • If "t/tmp" is available (writable, creatable, etc) it's preferred over $ENV{TMPDIR} etc. Otherwise a temporary directory will be used.

    This is "temp_root"

  • Lock files are used on "t/tmp", to prevent race conditions when running under a parallel test harness.
  • The "temp_root" is cleaned at the end of a test run, but not if tests failed.
  • "temp_root" is emptied at the beginning of a test run unconditionally.
  • The default policy is not to clean the individual "tempfiles" and "tempdirs" within "temp_root", in order to aid in debugging of failed tests.

EXPORTS

"temp_root"

The root of the temporary stuff.

"tempfile"

"tempdir"

Wrappers for the File::Temp functions of the same name.

The default options are changed to use "temp_root" for "DIR" and disable "CLEANUP", but these are overridable.

"scratch"

Loads Directory::Scratch and instantiates a new one, with the same default options as "tempfile" and "tempdir".

SEE ALSO

  • File::Temp,
  • Directory::Scratch
  • Path::Class

AUTHOR

XXXX XXX'XX (Yuval Kogman) <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by XXXX XXX'XX (Yuval Kogman).

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

CONTRIBUTORS

  • Karen Etheridge <ether@cpan.org>
  • Florian Ragwitz <rafl@debian.org>
2016-02-21 perl v5.22.1