Update the regex in runner.go to use string concatenation for better readability. Add test output files as fixtures for test verification.
645 lines
28 KiB
Plaintext
645 lines
28 KiB
Plaintext
? gmgauthier.com/grokkit [no test files]
|
|
=== RUN TestAgentCommand_PlanGeneration
|
|
agent_test.go:8: Agent plan generation test placeholder — ready for expansion
|
|
--- PASS: TestAgentCommand_PlanGeneration (0.00s)
|
|
=== RUN TestAgentCommand_CleanCodeResponseIntegration
|
|
--- PASS: TestAgentCommand_CleanCodeResponseIntegration (0.00s)
|
|
=== RUN TestBuildChangelogMessages
|
|
=== PAUSE TestBuildChangelogMessages
|
|
=== RUN TestBuildFullChangelog
|
|
=== PAUSE TestBuildFullChangelog
|
|
=== RUN TestChangelogCmd_Flags
|
|
=== PAUSE TestChangelogCmd_Flags
|
|
=== RUN TestGetChatHistoryFile
|
|
--- PASS: TestGetChatHistoryFile (0.00s)
|
|
=== RUN TestLoadChatHistory_NoFile
|
|
--- PASS: TestLoadChatHistory_NoFile (0.00s)
|
|
=== RUN TestSaveAndLoadChatHistory
|
|
--- PASS: TestSaveAndLoadChatHistory (0.00s)
|
|
=== RUN TestLoadChatHistory_InvalidJSON
|
|
--- PASS: TestLoadChatHistory_InvalidJSON (0.00s)
|
|
=== RUN TestBuildCommitMessages
|
|
=== RUN TestBuildCommitMessages/normal_diff
|
|
=== RUN TestBuildCommitMessages/empty_diff
|
|
--- PASS: TestBuildCommitMessages (0.00s)
|
|
--- PASS: TestBuildCommitMessages/normal_diff (0.00s)
|
|
--- PASS: TestBuildCommitMessages/empty_diff (0.00s)
|
|
=== RUN TestCompletionCmd
|
|
=== RUN TestCompletionCmd/bash
|
|
=== RUN TestCompletionCmd/zsh
|
|
=== RUN TestCompletionCmd/fish
|
|
=== RUN TestCompletionCmd/powershell
|
|
--- PASS: TestCompletionCmd (0.00s)
|
|
--- PASS: TestCompletionCmd/bash (0.00s)
|
|
--- PASS: TestCompletionCmd/zsh (0.00s)
|
|
--- PASS: TestCompletionCmd/fish (0.00s)
|
|
--- PASS: TestCompletionCmd/powershell (0.00s)
|
|
=== RUN TestBuildDocsMessages
|
|
=== RUN TestBuildDocsMessages/Go
|
|
=== RUN TestBuildDocsMessages/Python
|
|
=== RUN TestBuildDocsMessages/C
|
|
=== RUN TestBuildDocsMessages/C++
|
|
=== RUN TestBuildDocsMessages/JavaScript
|
|
=== RUN TestBuildDocsMessages/TypeScript
|
|
=== RUN TestBuildDocsMessages/Rust
|
|
=== RUN TestBuildDocsMessages/Ruby
|
|
=== RUN TestBuildDocsMessages/Java
|
|
=== RUN TestBuildDocsMessages/Shell
|
|
--- PASS: TestBuildDocsMessages (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Go (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Python (0.00s)
|
|
--- PASS: TestBuildDocsMessages/C (0.00s)
|
|
--- PASS: TestBuildDocsMessages/C++ (0.00s)
|
|
--- PASS: TestBuildDocsMessages/JavaScript (0.00s)
|
|
--- PASS: TestBuildDocsMessages/TypeScript (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Rust (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Ruby (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Java (0.00s)
|
|
--- PASS: TestBuildDocsMessages/Shell (0.00s)
|
|
=== RUN TestDocStyle
|
|
=== RUN TestDocStyle/go
|
|
=== RUN TestDocStyle/Go
|
|
=== RUN TestDocStyle/python
|
|
=== RUN TestDocStyle/c
|
|
=== RUN TestDocStyle/c++
|
|
=== RUN TestDocStyle/javascript
|
|
=== RUN TestDocStyle/typescript
|
|
=== RUN TestDocStyle/rust
|
|
=== RUN TestDocStyle/ruby
|
|
=== RUN TestDocStyle/java
|
|
=== RUN TestDocStyle/shell
|
|
=== RUN TestDocStyle/bash
|
|
=== RUN TestDocStyle/unknown
|
|
--- PASS: TestDocStyle (0.00s)
|
|
--- PASS: TestDocStyle/go (0.00s)
|
|
--- PASS: TestDocStyle/Go (0.00s)
|
|
--- PASS: TestDocStyle/python (0.00s)
|
|
--- PASS: TestDocStyle/c (0.00s)
|
|
--- PASS: TestDocStyle/c++ (0.00s)
|
|
--- PASS: TestDocStyle/javascript (0.00s)
|
|
--- PASS: TestDocStyle/typescript (0.00s)
|
|
--- PASS: TestDocStyle/rust (0.00s)
|
|
--- PASS: TestDocStyle/ruby (0.00s)
|
|
--- PASS: TestDocStyle/java (0.00s)
|
|
--- PASS: TestDocStyle/shell (0.00s)
|
|
--- PASS: TestDocStyle/bash (0.00s)
|
|
--- PASS: TestDocStyle/unknown (0.00s)
|
|
=== RUN TestRemoveLastModifiedComments
|
|
=== RUN TestRemoveLastModifiedComments/removes_last_modified_comment
|
|
=== RUN TestRemoveLastModifiedComments/removes_multiple_last_modified_comments
|
|
=== RUN TestRemoveLastModifiedComments/preserves_code_without_last_modified
|
|
=== RUN TestRemoveLastModifiedComments/handles_empty_string
|
|
=== RUN TestRemoveLastModifiedComments/preserves_other_comments
|
|
=== RUN TestRemoveLastModifiedComments/handles_line_with_only_last_modified
|
|
--- PASS: TestRemoveLastModifiedComments (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/removes_last_modified_comment (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/removes_multiple_last_modified_comments (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/preserves_code_without_last_modified (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/handles_empty_string (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/preserves_other_comments (0.00s)
|
|
--- PASS: TestRemoveLastModifiedComments/handles_line_with_only_last_modified (0.00s)
|
|
=== RUN TestEditCommand
|
|
--- PASS: TestEditCommand (0.68s)
|
|
=== RUN TestBuildHistoryMessages
|
|
=== RUN TestBuildHistoryMessages/with_recent_commits
|
|
=== RUN TestBuildHistoryMessages/empty_log
|
|
--- PASS: TestBuildHistoryMessages (0.00s)
|
|
--- PASS: TestBuildHistoryMessages/with_recent_commits (0.00s)
|
|
--- PASS: TestBuildHistoryMessages/empty_log (0.00s)
|
|
=== RUN TestBuildLintFixMessages
|
|
=== RUN TestBuildLintFixMessages/go_file_with_issues
|
|
=== RUN TestBuildLintFixMessages/python_file_with_issues
|
|
--- PASS: TestBuildLintFixMessages (0.00s)
|
|
--- PASS: TestBuildLintFixMessages/go_file_with_issues (0.00s)
|
|
--- PASS: TestBuildLintFixMessages/python_file_with_issues (0.00s)
|
|
=== RUN TestBuildPRDescribeMessages
|
|
=== RUN TestBuildPRDescribeMessages/branch_with_changes
|
|
=== RUN TestBuildPRDescribeMessages/empty_diff
|
|
--- PASS: TestBuildPRDescribeMessages (0.00s)
|
|
--- PASS: TestBuildPRDescribeMessages/branch_with_changes (0.00s)
|
|
--- PASS: TestBuildPRDescribeMessages/empty_diff (0.00s)
|
|
=== RUN TestBuildReviewMessages
|
|
=== RUN TestBuildReviewMessages/with_status_and_diff
|
|
=== RUN TestBuildReviewMessages/empty_diff
|
|
--- PASS: TestBuildReviewMessages (0.00s)
|
|
--- PASS: TestBuildReviewMessages/with_status_and_diff (0.00s)
|
|
--- PASS: TestBuildReviewMessages/empty_diff (0.00s)
|
|
=== RUN TestExecute
|
|
=== RUN TestExecute/version
|
|
grokkit version dev (commit )\n=== RUN TestExecute/help
|
|
A fast, native Go CLI for Grok. Chat, edit files, and supercharge your git workflow.
|
|
|
|
Usage:
|
|
grokkit [command]
|
|
|
|
Available Commands:
|
|
agent Multi-file agent — Grok intelligently edits multiple files with preview
|
|
changelog Generate CHANGELOG.md section from git history for Gitea releases
|
|
chat Simple interactive CLI chat with Grok (full history + streaming)
|
|
commit Generate message and commit staged changes
|
|
commit-msg Generate conventional commit message from staged changes
|
|
completion Generate shell completion script
|
|
docs Generate documentation comments for source files
|
|
edit Edit a file in-place with Grok (safe preview)
|
|
help Help about any command
|
|
history Summarize recent git history
|
|
lint Lint a file and optionally apply AI-suggested fixes
|
|
pr-describe Generate full PR description from current branch
|
|
query One-shot non-interactive query to Grok (programming focused)
|
|
query One-shot non-interactive query to Grok (programming focused)
|
|
recipe Run a recipe (transactional sous-chef mode)
|
|
review Review the current repository or directory
|
|
scaffold Scaffold a new file with Grok (safe preview + confirmation)
|
|
testgen Generate AI unit tests for files (Go/Python/C/C++, preview/apply)
|
|
version Print the version information
|
|
|
|
Flags:
|
|
--debug Enable debug logging (logs to stderr and file)
|
|
-h, --help help for grokkit
|
|
-m, --model string Grok model to use (overrides config)
|
|
-v, --verbose Enable verbose logging
|
|
|
|
Use "grokkit [command] --help" for more information about a command.
|
|
=== RUN TestExecute/debug_flag
|
|
{"time":"2026-03-06T21:37:40.647542566Z","level":"INFO","msg":"grokkit starting","command":"version","log_level":"debug"}
|
|
grokkit version dev (commit )\n=== RUN TestExecute/verbose_flag
|
|
grokkit version dev (commit )\n--- PASS: TestExecute (0.00s)
|
|
--- PASS: TestExecute/version (0.00s)
|
|
--- PASS: TestExecute/help (0.00s)
|
|
--- PASS: TestExecute/debug_flag (0.00s)
|
|
--- PASS: TestExecute/verbose_flag (0.00s)
|
|
=== RUN TestRunHistory
|
|
=== RUN TestRunHistory/calls_AI_with_log_output
|
|
Summarizing recent commits...
|
|
=== RUN TestRunHistory/no_commits_—_skips_AI
|
|
No commits found.
|
|
=== RUN TestRunHistory/git_error_—_skips_AI
|
|
Failed to get git log: not a git repo
|
|
--- PASS: TestRunHistory (0.00s)
|
|
--- PASS: TestRunHistory/calls_AI_with_log_output (0.00s)
|
|
--- PASS: TestRunHistory/no_commits_—_skips_AI (0.00s)
|
|
--- PASS: TestRunHistory/git_error_—_skips_AI (0.00s)
|
|
=== RUN TestRunReview
|
|
=== RUN TestRunReview/reviews_with_diff_and_status
|
|
Grok is reviewing the repo...
|
|
=== RUN TestRunReview/git_diff_error_—_skips_AI
|
|
Failed to get git diff: git error
|
|
=== RUN TestRunReview/git_status_error_—_skips_AI
|
|
Failed to get git status: git error
|
|
--- PASS: TestRunReview (0.00s)
|
|
--- PASS: TestRunReview/reviews_with_diff_and_status (0.00s)
|
|
--- PASS: TestRunReview/git_diff_error_—_skips_AI (0.00s)
|
|
--- PASS: TestRunReview/git_status_error_—_skips_AI (0.00s)
|
|
=== RUN TestRunCommit
|
|
=== RUN TestRunCommit/no_staged_changes_—_skips_AI
|
|
No staged changes!
|
|
=== RUN TestRunCommit/git_error_—_skips_AI
|
|
Failed to get staged changes: not a git repo
|
|
=== RUN TestRunCommit/with_staged_changes_—_calls_AI_then_cancels_via_stdin
|
|
Generating commit message...
|
|
|
|
Proposed commit message:
|
|
feat(cmd): add thing
|
|
Commit with this message? (y/n):
|
|
Aborted.
|
|
--- PASS: TestRunCommit (0.00s)
|
|
--- PASS: TestRunCommit/no_staged_changes_—_skips_AI (0.00s)
|
|
--- PASS: TestRunCommit/git_error_—_skips_AI (0.00s)
|
|
--- PASS: TestRunCommit/with_staged_changes_—_calls_AI_then_cancels_via_stdin (0.00s)
|
|
=== RUN TestRunCommitMsg
|
|
=== RUN TestRunCommitMsg/no_staged_changes_—_skips_AI
|
|
No staged changes!
|
|
=== RUN TestRunCommitMsg/with_staged_changes_—_calls_AI_and_prints_message
|
|
Generating commit message...
|
|
--- PASS: TestRunCommitMsg (0.00s)
|
|
--- PASS: TestRunCommitMsg/no_staged_changes_—_skips_AI (0.00s)
|
|
--- PASS: TestRunCommitMsg/with_staged_changes_—_calls_AI_and_prints_message (0.00s)
|
|
=== RUN TestRunPRDescribe
|
|
=== RUN TestRunPRDescribe/no_changes_on_branch_—_skips_AI
|
|
No changes on this branch compared to master/origin/master.
|
|
=== RUN TestRunPRDescribe/first_diff_succeeds_—_calls_AI
|
|
Writing PR description...
|
|
=== RUN TestRunPRDescribe/first_diff_empty,_second_succeeds_—_calls_AI
|
|
Writing PR description...
|
|
=== RUN TestRunPRDescribe/uses_custom_base_branch
|
|
Writing PR description...
|
|
=== RUN TestRunPRDescribe/defaults_to_master
|
|
Writing PR description...
|
|
--- PASS: TestRunPRDescribe (0.00s)
|
|
--- PASS: TestRunPRDescribe/no_changes_on_branch_—_skips_AI (0.00s)
|
|
--- PASS: TestRunPRDescribe/first_diff_succeeds_—_calls_AI (0.00s)
|
|
--- PASS: TestRunPRDescribe/first_diff_empty,_second_succeeds_—_calls_AI (0.00s)
|
|
--- PASS: TestRunPRDescribe/uses_custom_base_branch (0.00s)
|
|
--- PASS: TestRunPRDescribe/defaults_to_master (0.00s)
|
|
=== RUN TestRunLintFileNotFound
|
|
❌ File not found: /nonexistent/path/file.go
|
|
--- PASS: TestRunLintFileNotFound (0.00s)
|
|
=== RUN TestProcessDocsFileNotFound
|
|
❌ File not found: /nonexistent/path/file.go
|
|
--- PASS: TestProcessDocsFileNotFound (0.00s)
|
|
=== RUN TestProcessDocsFileUnsupportedLanguage
|
|
⚠️ Skipping /tmp/test2101107302.xyz: unsupported file type: .xyz
|
|
--- PASS: TestProcessDocsFileUnsupportedLanguage (0.00s)
|
|
=== RUN TestProcessDocsFilePreviewAndCancel
|
|
📝 Generating Go docs for: /tmp/test533748323.go
|
|
|
|
📋 Preview of documented code:
|
|
--------------------------------------------------------------------------------
|
|
package main
|
|
|
|
// Foo does nothing.
|
|
func Foo() {}
|
|
--------------------------------------------------------------------------------
|
|
|
|
Apply documentation to /tmp/test533748323.go? (y/N):
|
|
❌ Cancelled. No changes made to: /tmp/test533748323.go
|
|
--- PASS: TestProcessDocsFilePreviewAndCancel (0.00s)
|
|
=== RUN TestProcessDocsFileAutoApply
|
|
📝 Generating Go docs for: /tmp/test2461183796.go
|
|
|
|
📋 Preview of documented code:
|
|
--------------------------------------------------------------------------------
|
|
package main
|
|
|
|
// Bar does nothing.
|
|
func Bar() {}
|
|
--------------------------------------------------------------------------------
|
|
|
|
✅ Documentation applied: /tmp/test2461183796.go
|
|
--- PASS: TestProcessDocsFileAutoApply (0.00s)
|
|
=== RUN TestRunDocs
|
|
❌ File not found: /nonexistent/file.go
|
|
--- PASS: TestRunDocs (0.00s)
|
|
=== RUN TestScaffoldCmd
|
|
scaffold_test.go:15: ✓ Fast scaffold unit test (no Grok API call)
|
|
--- PASS: TestScaffoldCmd (0.00s)
|
|
=== RUN TestScaffoldCmd_Live
|
|
scaffold_test.go:22: skipping live Grok integration test. Run with:
|
|
go test ./cmd -run TestScaffoldCmd_Live -short -v
|
|
--- SKIP: TestScaffoldCmd_Live (0.00s)
|
|
=== RUN TestTestgenCmd
|
|
=== PAUSE TestTestgenCmd
|
|
=== RUN TestTestgenCmd_Live
|
|
testgen_test.go:17: skipping live Grok integration test. Run with:
|
|
go test ./cmd -run TestTestgenCmd_Live -short -v
|
|
--- SKIP: TestTestgenCmd_Live (0.00s)
|
|
=== RUN TestRemoveSourceComments
|
|
=== PAUSE TestRemoveSourceComments
|
|
=== RUN TestGetTestPrompt
|
|
=== PAUSE TestGetTestPrompt
|
|
=== RUN TestGetTestFilePath
|
|
=== PAUSE TestGetTestFilePath
|
|
=== RUN TestGetCodeLang
|
|
=== PAUSE TestGetCodeLang
|
|
=== CONT TestBuildChangelogMessages
|
|
=== CONT TestRemoveSourceComments
|
|
--- PASS: TestBuildChangelogMessages (0.00s)
|
|
=== CONT TestGetCodeLang
|
|
=== RUN TestRemoveSourceComments/no_comments
|
|
=== RUN TestGetCodeLang/Go
|
|
=== PAUSE TestRemoveSourceComments/no_comments
|
|
=== CONT TestChangelogCmd_Flags
|
|
=== RUN TestRemoveSourceComments/last_modified
|
|
=== CONT TestGetTestFilePath
|
|
=== PAUSE TestRemoveSourceComments/last_modified
|
|
=== RUN TestGetTestFilePath/foo.go_Go
|
|
=== RUN TestRemoveSourceComments/generated_by
|
|
=== PAUSE TestRemoveSourceComments/generated_by
|
|
=== CONT TestTestgenCmd
|
|
=== RUN TestRemoveSourceComments/multiple_removable_lines
|
|
=== PAUSE TestGetTestFilePath/foo.go_Go
|
|
=== PAUSE TestRemoveSourceComments/multiple_removable_lines
|
|
=== RUN TestGetTestFilePath/dir/foo.py_Python
|
|
--- PASS: TestChangelogCmd_Flags (0.00s)
|
|
=== RUN TestRemoveSourceComments/partial_match_no_remove
|
|
=== PAUSE TestGetTestFilePath/dir/foo.py_Python
|
|
=== PAUSE TestRemoveSourceComments/partial_match_no_remove
|
|
=== RUN TestGetTestFilePath/bar.c_C
|
|
=== RUN TestRemoveSourceComments/python_testgen
|
|
=== CONT TestGetTestPrompt
|
|
=== PAUSE TestRemoveSourceComments/python_testgen
|
|
=== PAUSE TestGetTestFilePath/bar.c_C
|
|
=== RUN TestGetTestPrompt/Go
|
|
=== RUN TestGetTestFilePath/baz.cpp_C++
|
|
=== RUN TestRemoveSourceComments/c_testgen
|
|
=== PAUSE TestGetTestFilePath/baz.cpp_C++
|
|
=== PAUSE TestGetTestPrompt/Go
|
|
=== CONT TestGetTestFilePath/dir/foo.py_Python
|
|
=== RUN TestGetTestPrompt/Python
|
|
=== PAUSE TestGetTestPrompt/Python
|
|
=== RUN TestGetTestPrompt/C
|
|
=== CONT TestGetTestFilePath/foo.go_Go
|
|
=== PAUSE TestGetTestPrompt/C
|
|
=== NAME TestTestgenCmd
|
|
testgen_test.go:12: ✓ Fast testgen unit test (no Grok API call)
|
|
=== RUN TestGetTestPrompt/C++
|
|
--- PASS: TestTestgenCmd (0.00s)
|
|
=== PAUSE TestGetTestPrompt/C++
|
|
=== CONT TestBuildFullChangelog
|
|
=== RUN TestGetTestPrompt/Invalid
|
|
=== PAUSE TestGetTestPrompt/Invalid
|
|
=== CONT TestGetTestFilePath/baz.cpp_C++
|
|
=== CONT TestGetTestPrompt/Invalid
|
|
=== RUN TestBuildFullChangelog/creates_new_file_with_header
|
|
=== CONT TestGetTestPrompt/C++
|
|
=== CONT TestGetTestPrompt/Python
|
|
=== PAUSE TestBuildFullChangelog/creates_new_file_with_header
|
|
=== PAUSE TestGetCodeLang/Go
|
|
=== RUN TestBuildFullChangelog/prepends_to_existing_file
|
|
=== RUN TestGetCodeLang/Python
|
|
=== PAUSE TestBuildFullChangelog/prepends_to_existing_file
|
|
=== PAUSE TestGetCodeLang/Python
|
|
=== CONT TestBuildFullChangelog/prepends_to_existing_file
|
|
=== RUN TestGetCodeLang/C
|
|
=== PAUSE TestGetCodeLang/C
|
|
=== RUN TestGetCodeLang/C++
|
|
=== PAUSE TestGetCodeLang/C++
|
|
=== CONT TestGetCodeLang/Go
|
|
=== CONT TestGetCodeLang/C++
|
|
=== CONT TestGetTestFilePath/bar.c_C
|
|
=== CONT TestGetCodeLang/C
|
|
=== CONT TestGetCodeLang/Python
|
|
=== PAUSE TestRemoveSourceComments/c_testgen
|
|
--- PASS: TestGetTestFilePath (0.00s)
|
|
--- PASS: TestGetTestFilePath/dir/foo.py_Python (0.00s)
|
|
--- PASS: TestGetTestFilePath/foo.go_Go (0.00s)
|
|
--- PASS: TestGetTestFilePath/baz.cpp_C++ (0.00s)
|
|
--- PASS: TestGetTestFilePath/bar.c_C (0.00s)
|
|
=== CONT TestGetTestPrompt/Go
|
|
=== CONT TestRemoveSourceComments/partial_match_no_remove
|
|
--- PASS: TestGetCodeLang (0.00s)
|
|
--- PASS: TestGetCodeLang/Go (0.00s)
|
|
--- PASS: TestGetCodeLang/C++ (0.00s)
|
|
--- PASS: TestGetCodeLang/C (0.00s)
|
|
--- PASS: TestGetCodeLang/Python (0.00s)
|
|
=== CONT TestRemoveSourceComments/last_modified
|
|
=== CONT TestRemoveSourceComments/c_testgen
|
|
=== CONT TestGetTestPrompt/C
|
|
=== CONT TestRemoveSourceComments/python_testgen
|
|
=== CONT TestBuildFullChangelog/creates_new_file_with_header
|
|
--- PASS: TestGetTestPrompt (0.00s)
|
|
--- PASS: TestGetTestPrompt/Invalid (0.00s)
|
|
--- PASS: TestGetTestPrompt/C++ (0.00s)
|
|
--- PASS: TestGetTestPrompt/Python (0.00s)
|
|
--- PASS: TestGetTestPrompt/Go (0.00s)
|
|
--- PASS: TestGetTestPrompt/C (0.00s)
|
|
=== CONT TestRemoveSourceComments/no_comments
|
|
=== CONT TestRemoveSourceComments/multiple_removable_lines
|
|
=== CONT TestRemoveSourceComments/generated_by
|
|
--- PASS: TestRemoveSourceComments (0.00s)
|
|
--- PASS: TestRemoveSourceComments/partial_match_no_remove (0.00s)
|
|
--- PASS: TestRemoveSourceComments/last_modified (0.00s)
|
|
--- PASS: TestRemoveSourceComments/python_testgen (0.00s)
|
|
--- PASS: TestRemoveSourceComments/c_testgen (0.00s)
|
|
--- PASS: TestRemoveSourceComments/no_comments (0.00s)
|
|
--- PASS: TestRemoveSourceComments/multiple_removable_lines (0.00s)
|
|
--- PASS: TestRemoveSourceComments/generated_by (0.00s)
|
|
--- PASS: TestBuildFullChangelog (0.00s)
|
|
--- PASS: TestBuildFullChangelog/prepends_to_existing_file (0.00s)
|
|
--- PASS: TestBuildFullChangelog/creates_new_file_with_header (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/cmd 0.692s
|
|
=== RUN TestGetModel
|
|
=== RUN TestGetModel/returns_flag_model_when_provided
|
|
=== RUN TestGetModel/returns_default_when_flag_empty
|
|
--- PASS: TestGetModel (0.00s)
|
|
--- PASS: TestGetModel/returns_flag_model_when_provided (0.00s)
|
|
--- PASS: TestGetModel/returns_default_when_flag_empty (0.00s)
|
|
=== RUN TestGetModelWithAlias
|
|
--- PASS: TestGetModelWithAlias (0.00s)
|
|
=== RUN TestGetCommandModel
|
|
=== RUN TestGetCommandModel/lint_
|
|
=== RUN TestGetCommandModel/lint_override
|
|
=== RUN TestGetCommandModel/other_
|
|
=== RUN TestGetCommandModel/unknown_
|
|
--- PASS: TestGetCommandModel (0.00s)
|
|
--- PASS: TestGetCommandModel/lint_ (0.00s)
|
|
--- PASS: TestGetCommandModel/lint_override (0.00s)
|
|
--- PASS: TestGetCommandModel/other_ (0.00s)
|
|
--- PASS: TestGetCommandModel/unknown_ (0.00s)
|
|
=== RUN TestLoad
|
|
--- PASS: TestLoad (0.00s)
|
|
=== RUN TestGetTemperature
|
|
--- PASS: TestGetTemperature (0.00s)
|
|
=== RUN TestGetTimeout
|
|
--- PASS: TestGetTimeout (0.00s)
|
|
=== RUN TestGetLogLevel
|
|
--- PASS: TestGetLogLevel (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/config (cached)
|
|
=== RUN TestGitError
|
|
--- PASS: TestGitError (0.00s)
|
|
=== RUN TestAPIError
|
|
=== RUN TestAPIError/with_status_code
|
|
=== RUN TestAPIError/without_status_code
|
|
--- PASS: TestAPIError (0.00s)
|
|
--- PASS: TestAPIError/with_status_code (0.00s)
|
|
--- PASS: TestAPIError/without_status_code (0.00s)
|
|
=== RUN TestFileError
|
|
--- PASS: TestFileError (0.00s)
|
|
=== RUN TestAPIErrorUnwrap
|
|
--- PASS: TestAPIErrorUnwrap (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/errors (cached)
|
|
=== RUN TestIsRepo
|
|
--- PASS: TestIsRepo (0.00s)
|
|
=== RUN TestRun
|
|
=== RUN TestRun/version_command_succeeds
|
|
=== RUN TestRun/invalid_command_fails
|
|
--- PASS: TestRun (0.01s)
|
|
--- PASS: TestRun/version_command_succeeds (0.00s)
|
|
--- PASS: TestRun/invalid_command_fails (0.01s)
|
|
=== RUN TestGitRunner
|
|
--- PASS: TestGitRunner (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/git (cached)
|
|
=== RUN TestCleanCodeResponse_Comprehensive
|
|
=== RUN TestCleanCodeResponse_Comprehensive/removes_go_markdown_fences
|
|
=== RUN TestCleanCodeResponse_Comprehensive/removes_python_markdown_fences
|
|
=== RUN TestCleanCodeResponse_Comprehensive/removes_plain_markdown_fences
|
|
=== RUN TestCleanCodeResponse_Comprehensive/handles_no_fences
|
|
=== RUN TestCleanCodeResponse_Comprehensive/preserves_internal_blank_lines
|
|
=== RUN TestCleanCodeResponse_Comprehensive/trims_leading_whitespace
|
|
=== RUN TestCleanCodeResponse_Comprehensive/trims_trailing_whitespace
|
|
=== RUN TestCleanCodeResponse_Comprehensive/handles_multiple_languages
|
|
=== RUN TestCleanCodeResponse_Comprehensive/handles_fences_with_extra_spaces
|
|
=== RUN TestCleanCodeResponse_Comprehensive/removes_only_fence_lines
|
|
=== RUN TestCleanCodeResponse_Comprehensive/handles_empty_input
|
|
=== RUN TestCleanCodeResponse_Comprehensive/handles_only_fences
|
|
=== RUN TestCleanCodeResponse_Comprehensive/preserves_code_indentation
|
|
--- PASS: TestCleanCodeResponse_Comprehensive (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/removes_go_markdown_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/removes_python_markdown_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/removes_plain_markdown_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/handles_no_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/preserves_internal_blank_lines (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/trims_leading_whitespace (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/trims_trailing_whitespace (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/handles_multiple_languages (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/handles_fences_with_extra_spaces (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/removes_only_fence_lines (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/handles_empty_input (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/handles_only_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse_Comprehensive/preserves_code_indentation (0.00s)
|
|
=== RUN TestCleanCodeResponse
|
|
=== RUN TestCleanCodeResponse/removes_markdown_fences
|
|
=== RUN TestCleanCodeResponse/removes_language_tag
|
|
=== RUN TestCleanCodeResponse/handles_no_fences
|
|
=== RUN TestCleanCodeResponse/preserves_internal_blank_lines
|
|
=== RUN TestCleanCodeResponse/trims_whitespace
|
|
--- PASS: TestCleanCodeResponse (0.00s)
|
|
--- PASS: TestCleanCodeResponse/removes_markdown_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse/removes_language_tag (0.00s)
|
|
--- PASS: TestCleanCodeResponse/handles_no_fences (0.00s)
|
|
--- PASS: TestCleanCodeResponse/preserves_internal_blank_lines (0.00s)
|
|
--- PASS: TestCleanCodeResponse/trims_whitespace (0.00s)
|
|
=== RUN TestStreamSilent
|
|
--- PASS: TestStreamSilent (0.00s)
|
|
=== RUN TestStream
|
|
foobar
|
|
--- PASS: TestStream (0.00s)
|
|
=== RUN TestStreamWithTemp
|
|
response
|
|
--- PASS: TestStreamWithTemp (0.00s)
|
|
=== RUN TestStreamDoneSignal
|
|
--- PASS: TestStreamDoneSignal (0.00s)
|
|
=== RUN TestStreamEmptyResponse
|
|
--- PASS: TestStreamEmptyResponse (0.00s)
|
|
=== RUN TestNewClient
|
|
--- PASS: TestNewClient (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/grok (cached)
|
|
=== RUN TestDetectLanguage
|
|
=== RUN TestDetectLanguage/Go_file
|
|
=== RUN TestDetectLanguage/Python_file
|
|
=== RUN TestDetectLanguage/JavaScript_file
|
|
=== RUN TestDetectLanguage/JSX_file
|
|
=== RUN TestDetectLanguage/TypeScript_file
|
|
=== RUN TestDetectLanguage/TSX_file
|
|
=== RUN TestDetectLanguage/Rust_file
|
|
=== RUN TestDetectLanguage/Ruby_file
|
|
=== RUN TestDetectLanguage/Java_file
|
|
=== RUN TestDetectLanguage/C_file
|
|
=== RUN TestDetectLanguage/C++_file
|
|
=== RUN TestDetectLanguage/Header_file
|
|
=== RUN TestDetectLanguage/Shell_script
|
|
=== RUN TestDetectLanguage/Bash_script
|
|
=== RUN TestDetectLanguage/Unsupported_file
|
|
=== RUN TestDetectLanguage/No_extension
|
|
=== RUN TestDetectLanguage/Case_insensitive
|
|
--- PASS: TestDetectLanguage (0.00s)
|
|
--- PASS: TestDetectLanguage/Go_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Python_file (0.00s)
|
|
--- PASS: TestDetectLanguage/JavaScript_file (0.00s)
|
|
--- PASS: TestDetectLanguage/JSX_file (0.00s)
|
|
--- PASS: TestDetectLanguage/TypeScript_file (0.00s)
|
|
--- PASS: TestDetectLanguage/TSX_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Rust_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Ruby_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Java_file (0.00s)
|
|
--- PASS: TestDetectLanguage/C_file (0.00s)
|
|
--- PASS: TestDetectLanguage/C++_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Header_file (0.00s)
|
|
--- PASS: TestDetectLanguage/Shell_script (0.00s)
|
|
--- PASS: TestDetectLanguage/Bash_script (0.00s)
|
|
--- PASS: TestDetectLanguage/Unsupported_file (0.00s)
|
|
--- PASS: TestDetectLanguage/No_extension (0.00s)
|
|
--- PASS: TestDetectLanguage/Case_insensitive (0.00s)
|
|
=== RUN TestCheckLinterAvailable
|
|
=== RUN TestCheckLinterAvailable/go_command_should_be_available
|
|
linter_test.go:84: go should be available on system with Go installed: available=true
|
|
=== RUN TestCheckLinterAvailable/nonexistent_command
|
|
linter_test.go:84: nonexistent command should not be available: available=false
|
|
--- PASS: TestCheckLinterAvailable (0.00s)
|
|
--- PASS: TestCheckLinterAvailable/go_command_should_be_available (0.00s)
|
|
--- PASS: TestCheckLinterAvailable/nonexistent_command (0.00s)
|
|
=== RUN TestFindAvailableLinter
|
|
=== RUN TestFindAvailableLinter/Go_language_should_find_a_linter
|
|
=== RUN TestFindAvailableLinter/Language_with_no_available_linters
|
|
--- PASS: TestFindAvailableLinter (0.00s)
|
|
--- PASS: TestFindAvailableLinter/Go_language_should_find_a_linter (0.00s)
|
|
--- PASS: TestFindAvailableLinter/Language_with_no_available_linters (0.00s)
|
|
=== RUN TestRunLinter
|
|
=== RUN TestRunLinter/Run_go_vet_on_valid_file
|
|
linter_test.go:179: go vet result: ExitCode=0, HasIssues=false, Output=""
|
|
=== RUN TestRunLinter/Run_nonexistent_linter
|
|
--- PASS: TestRunLinter (0.09s)
|
|
--- PASS: TestRunLinter/Run_go_vet_on_valid_file (0.09s)
|
|
--- PASS: TestRunLinter/Run_nonexistent_linter (0.00s)
|
|
=== RUN TestLintFile
|
|
=== RUN TestLintFile/Lint_valid_Go_file
|
|
=== RUN TestLintFile/Lint_nonexistent_file
|
|
=== RUN TestLintFile/Lint_unsupported_file_type
|
|
--- PASS: TestLintFile (0.23s)
|
|
--- PASS: TestLintFile/Lint_valid_Go_file (0.23s)
|
|
--- PASS: TestLintFile/Lint_nonexistent_file (0.00s)
|
|
--- PASS: TestLintFile/Lint_unsupported_file_type (0.00s)
|
|
=== RUN TestGetSupportedLanguages
|
|
--- PASS: TestGetSupportedLanguages (0.00s)
|
|
=== RUN TestLanguageStructure
|
|
--- PASS: TestLanguageStructure (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/linter (cached)
|
|
=== RUN TestInit
|
|
=== RUN TestInit/default_level
|
|
=== RUN TestInit/debug_level
|
|
=== RUN TestInit/warn_level
|
|
=== RUN TestInit/error_level
|
|
=== RUN TestInit/invalid_level_defaults_to_info
|
|
--- PASS: TestInit (0.00s)
|
|
--- PASS: TestInit/default_level (0.00s)
|
|
--- PASS: TestInit/debug_level (0.00s)
|
|
--- PASS: TestInit/warn_level (0.00s)
|
|
--- PASS: TestInit/error_level (0.00s)
|
|
--- PASS: TestInit/invalid_level_defaults_to_info (0.00s)
|
|
=== RUN TestLogging
|
|
{"time":"2026-03-06T21:37:18.86971947Z","level":"DEBUG","msg":"test debug message","key":"value"}
|
|
{"time":"2026-03-06T21:37:18.869798249Z","level":"INFO","msg":"test info message","count":42}
|
|
{"time":"2026-03-06T21:37:18.869804305Z","level":"WARN","msg":"test warn message","enabled":true}
|
|
{"time":"2026-03-06T21:37:18.869808331Z","level":"ERROR","msg":"test error message","error":"something went wrong"}
|
|
--- PASS: TestLogging (0.00s)
|
|
=== RUN TestSetLevel
|
|
--- PASS: TestSetLevel (0.00s)
|
|
=== RUN TestWith
|
|
--- PASS: TestWith (0.00s)
|
|
=== RUN TestWithContext
|
|
=== RUN TestWithContext/without_init
|
|
=== RUN TestWithContext/with_init
|
|
--- PASS: TestWithContext (0.00s)
|
|
--- PASS: TestWithContext/without_init (0.00s)
|
|
--- PASS: TestWithContext/with_init (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/logger (cached)
|
|
=== RUN TestExtractCodeBlocks
|
|
=== PAUSE TestExtractCodeBlocks
|
|
=== CONT TestExtractCodeBlocks
|
|
=== RUN TestExtractCodeBlocks/Single_block
|
|
=== RUN TestExtractCodeBlocks/Multiple_blocks
|
|
=== RUN TestExtractCodeBlocks/No_blocks
|
|
=== RUN TestExtractCodeBlocks/Incomplete_block
|
|
--- PASS: TestExtractCodeBlocks (0.00s)
|
|
--- PASS: TestExtractCodeBlocks/Single_block (0.00s)
|
|
--- PASS: TestExtractCodeBlocks/Multiple_blocks (0.00s)
|
|
--- PASS: TestExtractCodeBlocks/No_blocks (0.00s)
|
|
--- PASS: TestExtractCodeBlocks/Incomplete_block (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/recipe (cached)
|
|
=== RUN TestVersionInfo
|
|
=== PAUSE TestVersionInfo
|
|
=== CONT TestVersionInfo
|
|
=== RUN TestVersionInfo/Version
|
|
=== PAUSE TestVersionInfo/Version
|
|
=== RUN TestVersionInfo/Commit
|
|
=== PAUSE TestVersionInfo/Commit
|
|
=== RUN TestVersionInfo/BuildDate
|
|
=== PAUSE TestVersionInfo/BuildDate
|
|
=== CONT TestVersionInfo/Version
|
|
=== CONT TestVersionInfo/BuildDate
|
|
=== CONT TestVersionInfo/Commit
|
|
--- PASS: TestVersionInfo (0.00s)
|
|
--- PASS: TestVersionInfo/Version (0.00s)
|
|
--- PASS: TestVersionInfo/BuildDate (0.00s)
|
|
--- PASS: TestVersionInfo/Commit (0.00s)
|
|
PASS
|
|
ok gmgauthier.com/grokkit/internal/version (cached)
|