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