NAME

Arch::Test::Tree - A test framework for Arch-Perl


SYNOPSIS

    use Arch::Test::Framework;
    my $fw = Arch::Test::Framework->new;
    my $tree = $fw->make_tree($dir, $version);
    my $dir = $tree->add_dir;
    $tree->add_file($dir);
    $tree->import;


DESCRIPTION

Arch::Test::Tree provides methods to quickly build and modify Arch project trees within the Arch::Test framework.


METHODS

new, root, framework, run_tla, add_file, add_dir, add_link, modify_file, rename_file, rename_dir, remove_file, remove_dir, inventory, import, commit.

new [framework] [path]
Create a new Arch::Test::Tree instance for path. This method should not be called directly.

root
Returns the project trees root directory.

framework
Returns the associated Arch::Test::Framework reference.

run_tla @args
Run tla @args from the tree root.

add_file [dir [name [content]]]
Add a new file name in directory dir. Fill file with content.

dir defaults to the project root (.). If name is not specified, a unique filename is generated. A default content is generated if none is given.

add_dir [parent [name]]
Add a new directory under parent, or . if parent is not specified. If name is not given, a unique name is generated.

add_link [parent [name [target]]]
Add a new symbolic link under parent, or . if parent is not specified. If name is not given, a unique name is generated. If target is omitted, a (probably) non-existing target is generated.

modify_file file [content]
Change files content to content, or append Has been modified. if new content is omitted.

rename_file old new
Rename file old to new. Returns new.

rename_dir old new
Rename directory old to new. Returns new.

remove_file file
Delete file and its associated arch id.

remove_dir dir
Recursively delete dir and its content.

inventory [flags]
Returns the inventory as generated by running tla inventory I<flags>. flags default to -Bs if not specified.

import [summary [log]]
Create a base-0 revision from tree using the summary line summary and log as log text. If tree contains a log file, summary and log can be omitted.

commit [summary [log]]
Commit a patch-n revision from tree using the summary line summary and log as log text. If tree contains a log file, summary and log can be omitted.


AUTHORS

Mikhael Goikhman (migo@homemail.com--Perl-GPL/arch-perl--devel)

Enno Cramer (uebergeek@web.de--2003/arch-perl--devel)