Mercurial > hg > toybox
comparison scripts/test/mv.test @ 1364:94677e7b6d97 draft
I have developed few testsuite for toybox commands - ls, ln, rm, mv, printf, dd, renice.
author | Divya Kothari <divya.s.kothari@gmail.com> |
---|---|
date | Thu, 26 Jun 2014 07:25:20 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1363:e65f9a9ba62d | 1364:94677e7b6d97 |
---|---|
1 #!/bin/bash | |
2 | |
3 # Copyright 2013 Robin Mittal <robinmittal.it@gmail.com> | |
4 # Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com> | |
5 | |
6 [ -f testing.sh ] && . testing.sh | |
7 | |
8 #testing "name" "command" "result" "infile" "stdin" | |
9 | |
10 touch file | |
11 testing "Move old_file to new_file" "mv file file1 && [ ! -e file -a -f file1 ] && | |
12 echo 'yes'" "yes\n" "" "" | |
13 rm -f file* | |
14 | |
15 touch file | |
16 mkdir dir | |
17 testing "Move file to a dir" "mv file dir && [ ! -e file -a -f dir/file ] && | |
18 echo 'yes'" "yes\n" "" "" | |
19 rm -rf file* dir* | |
20 | |
21 mkdir dir | |
22 testing "Move old_dir to new_dir" "mv dir dir1 && [ ! -e dir -a -d dir1 ] && | |
23 echo 'yes'" "yes\n" "" "" | |
24 rm -rf dir* | |
25 | |
26 mkdir dir1 dir2 | |
27 touch file1 file2 dir1/file3 | |
28 ln -s file1 link1 | |
29 testing "Move multiple files/dir to a dir" "mv file1 file2 link1 dir1 dir2 && | |
30 [ ! -e file1 -a ! -e file2 -a ! -e link1 -a ! -e dir1 ] && | |
31 [ -f dir2/file1 -a -f dir2/file2 -a -L dir2/link1 -a -d dir2/dir1 ] && | |
32 [ -f dir2/dir1/file3 ] && readlink dir2/link1" "file1\n" "" "" | |
33 rm -rf file* link* dir* | |
34 | |
35 touch file1 | |
36 testing "Move a empty file to new_file" "mv file1 file2 && | |
37 [ ! -e file1 -a -f file2 ] && stat -c %s file2" "0\n" "" "" | |
38 rm -rf file* | |
39 | |
40 mkdir dir1 | |
41 testing "Move enpty dir to new_dir" "mv dir1 dir2 && | |
42 [ ! -d dir1 -a -d dir2 ] && echo 'yes'" "yes\n" "" "" | |
43 rm -rf dir* | |
44 | |
45 dd if=/dev/zero of=file1 seek=10k count=1 >/dev/null 2>&1 | |
46 testing "Move file new_file (random file)" "mv file1 file2 && | |
47 [ ! -e file1 -a -f file2 ] && stat -c %s file2" "5243392\n" "" "" | |
48 rm -f file* | |
49 | |
50 touch file1 | |
51 ln -s file1 link1 | |
52 testing "Move link new_link (softlink)" "mv link1 link2 && | |
53 [ ! -e link1 -a -L link2 ] && readlink link2" "file1\n" "" "" | |
54 unlink tLink2 &>/dev/null | |
55 rm -f file* link* | |
56 | |
57 touch file1 | |
58 ln file1 link1 | |
59 testing "Move link new_link (hardlink)" "mv link1 link2 && | |
60 [ ! -e link1 -a -f link2 -a file1 -ef link2 ] && echo 'yes'" "yes\n" "" "" | |
61 unlink link2 &>/dev/null | |
62 rm -f file* link* | |
63 | |
64 touch file1 | |
65 chmod a-r file1 | |
66 testing "Move file new_file (unreadable)" "mv file1 file2 && | |
67 [ ! -e file1 -a -f file2 ] && echo 'yes'" "yes\n" "" "" | |
68 rm -f file* | |
69 | |
70 touch file1 | |
71 ln file1 link1 | |
72 mkdir dir1 | |
73 testing "Move file link dir (hardlink)" "mv file1 link1 dir1 && | |
74 [ ! -e file1 -a ! -e link1 -a -f dir1/file1 -a -f dir1/link1 ] && | |
75 [ dir1/file1 -ef dir1/link1 ] && echo 'yes'" "yes\n" "" "" | |
76 rm -rf file* link* dir* | |
77 | |
78 mkdir -p dir1/dir2 dir3 | |
79 touch dir1/dir2/file1 dir1/dir2/file2 | |
80 testing "Move dir1/dir2 dir3/new_dir" "mv dir1/dir2 dir3/dir4 && | |
81 [ ! -e dir1/dir2 -a -d dir3/dir4 -a -f dir3/dir4/file1 ] && | |
82 [ -f dir3/dir4/file2 ] && echo 'yes'" "yes\n" "" "" | |
83 rm -rf file* dir* | |
84 | |
85 mkdir dir1 dir2 | |
86 testing "Move dir new_dir (already exist)" "mv dir1 dir2 && | |
87 [ ! -e dir1 -a -d dir2/dir1 ] && echo 'yes'" "yes\n" "" "" | |
88 rm -rf dir* | |
89 | |
90 touch file1 file2 | |
91 testing "Move -f file new_file (exist)" "mv -f file1 file2 && | |
92 [ ! -e file1 -a -e file2 ] && echo 'yes'" "yes\n" "" "" | |
93 rm -f file* | |
94 | |
95 touch file1 file2 | |
96 testing "Move -n file new_file (exist)" "mv -n file1 file2 && | |
97 [ -e file1 -a -e file2 ] && echo 'yes'" "yes\n" "" "" | |
98 rm -f file* |