summaryrefslogtreecommitdiff
path: root/integrationtests
AgeCommit message (Collapse)Author
2025-06-20Fix missing colored output in dcat serverless modePaul Buetow
- In serverless mode, output was written directly to stdout bypassing color processing - Created ColorWriter wrapper that applies colors before writing to stdout - Updated brush.Colorfy to also color severity levels (ERROR, WARN, FATAL) in plain text - Ensured --plain flag still disables colors as expected - Updated integration tests to use --noColor flag to get predictable output 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20Fix line ending issue in dcat and add integration testsPaul Buetow
- Fixed missing line endings in dcat output when not using --plain mode - Scanner.Bytes() strips newlines, so added logic to restore them - Only CatProcessor needs newlines added (GrepProcessor already adds them) - Added comprehensive integration tests for both dcat and dgrep line endings - Tests cover: basic usage, plain mode, multiple files, empty files, CRLF handling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19Fix integration test failures by increasing channel buffer sizesPaul Buetow
- Increased server lines channel buffer from 1000 to 10000 to handle large test files - Fixed TestDCatColors which was failing due to channel overflow with 2754 lines - Enhanced test helpers with better timeout handling and output collection - Improved line ending preservation in test output processing - Added proper server shutdown delays to prevent test flakiness The main issue was that test files with many lines (like dcatcolors.txt) were causing "server lines channel full" errors when the channel buffer was too small. Increasing the buffer size resolves this without introducing blocking behavior. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19Implement line ending preservation and address CLAUDE commentsPaul Buetow
- Fix server-side line ending preservation in plain mode by updating basehandler to not add protocol delimiters, preserving original CRLF/LF line endings - Add comprehensive documentation to ProcessLine methods in all processors - Remove all CLAUDE comments and replace with proper function documentation - Update DCat test to include --quiet flag for cleaner server output - Clean up PGO script and report files from scripts directory - Improve code formatting and consistency across processor files 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Fix DGrep color output and address all CLAUDE commentsPaul Buetow
- Fix DGrep color issue by adding brush.Colorfy() to GrepProcessor.formatLine() - Increase server channel buffer size from 100 to 1000 lines in healthhandler.go and serverhandler.go - Enable skipped tests: TestDCat2 and TestDCatColors now run in both serverless and server modes - Ensure consistent test files across modes: all DGrep and DMap tests use identical files and counts - Split directprocessor.go (1228 lines) into 6 focused files under 1000 lines each: - directprocessor.go (398 lines): Core processor and interface - grepprocessor.go (176 lines): Grep functionality with color support - catprocessor.go (104 lines): Cat functionality - tailprocessor.go (312 lines): Tail and following functionality - mapprocessor.go (198 lines): MapReduce functionality - aggregateprocessor.go (83 lines): Aggregate processing - Update CLAUDE.md with development guidelines and integration testing standards - Remove all CLAUDE comments after addressing underlying issues 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Add comprehensive server-based testing for DMap functionalityPaul Buetow
Implement dual-mode testing infrastructure for all DMap integration tests: - Update TestDMap1, TestDMap2, TestDMap3, TestDMap4Append, TestDMap5CSV to run in both serverless and server modes - Create dmap_server_helpers.go with server-based testing utilities and SSH connection management - Add small test data files to work within server channel buffer limitations: - small_mapr_testdata.log (16 lines from original mapr_testdata.log) - small_dmap5.csv.in (reduced CSV input for DMap5 testing) - Expected output files for all DMap test variants in server mode - All tests now establish SSH connections between dmap client and dserver binary when in server mode - Maintain backward compatibility with existing serverless test functionality Tests verified passing in both modes: - TestDMap1: MapReduce query variations with different WHERE clauses and SET operations - TestDMap2: Ordered aggregation queries with GROUP BY and ORDER BY - TestDMap3: Multiple file processing with reduced file count for server mode - TestDMap4Append: File append functionality with multiple runs - TestDMap5CSV: CSV format input/output processing with custom aggregations Technical improvements: - Consistent file naming between server and serverless modes to avoid path conflicts - Proper SSH trust handling with --trustAllHosts flag - Multiple server helper functions for single-run and multi-run scenarios - Intelligent file comparison selection (compareFiles vs compareFilesContents) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Add comprehensive server-based testing for DGrep functionalityPaul Buetow
Implement dual-mode testing infrastructure for all DGrep integration tests: - Update TestDGrep1, TestDGrep2, TestDGrepContext1, TestDGrepContext2 to run in both serverless and server modes - Create dgrep_server_helpers.go with server-based testing utilities including DTail protocol parsing - Add small test data files to work within server channel buffer limitations: - small_mapr_testdata.log (16 lines from original mapr_testdata.log) - Expected output files for all DGrep test variants in server mode - All tests now establish SSH connections between dgrep client and dserver binary when in server mode - Maintain backward compatibility with existing serverless test functionality Tests verified passing in both modes: - TestDGrep1: Basic grep functionality with pattern "1002-071947" - TestDGrep2: Inverted grep with --invert flag - TestDGrepContext1: Context-aware grep with --before/--after flags - TestDGrepContext2: Limited output grep with --max flag 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Add comprehensive server-based testing for DCat functionalityPaul Buetow
- Implement dual-mode testing (serverless and with-server) for all DCat tests - Add TestDCatWithServer functionality that establishes SSH connections between dcat client and dserver binary - Create helper functions for server-based testing with DTail protocol parsing - Handle server channel buffer limitations (100-line hardcoded limit) with smart test selection - Add small_test.txt for testing within server constraints - Ensure all DCat tests pass in both serverless and server modes - Skip tests that exceed server channel capacity with appropriate explanations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Rename channelless functions to use cleaner namingPaul Buetow
Now that channel-based code is completely removed, renamed all functions and references from "channelless" to more descriptive names: - startChannelless() → start() - readGlobChannelless() → readGlob() - readFilesChannelless() → readFiles() - readChannellessStdin() → readStdin() - createChannellessProcessor() → createProcessor() Updated comments and debug messages to use "direct processing" terminology. Renamed test file and functions to use "Direct" naming convention. Changed source IDs from "channelless" to "direct". All functionality preserved with improved code clarity and maintainability. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18Complete channelless migration for DTail operationsPaul Buetow
- Implement channelless MapReduce with streaming aggregation - Add channelless tail with proper file following capability - Fix TestDTailWithServer by implementing ServerHandlerWriter for client-server mode - Add proper serverless mode detection for standalone operations - Remove temporary benchmark scripts - All integration tests now pass 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17Clean up temporary test filesPaul Buetow
2025-06-16implement true Profile-Guided Optimization with Go compiler -pgo flagPaul Buetow
- Refactor PGO script to use actual Go compiler PGO instead of just profiling - Add proper baseline vs PGO-optimized binary comparison - Break script into maintainable functions for better organization - Update Makefile and documentation to reflect PGO process - Generate comprehensive performance reports with before/after analysis 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16implement chunked I/O optimization for 5.5x performance improvementPaul Buetow
- Replace byte-by-byte reading with 64KB chunk-based processing - Add ChunkedReader with proper line boundary handling - Maintain backward compatibility for live tailing and static files - Fix integration test timing with file sync and 1-second intervals - Resolve line corruption issues in dmap tests 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16initial faster readfilePaul Buetow
2023-09-07add mapr aggregration on CSV integr testPaul Buetow
2022-03-14typoPaul Buetow
2022-03-14add integration test for "outfile append.."Paul Buetow
2022-03-14"append" now actually will append to an outfile now. previously we only ↵Paul Buetow
added the syntax to the mapr query
2022-02-04increase shutdown timeout for testPaul Buetow
2022-01-27Dont auto lowercase all mapreduce keysPaul Buetow
2021-12-21adjust integration tests to reflect the last datetime string changePaul Buetow
2021-12-21remove year from datestampPaul Buetow
2021-12-12add set condition integraion testPaul Buetow
2021-12-08add missing dmap test filePaul Buetow
2021-12-08add string based mapreduce where clause integration testPaul Buetow
2021-12-08add where clause integration test to dmap1, all mapreduce token fields are ↵Paul Buetow
lower case
2021-12-08refactor dmap1 unit test to be more modularPaul Buetow
2021-11-03Clarify the testPaul Buetow
2021-11-03Add integration test for long line splitting - Also fixed a bug regarding ↵Paul Buetow
this along the way
2021-11-02Make it so that DTail 3 incompatibility error is printed when trying to ↵Paul Buetow
connect to it via a DTail client 4.x
2021-11-02Refactor integration tests. Also fix the dmap1 PIPE testPaul Buetow
2021-11-02Bugfix: Dealing correctly with files without newline characters, also add ↵Paul Buetow
more tests
2021-10-31rename spartan mode to plain modePaul Buetow
2021-10-31add dmap integration test with stdin input pipePaul Buetow
2021-10-29add dserver integration test for cont. queryPaul Buetow
2021-10-29add dserver integration test for scheduled queryPaul Buetow
2021-10-29Dont use relaxed SSH Auth mode anymore for integration testsPaul Buetow
2021-10-24Integration tests can run concurrently, so we now have unique TCP ports for eachPaul Buetow
2021-10-24integration tests use a different known_hosts path and also dont read any ↵Paul Buetow
external config files
2021-10-24Fix DCat color test.Paul Buetow
2021-10-24Fix deadlock around aggregating data + server max concurrent file read limiterPaul Buetow
2021-10-21add inventoryPaul Buetow
2021-10-20make pprof bind address configurablePaul Buetow
2021-10-19Set DTAIL_RUN_INTEGRATIONT_TEST to yes for integration testsPaul Buetow
2021-10-19Can configure DTail client not to mess with ~/.ssh/known_hosts via env var - ↵Paul Buetow
this is useful for running unit and integration tests in jenkins
2021-10-15Execute test directories individuallyPaul Buetow
2021-10-15add dcat color output testPaul Buetow
2021-10-15refactorPaul Buetow
2021-10-14add dgrep context integration testsPaul Buetow
2021-10-13backport docs from masterPaul Buetow