-
Notifications
You must be signed in to change notification settings - Fork 0
/
runtests.sh
executable file
·134 lines (94 loc) · 2.48 KB
/
runtests.sh
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/bin/bash
# Run from the ori root directory
# Use file runtests_config.sh to selectively run tests
# TODO: nothing works if CWD has spaces in path
export ORIG_DIR=`pwd`
#export PATH=$PATH:$ORIG_DIR/
export CMD=$ORIG_DIR/bin/cmd
export HTTPD=$ORIG_DIR/bin/httpd
export DFS_EXE=$ORIG_DIR/bin/dfs
#export ORIDBG_EXE=$ORIG_DIR/build/oridbg/oridbg
# export ORI_TESTS=$ORIG_DIR/ori_tests
# On OS X and other systems this is umount
#export UMOUNT="fusermount -u"
export UMOUNT="umount"
export TEMP_DIR=$ORIG_DIR/tempdir
export SOURCE_FILES=$TEMP_DIR/files
export SOURCE_REPO=$TEMP_DIR/source_repo
export TEST_REPO2=$TEMP_DIR/test_repo2
export TEST_MERGEREPO=$TEMP_DIR/test_merge
export MTPOINT=$TEMP_DIR/mtpoint
export SOURCE_FS=oritest_source
export TEST_FS=oritest_fs
export TEST_FS2=oritest_fs2
export TEST_RESULTS=$ORIG_DIR/test_results.txt
# Check for tempdir
if [ -d $TEMP_DIR ]; then
echo "Directory $TEMP_DIR already exists,"
echo "please delete before running tests"
exit
fi
if [ -d ~/.ori/$SOURCE_FS.ori ]; then
echo "One or more test file systems have not been deleted!"
exit
fi
mkdir $TEMP_DIR
mkdir $TEMP_DIR/$TEST_FS
mkdir $TEMP_DIR/$TEST_FS2
mkdir -p $SOURCE_FILES/a
echo "Hello, world!" > $SOURCE_FILES/a/a.txt
touch $SOURCE_FILES/a/empty
mkdir $SOURCE_FILES/a/empty_dir
mkdir $SOURCE_FILES/b
echo "Foo" > $SOURCE_FILES/b/b.txt
#cp $ORIG_DIR/libs $TEMP_DIR
printf "Ori Test Suite\n----------\nRUNNING TESTS\n----------\n"
# Run tests
echo "runtests.sh test results" > $TEST_RESULTS
date >> $TEST_RESULTS
echo >> $TEST_RESULTS
# =================================================
cd $TEMP_DIR
cp $ORIG_DIR/libdfs.dylib ./
# newfs
$CMD newfs $TEST_FS
# mount
$DFS_EXE $TEST_FS
sleep 1
cd $TEST_FS
ls > /dev/null
cd ../
$UMOUNT $TEST_FS
cd ~/.ori/$TEST_FS.ori/
#$ORIDBG_EXE verify
#$ORIDBG_EXE stats
cd $ORIG_DIR
# remove
#$CMD removefs $TEST_FS
# =================================================
# Clone local
cd $TEMP_DIR
$CMD replicate $SOURCE_FS $TEST_FS
$DFS_EXE $SOURCE_FS
$DFS_EXE $TEST_FS
sleep 1
cd $TEST_FS
#$PYTHON $SCRIPTS/compare.py "$SOURCE_FS" "$TEST_FS"
cd ..
$UMOUNT $SOURCE_FS
$UMOUNT $TEST_FS
cd ~/.ori/$TEST_FS.ori
#$ORIDBG_EXE verify
#$ORIDBG_EXE stats
#bash -e $SCRIPTS/verify_refcounts.sh
cd $TEMP_DIR
$CMD removefs $TEST_FS
# =================================================
# Delete test repo, temp dir
if false; then
cd $ORIG_DIR
echo "Deleting directories"
$CMD removefs $SOURCE_FS
rm -rf $SOURCE_FILES
rm -rf $TEMP_DIR
fi