rvm  1.11
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
test-vaulter-setup.cc
Go to the documentation of this file.
1 #include "config.h"
2 
3 #include <iostream>
4 #include <fstream>
5 #include <iomanip>
6 #include <string>
7 #include <cassert>
8 
9 #include "asserts.h"
10 #include "error.h"
11 #include "fs.h"
12 #include "vaulter.h"
13 
14 bool make_dir(const std::string& path)
15 {
16  bool thrown;
17 
18  thrown = false;
19  try {
20  mk_dir(path);
21  }
22  catch(...) {
23  thrown = true;
24  }
25 
26  return(thrown == false);
27 }
28 
29 void setup(void)
30 {
31  std::ofstream out;
32 
33  assert(make_dir("./test-vaulter.dir"));
34  assert(make_dir("./test-vaulter.dir/group-1"));
35  assert(make_dir("./test-vaulter.dir/group-1/vault-1"));
36  assert(make_dir("./test-vaulter.dir/group-1/vault-2"));
37  assert(make_dir("./test-vaulter.dir/group-1/vault-3"));
38  assert(make_dir("./test-vaulter.dir/group-1/vault-1/2003-09-15"));
39  assert(make_dir("./test-vaulter.dir/group-1/vault-2/2003-09-16"));
40  assert(make_dir("./test-vaulter.dir/group-1/vault-3/2003-09-17"));
41  assert(make_dir("./test-vaulter.dir/group-1/vault-1/2003-09-18.incomplete"));
42  assert(make_dir("./test-vaulter.dir/group-1/vault-1/2003-09-18.corrupt"));
43  assert(make_dir("./test-vaulter.dir/group-1/vault-2/2003-09-19"));
44  assert(make_dir("./test-vaulter.dir/group-1/vault-3/2003-09-20"));
45  assert(make_dir("./test-vaulter.dir/group-1/vault-1/2003-09-21"));
46  assert(make_dir("./test-vaulter.dir/group-1/vault-2/2003-09-22"));
47  assert(make_dir("./test-vaulter.dir/group-2"));
48  assert(make_dir("./test-vaulter.dir/group-2/vault-1"));
49  assert(make_dir("./test-vaulter.dir/group-2/vault-2"));
50  assert(make_dir("./test-vaulter.dir/group-2/vault-3"));
51  assert(make_dir("./test-vaulter.dir/group-2/vault-1/2003-09-15"));
52  assert(make_dir("./test-vaulter.dir/group-2/vault-2/2003-09-16"));
53  assert(make_dir("./test-vaulter.dir/group-2/vault-3/2003-09-17"));
54  assert(make_dir("./test-vaulter.dir/group-2/vault-1/2003-09-18"));
55  assert(make_dir("./test-vaulter.dir/group-2/vault-2/2003-09-19"));
56  assert(make_dir("./test-vaulter.dir/group-2/vault-3/2003-09-20"));
57  assert(make_dir("./test-vaulter.dir/group-2/vault-1/2003-09-21"));
58  assert(make_dir("./test-vaulter.dir/log.dir"));
59  assert(make_dir("./test-vaulter.dir/log.dir/log-1.dir"));
60  assert(make_dir("./test-vaulter.dir/log.dir/log-2.dir"));
61 
62  out.open("./test-vaulter.dir/file-1.conf");
63  assert(out.is_open());
64  out << "log-dir ./test-vaulter.dir/log.dir/log-1.dir" << std::endl;
65  out << "vault ./test-vaulter.dir/group-1/*" << std::endl;
66  out << "vault-selection-behavior round-robin" << std::endl;
67  out.close();
68 
69  assert(make_dir("./test-vaulter.dir/log.dir/log-3.dir"));
70  assert(make_dir("./test-vaulter.dir/group-3"));
71  assert(make_dir("./test-vaulter.dir/group-3/vault-1"));
72  assert(make_dir("./test-vaulter.dir/group-3/vault-1/2006-06-20"));
73  assert(make_dir("./test-vaulter.dir/group-3/vault-1/2006-06-21"));
74  assert(make_dir("./test-vaulter.dir/group-3/vault-1/2006-06-22"));
75  assert(make_dir("./test-vaulter.dir/group-3/vault-1/2006-06-23"));
76  assert(make_dir("./test-vaulter.dir/group-3/vault-1/2006-06-24"));
77 
78  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-20.log");
79  assert(out.is_open());
80  out << "Hello World" << std::endl;
81  out.close();
82 
83  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-20.report");
84  assert(out.is_open());
85  out << "Hello World" << std::endl;
86  out.close();
87 
88  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-21.relink");
89  assert(out.is_open());
90  out << "Hello World" << std::endl;
91  out.close();
92 
93  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-22.log");
94  assert(out.is_open());
95  out << "Hello World" << std::endl;
96  out.close();
97 
98  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-22.report");
99  assert(out.is_open());
100  out << "Hello World" << std::endl;
101  out.close();
102 
103  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-23.log");
104  assert(out.is_open());
105  out << "Hello World" << std::endl;
106  out.close();
107 
108  out.open("./test-vaulter.dir/log.dir/log-3.dir/2006-06-23.report");
109  assert(out.is_open());
110  out << "Hello World" << std::endl;
111  out.close();
112 
113  out.open("./test-vaulter.dir/file-2.conf");
114  assert(out.is_open());
115  out << "log-dir ./test-vaulter.dir/log.dir/log-3.dir" << std::endl;
116  out << "delete-old-log-files yes" << std::endl;
117  out << "vault ./test-vaulter.dir/group-3/*" << std::endl;
118  out << "vault-selection-behavior round-robin" << std::endl;
119  out.close();
120 
121  out.open("./test-vaulter.dir/file-3.conf");
122  assert(out.is_open());
123  out << "log-dir ./test-vaulter.dir/log.dir/log-3.dir" << std::endl;
124  out << "delete-old-report-files yes" << std::endl;
125  out << "vault ./test-vaulter.dir/group-3/*" << std::endl;
126  out << "vault-selection-behavior round-robin" << std::endl;
127  out.close();
128 
129  out.open("./test-vaulter.dir/file-4.conf");
130  assert(out.is_open());
131  out << "log-dir ./test-vaulter.dir/log.dir/log-3.dir" << std::endl;
132  out << "delete-old-log-files yes" << std::endl;
133  out << "delete-old-report-files yes" << std::endl;
134  out << "vault ./test-vaulter.dir/group-3/*" << std::endl;
135  out << "vault-selection-behavior round-robin" << std::endl;
136  out.close();
137 
138  out.open("./test-vaulter.dir/file-5.conf");
139  assert(out.is_open());
140  out << "log-dir ./test-vaulter.dir/log.dir/log-3.dir" << std::endl;
141  out << "vault ./test-vaulter.dir/group-3/*" << std::endl;
142  out << "vault-selection-behavior round-robin" << std::endl;
143  out.close();
144 }
145 
146 void cleanup(void)
147 {
148  system("rm -fr ./test-vaulter.dir");
149 }
150 
void mk_dir(const std::string &a_path)
Create a directory.
Definition: fs.cc:599
bool make_dir(const std::string &path)
void setup(void)
void cleanup(void)