@@ -6,6 +6,10 @@ use std::{
6
6
path:: { Path , PathBuf } ,
7
7
} ;
8
8
9
+ const IMMUTABLE_DIR : & str = "immutable" ;
10
+ const LEDGER_DIR : & str = "ledger" ;
11
+ const VOLATILE_DIR : & str = "volatile" ;
12
+
9
13
/// A [DummyImmutableDb] builder.
10
14
pub struct DummyImmutablesDbBuilder {
11
15
dir : PathBuf ,
@@ -51,7 +55,7 @@ impl DummyImmutablesDbBuilder {
51
55
/// system temp directory, if it exists already it will be cleaned.
52
56
pub fn new ( dir_name : & str ) -> Self {
53
57
Self {
54
- dir : Self :: get_test_dir ( dir_name) ,
58
+ dir : get_test_dir ( dir_name) ,
55
59
immutables_to_write : vec ! [ ] ,
56
60
non_immutables_to_write : vec ! [ ] ,
57
61
append_uncompleted_trio : false ,
@@ -130,7 +134,7 @@ impl DummyImmutablesDbBuilder {
130
134
if self . append_uncompleted_trio {
131
135
write_immutable_trio (
132
136
self . immutable_file_size ,
133
- & self . dir ,
137
+ & self . dir . join ( IMMUTABLE_DIR ) ,
134
138
match immutable_numbers. last ( ) {
135
139
None => 0 ,
136
140
Some ( last) => last + 1 ,
@@ -141,40 +145,38 @@ impl DummyImmutablesDbBuilder {
141
145
for non_immutable in & self . non_immutables_to_write {
142
146
non_immutables_files. push ( write_dummy_file (
143
147
self . immutable_file_size ,
144
- & self . dir ,
148
+ & self . dir . join ( IMMUTABLE_DIR ) ,
145
149
non_immutable,
146
150
) ) ;
147
151
}
148
152
149
- if !self . ledger_files_to_write . is_empty ( ) {
150
- let ledger_dir = self . dir . parent ( ) . unwrap ( ) . join ( "ledger" ) ;
151
- std:: fs:: create_dir_all ( & ledger_dir) . unwrap ( ) ;
152
- for filename in & self . ledger_files_to_write {
153
- write_dummy_file ( self . ledger_file_size , & ledger_dir, filename) ;
154
- }
155
- } ;
156
-
157
- if !self . volatile_files_to_write . is_empty ( ) {
158
- let volatile_dir = self . dir . parent ( ) . unwrap ( ) . join ( "volatile" ) ;
159
- std:: fs:: create_dir_all ( & volatile_dir) . unwrap ( ) ;
160
- for filename in & self . volatile_files_to_write {
161
- write_dummy_file ( self . volatile_file_size , & volatile_dir, filename) ;
162
- }
153
+ for filename in & self . ledger_files_to_write {
154
+ write_dummy_file ( self . ledger_file_size , & self . dir . join ( LEDGER_DIR ) , filename) ;
155
+ }
156
+
157
+ for filename in & self . volatile_files_to_write {
158
+ write_dummy_file (
159
+ self . volatile_file_size ,
160
+ & self . dir . join ( VOLATILE_DIR ) ,
161
+ filename,
162
+ ) ;
163
163
}
164
164
165
165
DummyImmutableDb {
166
- dir : self . dir . clone ( ) ,
166
+ dir : self . dir . join ( IMMUTABLE_DIR ) ,
167
167
immutables_files : immutable_numbers
168
168
. into_iter ( )
169
- . flat_map ( |ifn| write_immutable_trio ( self . immutable_file_size , & self . dir , ifn) )
169
+ . flat_map ( |ifn| {
170
+ write_immutable_trio (
171
+ self . immutable_file_size ,
172
+ & self . dir . join ( IMMUTABLE_DIR ) ,
173
+ ifn,
174
+ )
175
+ } )
170
176
. collect :: < Vec < _ > > ( ) ,
171
177
non_immutables_files,
172
178
}
173
179
}
174
-
175
- fn get_test_dir ( subdir_name : & str ) -> PathBuf {
176
- TempDir :: create ( subdir_name, "immutable" )
177
- }
178
180
}
179
181
180
182
fn write_immutable_trio (
@@ -213,3 +215,12 @@ fn write_dummy_file(optional_size: Option<u64>, dir: &Path, filename: &str) -> P
213
215
214
216
file
215
217
}
218
+
219
+ fn get_test_dir ( subdir_name : & str ) -> PathBuf {
220
+ let db_dir = TempDir :: create ( "test_cardano_db" , subdir_name) ;
221
+ for subdir_name in [ LEDGER_DIR , IMMUTABLE_DIR , VOLATILE_DIR ] {
222
+ std:: fs:: create_dir ( db_dir. join ( subdir_name) ) . unwrap ( ) ;
223
+ }
224
+
225
+ db_dir
226
+ }
0 commit comments