-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path32list.t
102 lines (95 loc) · 5.03 KB
/
32list.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/perl -w
use Test::More tests => 69;
use strict;
use SVK::Test;
use SVK::Util qw( time2str );
our $output;
my ($xd, $svk) = build_test('bob');
is_output_like ($svk, 'ls', ["there/is/no/spoon"], qr|not a checkout path|, 'bad path');
foreach my $depot ('','bob') {
my ($copath) = get_copath ("list$depot");
$svk->checkout ("/$depot/", $copath);
chdir ("$copath");
mkdir ('A');
overwrite_file ("A/foo", "foobar\n");
my $size = -s "A/foo";
$svk->add ('A');
$svk->commit ('-m', 'init');
mkdir('A/B');
overwrite_file('A/B/foo',"foobar\n");
$svk->add ('A/B');
$svk->commit ('-m', 'dir B');
is_output ($svk, 'ls', [], ['A/']);
is_output ($svk, 'ls', ['-r1', 'A'], ['foo']);
is_output ($svk, 'ls', ['A/foo'], ['foo']);
is_output ($svk, 'ls', ['-R', 'A'], ['B/', ' foo', 'foo']);
is_output ($svk, 'ls', ['-R', '-d1'], ['A/', ' B/', ' foo']);
is_output ($svk, 'ls', ['-f','A/foo'], ["/$depot/A/foo"]);
is_output ($svk, 'ls', ["/$depot/"], ['A/']);
is_output ($svk, 'ls', ['-f',"/$depot/"], ["/$depot/A/"]);
is_output ($svk, 'ls', ['-f',"/$depot/A"], ["/$depot/A/B/", "/$depot/A/foo"]);
is_output ($svk, 'ls', ['-f',"/$depot/A/"],
["/$depot/A/B/","/$depot/A/foo"]);
is_output ($svk, 'ls', ['-f','-R',"/$depot/A/"], ["/$depot/A/B/","/$depot/A/B/foo", "/$depot/A/foo"]);
is_output ($svk, 'ls', ['-f',"/$depot/crap/"], ['Path /crap is not versioned.']);
ok ($svk->ls ('-f', "/$depot/crap/") == 1, "ls -f /$depot/crap/ [exit status]");
is_output ($svk, 'ls', ['-f',"/$depot/", "/$depot/A"],
["/$depot/A/", '', "/$depot/A/B/","/$depot/A/foo", '']);
ok ($svk->ls ('-f', "/$depot/", "/$depot/A") == 0, "ls -f /$depot/ /$depot/A [exit status]");
is_output ($svk, 'ls', ['-f',"/$depot/A", "/$depot/crap/"],
["/$depot/A/B/","/$depot/A/foo", '', 'Path /crap is not versioned.', '']);
ok ($svk->ls ('-f', "/$depot/A", "/$depot/crap/") == 1, "ls -f /$depot/A /$depot/crap/ [exit status]");
use POSIX qw( mktime );
my $re_date = join '|', map {
quotemeta time2str( "%b", mktime(0, 0, 0, 1, $_, 96) )
} 0 .. 11;
$re_date = " ?(?:$re_date) \\d{2} \\d{2}:\\d{2}";
my $re_user = "(?:\\S*\\s+)";
is_output ($svk, 'ls', ['-v'],
[qr" 2 $re_user $re_date A/"]);
is_output ($svk, 'ls', ['-v', '-r1'],
[qr" 1 $re_user $re_date A/"]);
is_output ($svk, 'ls', ['-v', 'A/foo'],
[qr" 1 $re_user $size $re_date foo"]);
is_output ($svk, 'ls', ['-v', '-r1', '-R'],
[qr" 1 $re_user $re_date A/",
qr" 1 $re_user $size $re_date foo"]);
is_output ($svk, 'ls', ['-v', '-R'],
[qr" 2 $re_user $re_date A/",
qr" 2 $re_user $re_date B/",
qr" 2 $re_user $size $re_date foo",
qr" 1 $re_user $size $re_date foo"]);
is_output ($svk, 'ls', ['-v', '-R', '-d1'],
[qr" 2 $re_user $re_date A/",
qr" 2 $re_user $re_date B/",
qr" 1 $re_user $size $re_date foo"]);
is_output ($svk, 'ls', ['-v', '-f'],
[qr" 2 $re_user $re_date /$depot/A/"]);
is_output ($svk, 'ls', ['-v', '-f', 'A/foo'],
[qr" 1 $re_user $size $re_date /$depot/A/foo"]);
is_output ($svk, 'ls', ['-v', '-f', "/$depot/"],
[qr" 2 $re_user $re_date /$depot/A/"]);
is_output ($svk, 'ls', ['-v', '-f', "/$depot/A/"],
[qr" 2 $re_user $re_date /$depot/A/B/",
qr" 1 $re_user $size $re_date /$depot/A/foo"]);
is_output ($svk, 'ls', ['-v', '-f', '-R', "/$depot/A/"],
[qr" 2 $re_user $re_date /$depot/A/B/",
qr" 2 $re_user $size $re_date /$depot/A/B/foo",
qr" 1 $re_user $size $re_date /$depot/A/foo"]);
is_output ($svk, 'ls', ['-v', '-f',"/$depot/crap/"],
['Path /crap is not versioned.']);
ok ($svk->ls ('-v', '-f', "/$depot/crap/") == 1, "ls -v -f /$depot/crap/ [exit status]");
is_output ($svk, 'ls', ['-v', '-f', "/$depot/", "/$depot/A/"],
[qr" 2 $re_user $re_date /$depot/A/",
'',
qr" 2 $re_user $re_date /$depot/A/B/",
qr" 1 $re_user $size $re_date /$depot/A/foo", '']);
ok ($svk->ls ('-v', '-f', "/$depot/", "/$depot/A") == 0, "ls -v -f /$depot/ /$depot/A [exit status]");
is_output ($svk, 'ls', ['-v', '-f', "/$depot/A/", "/$depot/crap/"],
[qr" 2 $re_user $re_date /$depot/A/B/",
qr" 1 $re_user $size $re_date /$depot/A/foo",
'',
'Path /crap is not versioned.', '']);
ok ($svk->ls ('-v', '-f', "/$depot/A", "/$depot/crap/") == 1, "ls -f /$depot/A /$depot/crap/ [exit status]");
chdir("..");
}