From 32c82229d93471c25eaaaed5e76704893162a125 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Fri, 25 Jun 2021 21:24:47 +0200 Subject: add partial test suite --- t/treegen | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 t/treegen (limited to 't/treegen') diff --git a/t/treegen b/t/treegen new file mode 100755 index 0000000..1b7f0c9 --- /dev/null +++ b/t/treegen @@ -0,0 +1,30 @@ +#!/usr/bin/perl -w +use v5.16; + +use File::Spec; +use File::Path qw(make_path); + +# [fdl] +while (<>) { + if (/^f:(.*?)(?::(\d+))?(?::(\d+))?$/) { + my $path = $1; + my ($_volume, $dir, $_base) = File::Spec->splitpath($path); + my $size = $2 || 0; + my $mode = $3 ? oct($3) : 0644; + + make_path($dir) if $dir; + open(my $out, ">", "$path") or die "can't create $path"; + chmod($mode, $out); + truncate($out, $size); + close($out); + } elsif (/^d:(.*)$/) { + make_path($1, {mode => 0755}); + } elsif (/^l:(.*?):(.*)$/) { + my $target = $1; + my $linkname = $2; + my ($_volume, $dir, $_base) = File::Spec->splitpath($linkname); + + make_path($dir) if $dir; + symlink $target, $linkname; + } +} -- cgit 1.4.1