Clean up old test-env directory and finalize test-tmp implementation
This commit is contained in:
parent
cff36fb6e6
commit
267131960a
|
@ -1 +0,0 @@
|
||||||
test file
|
|
|
@ -1 +0,0 @@
|
||||||
test file
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
# Testing the Tarballer Utility
|
||||||
|
|
||||||
|
This directory contains test scripts for validating the functionality of the Tarballer utility.
|
||||||
|
|
||||||
|
## Test Environment
|
||||||
|
|
||||||
|
All tests run in a Docker container with temporary files stored in the `/test-tmp` directory. This directory is:
|
||||||
|
|
||||||
|
1. Git-ignored to prevent cluttering the repository
|
||||||
|
2. Automatically created by the Docker container
|
||||||
|
3. Cleaned up after tests complete (unless you specify otherwise)
|
||||||
|
|
||||||
|
## Running Tests
|
||||||
|
|
||||||
|
To run the tests, use Docker Compose from the project root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Build and run all tests
|
||||||
|
docker compose up --build
|
||||||
|
|
||||||
|
# Run only the basic test
|
||||||
|
docker compose run tarballer /bin/test.sh basic
|
||||||
|
|
||||||
|
# Run only the tar comparison test
|
||||||
|
docker compose run tarballer /bin/test.sh tar
|
||||||
|
|
||||||
|
# Keep temporary files after tests (for debugging)
|
||||||
|
docker compose run tarballer /bin/test.sh all 1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Test Types
|
||||||
|
|
||||||
|
The test script (`test.sh`) supports several test types:
|
||||||
|
|
||||||
|
1. `basic` - Tests basic tarball creation and extraction with various file types and symlinks
|
||||||
|
2. `tar` - Compares our utility against standard tar functionality
|
||||||
|
3. `all` - Runs all tests (default)
|
||||||
|
4. `clean` - Just cleans up temporary files
|
||||||
|
|
||||||
|
## Test Directory Structure
|
||||||
|
|
||||||
|
The tests create the following structure in the `/test-tmp` directory:
|
||||||
|
|
||||||
|
- `/test-tmp/complex/` - Directory with complex nested structure for basic test
|
||||||
|
- `/test-tmp/complex-extracted/` - Where the complex test tarball is extracted
|
||||||
|
- `/test-tmp/standard-test/` - Directory with sample app structure for tar comparison
|
||||||
|
- `/test-tmp/standard-extracted/` - Where our utility's tarball is extracted
|
||||||
|
- `/test-tmp/reference-extracted/` - Where standard tar's tarball is extracted
|
||||||
|
|
||||||
|
## Manual Testing
|
||||||
|
|
||||||
|
If you need to manually test the tarballer utility, you can:
|
||||||
|
|
||||||
|
1. Build the binaries: `docker compose up --build`
|
||||||
|
2. Use the binaries in `./bin/` directory:
|
||||||
|
```bash
|
||||||
|
# Create a tarball
|
||||||
|
./bin/tarballer-darwin -source /path/to/source -output output.tar.gz -prefix myapp
|
||||||
|
|
||||||
|
# Extract and verify a tarball
|
||||||
|
./bin/tarballer-darwin -extract -output output.tar.gz -extractdir /path/to/extract
|
||||||
|
```
|
||||||
|
|
||||||
|
## Modifying Tests
|
||||||
|
|
||||||
|
When modifying tests, ensure any temporary files are created within the `/test-tmp` directory structure to keep the repository clean.
|
Loading…
Reference in New Issue