blob: 5ae05fc0afd06726fdf58826b0d125ed72b2e4b4 [file] [log] [blame]
Anvesh Renikindi18680e62022-10-26 19:15:50 +00001#!/usr/bin/python3
2
3import os
4import tempfile
5import utils
6
7
8def test_append():
9 assert utils.append("x", "y") == "x, y"
10 assert utils.append(None, "y") == "y"
11
12
13def test_cp():
14 with tempfile.TemporaryDirectory() as tmpdir:
15 src_dir = os.path.join(tmpdir, "src")
16 src_dir_b = os.path.join(src_dir, "b")
17 dst_dir = os.path.join(tmpdir, "dst")
18 dst_dir_a = os.path.join(dst_dir, "a")
19
20 os.mkdir(src_dir)
21 os.mkdir(src_dir_b)
22 os.mkdir(dst_dir)
23 os.mkdir(dst_dir_a)
24
25 dst_dir_b = os.path.join(dst_dir, "b")
26
27 utils.cp(src_dir, dst_dir)
28
29 # Destination contents are not preserved.
30 assert not os.path.exists(dst_dir_a)
31
32 # Source tree is copied to destination.
33 assert os.path.exists(dst_dir_b)
34
35
36def test_cp_mk_dst():
37 with tempfile.TemporaryDirectory() as tmpdir:
38 src_dir = os.path.join(tmpdir, "src")
39 src_dir_b = os.path.join(src_dir, "b")
40 dst_dir = os.path.join(tmpdir, "dst")
41
42 os.mkdir(src_dir)
43 os.mkdir(src_dir_b)
44
45 dst_dir_b = os.path.join(dst_dir, "b")
46
47 utils.cp(src_dir, dst_dir)
48
49 # Missing destination is created.
50 assert os.path.exists(dst_dir)
51
52 # Source tree is copied to destination.
53 assert os.path.exists(dst_dir_b)
54
55
56def test_mv():
57 with tempfile.TemporaryDirectory() as tmpdir:
58 src_dir = os.path.join(tmpdir, "src")
59 src_dir_b = os.path.join(src_dir, "b")
60 dst_dir = os.path.join(tmpdir, "dst")
61 dst_dir_a = os.path.join(dst_dir, "a")
62
63 os.mkdir(src_dir)
64 os.mkdir(src_dir_b)
65 os.mkdir(dst_dir)
66 os.mkdir(dst_dir_a)
67
68 dst_dir_b = os.path.join(dst_dir, "b")
69
70 utils.mv(src_dir, dst_dir)
71
72 # Destination contents are not preserved.
73 assert not os.path.exists(dst_dir_a)
74
75 # Source tree is copied to destination.
76 assert os.path.exists(dst_dir_b)
77
78 # Source tree is removed.
79 assert not os.path.exists(src_dir)
80
81
82def test_mv_mk_dst():
83 with tempfile.TemporaryDirectory() as tmpdir:
84 src_dir = os.path.join(tmpdir, "src")
85 src_dir_b = os.path.join(src_dir, "b")
86 dst_dir = os.path.join(tmpdir, "dst")
87
88 os.mkdir(src_dir)
89 os.mkdir(src_dir_b)
90
91 dst_dir_b = os.path.join(dst_dir, "b")
92
93 utils.mv(src_dir, dst_dir)
94
95 # Missing destination is created.
96 assert os.path.exists(dst_dir)
97
98 # Source tree is copied to destination.
99 assert os.path.exists(dst_dir_b)
100
101 # Source tree is removed.
102 assert not os.path.exists(src_dir)
103
104
105def test_rm():
106 with tempfile.TemporaryDirectory() as tmpdir:
107 src_dir = os.path.join(tmpdir, "src")
108 src_dir_b = os.path.join(src_dir, "b")
109
110 os.mkdir(src_dir)
111 os.mkdir(src_dir_b)
112
113 utils.rm(src_dir)
114
115 # Source tree is removed.
116 assert not os.path.exists(src_dir)
117
118
119if __name__ == "__main__":
120 test_append()
121 test_cp()
122 test_cp_mk_dst()
123 test_mv()
124 test_rm()