23 years ago 20021126

0a1,82
When we fill up the tenth directory (90, 900, 9000, etc) we have to make more room by creating a next higher level directory and putting all of our current numbers under the first directory (000, 0000, 00000, etc) within it.

We will run several setups in this test. Our first few are with no established directories.

| Setup |||
| directory | files | contents |


Now we will fill this with 12 files. A reorganization takes place after 10.

| Record ||
| text | number() |
| text for 0-9 | 0 |
| text for 0-9 | 1 |
| text for 0-9 | 2 |
| text for 0-9 | 3 |
| text for 0-9 | 4 |
| text for 0-9 | 5 |
| text for 0-9 | 6 |
| text for 0-9 | 7 |
| text for 0-9 | 8 |
| text for 0-9 | 9 |
| text for 10 | 10 |
| text for 11 | 11 |

We should have two directories, one for 0-9 and another for 10-11.

| Directory |
| path() |
| 00 |
| 00/0 |
| 00/1 |
| 00/2 |
| 00/3 |
| 00/4 |
| 00/5 |
| 00/6 |
| 00/7 |
| 00/8 |
| 00/9 |
| 10 |
| 10/0 |
| 10/1 |

Now we will try the same thing but with an allocate10 triggering the reorganization, which will happen whether 0-9 have been fully allocated or not.

| Setup |||
| directory | files | contents |

| Record ||
| text | number() |
| text for 0-9 | 0 |
| text for 0-9 | 1 |
| text for 0-9 | 2 |
| text for 0-9 | 3 |

| Allocate10 |||
| password | cookie | number() |
| no | no | 10 |
| no | no | 20 |

| Record ||
| text | number() |
| text for 0-9 | 4 |
| text for 0-9 | 5 |
| text for 0-9 | 6 |
| text for 0-9 | 7 |

| Directory ||
| path() | isDir() |
| 00 | yes |
| 00/0 | no |
| 00/1 | no |
| 00/2 | no |
| 00/3 | no |
| 00/4 | no |
| 00/5 | no |
| 00/6 | no |
| 00/7 | no |
| 10 | no |
| 20 | no |

89 seconds later TestReorganizingDirectoryOverflow

61a62,72
| Directory ||
| path() | isDir() |
| 00 | yes |
| 00/0 | no |
| 00/1 | no |
| 00/2 | no |
| 00/3 | no |
| 10 | no |
| 20 | no |