| | 143 | |
|---|
| | 144 | def test_makedirs_from_not_root_directory(self): |
|---|
| | 145 | # this is a testcase for issue #22, see |
|---|
| | 146 | # http://ftputil.sschwarzer.net/trac/ticket/22 |
|---|
| | 147 | host = self.host |
|---|
| | 148 | # no `_dir1_` and `_dir2_` yet |
|---|
| | 149 | self.failIf('_dir1_' in host.listdir(host.curdir)) |
|---|
| | 150 | self.failIf('_dir2_' in host.listdir(host.curdir)) |
|---|
| | 151 | # part 1: try to make directories starting from `_dir1_` |
|---|
| | 152 | # make and change to non-root directory |
|---|
| | 153 | host.mkdir('_dir1_') |
|---|
| | 154 | host.chdir('_dir1_') |
|---|
| | 155 | host.makedirs('_dir2_/_dir3_') |
|---|
| | 156 | # test for expected directory hierarchy |
|---|
| | 157 | self.failUnless(host.path.isdir('/_dir1_')) |
|---|
| | 158 | self.failUnless(host.path.isdir('/_dir1_/_dir2_')) |
|---|
| | 159 | self.failUnless(host.path.isdir('/_dir1_/_dir2_/_dir3_')) |
|---|
| | 160 | self.failIf(host.path.isdir('/_dir1_/_dir1_')) |
|---|
| | 161 | # remove all but the directory were in |
|---|
| | 162 | host.rmdir('/_dir1_/_dir2_/_dir3_') |
|---|
| | 163 | host.rmdir('/_dir1_/_dir2_') |
|---|
| | 164 | # part 2: try to make directories starting from root |
|---|
| | 165 | host.makedirs('/_dir2_/_dir3_') |
|---|
| | 166 | # test for expected directory hierarchy |
|---|
| | 167 | self.failUnless(host.path.isdir('/_dir2_')) |
|---|
| | 168 | self.failUnless(host.path.isdir('/_dir2_/_dir3_')) |
|---|
| | 169 | self.failIf(host.path.isdir('/_dir1_/_dir2_')) |
|---|
| | 170 | # clean up |
|---|
| | 171 | host.rmdir('/_dir2_/_dir3_') |
|---|
| | 172 | host.rmdir('/_dir2_') |
|---|
| | 173 | host.chdir(host.pardir) |
|---|
| | 174 | host.rmdir('/_dir1_') |
|---|