- Build the solution in Debug configuration for x64 platform
- All executables are automatically placed in the
bindirectory
Important: Tests are designed to run from the bin directory where all executables are located.
.\run_tests.bat# Change to bin directory where all executables are located
cd bin
.\Tests_doctest.exe# From bin directory
cd bin
# Run only StdPipe write tests (includes partial write validation)
.\Tests_doctest.exe --test-case="*Write*"
# Run only process execution tests
.\Tests_doctest.exe --test-case="*Run*"
# Run with verbose output
.\Tests_doctest.exe --verbose# Build the solution
msbuild PipedProcess.sln /p:Configuration=Debug /p:Platform=x64
# Run all tests
.\run_tests.batThe test suite includes:
- PipedProcess functionality tests: Process execution, stdin/stdout handling, error conditions
- StdPipe functionality tests: Pipe management, read/write operations, large data handling
- Partial write validation: Tests for handling data larger than DWORD limits (>4GB scenarios)
- Input validation tests: Null pointer safety and exception handling
- Partial Write Support: The
StdPipe::Write()method now properly handles large data by chunking it into DWORD-sized pieces - Input Validation: Added null pointer checks with proper exception throwing
- Build Configuration: All executables are centralized in the
bindirectory - Test Coverage: Added comprehensive tests for edge cases and large data scenarios
If tests fail with error code 3 ("path not found"):
- Ensure you're running from the solution root directory
- Verify that
stdEcho.exeandDemoChildProc.exeexist in thebindirectory - Check that the current working directory is correct
If build fails:
- Ensure Visual Studio 2022 with C++ workload is installed
- Verify the platform is set to x64
- Check that all dependencies are available