vibecode the entire rgz ig
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# Brief testing guide
|
||||
|
||||
## 1. Build and start
|
||||
|
||||
```bash
|
||||
make
|
||||
make run
|
||||
```
|
||||
|
||||
`make run` starts the program with `disk.img` as the virtual carrier file.
|
||||
|
||||
## 2. Basic filesystem scenario
|
||||
|
||||
When testing manually in a terminal, try the **Up** and **Down** arrows after a few commands: they browse command history.
|
||||
|
||||
Enter these commands inside the program:
|
||||
|
||||
```text
|
||||
format 512
|
||||
mkdir /docs
|
||||
touch /docs/test.txt
|
||||
write /docs/test.txt hello filesystem
|
||||
cp /docs/test.txt /docs/copy.txt
|
||||
ls /docs
|
||||
cat /docs/test.txt
|
||||
mv /docs/test.txt /docs/renamed.txt
|
||||
cat /docs/renamed.txt
|
||||
info
|
||||
```
|
||||
|
||||
Expected result:
|
||||
|
||||
- formatting succeeds;
|
||||
- `/docs` contains the original file and its copy;
|
||||
- `cat` prints `hello filesystem`;
|
||||
- after `mv`, the file is available as `renamed.txt`;
|
||||
- `info` shows a 512 KiB carrier and occupied clusters.
|
||||
|
||||
## 3. Compression and defragmentation
|
||||
|
||||
```text
|
||||
touch /docs/repeat.txt
|
||||
write /docs/repeat.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
compress /docs/repeat.txt
|
||||
ls /docs
|
||||
rawcat /docs/repeat.txt
|
||||
decomp /docs/repeat.txt
|
||||
rawcat /docs/repeat.txt
|
||||
defrag
|
||||
cat /docs/repeat.txt
|
||||
```
|
||||
|
||||
Expected result:
|
||||
|
||||
- `compress` succeeds for repeated text;
|
||||
- in `ls`, `stored` is smaller than `size` for `repeat.txt`;
|
||||
- `rawcat` shows compact RLE pairs before decompression and direct bytes after `decomp`;
|
||||
- after `defrag`, the file still reads correctly.
|
||||
|
||||
## 4. Import and export
|
||||
|
||||
Before starting the program, create a host file:
|
||||
|
||||
```bash
|
||||
echo "outside file" > host.txt
|
||||
```
|
||||
|
||||
Then inside the program:
|
||||
|
||||
```text
|
||||
import host.txt /docs/imported.txt
|
||||
cat /docs/imported.txt
|
||||
export /docs/imported.txt exported.txt
|
||||
```
|
||||
|
||||
After leaving the program, verify:
|
||||
|
||||
```bash
|
||||
cat exported.txt
|
||||
```
|
||||
|
||||
Expected result: `exported.txt` contains `outside file`.
|
||||
|
||||
## 5. Cleanup
|
||||
|
||||
```bash
|
||||
make clean
|
||||
rm -f host.txt exported.txt
|
||||
```
|
||||
|
||||
`make clean` removes the executable and the default virtual disk image.
|
||||
Reference in New Issue
Block a user