refactor(recipe): simplify code block extraction regex
Update the regex in runner.go to use string concatenation for better readability. Add test output files as fixtures for test verification.
This commit is contained in:
parent
b9de35f48b
commit
824bbcb85f
@ -96,8 +96,7 @@ func (r *Runner) handleApplyStep(previousResults []string) {
|
||||
}
|
||||
|
||||
// Simple regex for the format the recipe asks Grok to return
|
||||
var regStr = "`(?s)^//\\s*(.+?\\.go)\\n```go\\n(.*?)\\n````"
|
||||
var blockRe = regexp.MustCompile(regStr)
|
||||
var blockRe = regexp.MustCompile(`(?s)//\s*(.+?\.go)\n` + "```" + `go\n(.*?)\n` + "```")
|
||||
|
||||
func extractCodeBlocks(text string) map[string]string {
|
||||
blocks := make(map[string]string)
|
||||
|
||||
644
test_output.txt
Normal file
644
test_output.txt
Normal file
@ -0,0 +1,644 @@
|
||||
? 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)
|
||||
644
test_output_all.txt
Normal file
644
test_output_all.txt
Normal file
@ -0,0 +1,644 @@
|
||||
? 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.81s)
|
||||
=== 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:38:16.151535509Z","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/test1921082152.xyz: unsupported file type: .xyz
|
||||
--- PASS: TestProcessDocsFileUnsupportedLanguage (0.00s)
|
||||
=== RUN TestProcessDocsFilePreviewAndCancel
|
||||
📝 Generating Go docs for: /tmp/test1474473091.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Foo does nothing.
|
||||
func Foo() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Apply documentation to /tmp/test1474473091.go? (y/N):
|
||||
❌ Cancelled. No changes made to: /tmp/test1474473091.go
|
||||
--- PASS: TestProcessDocsFilePreviewAndCancel (0.00s)
|
||||
=== RUN TestProcessDocsFileAutoApply
|
||||
📝 Generating Go docs for: /tmp/test2612240936.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Bar does nothing.
|
||||
func Bar() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
✅ Documentation applied: /tmp/test2612240936.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 TestGetCodeLang
|
||||
=== RUN TestGetCodeLang/Go
|
||||
=== CONT TestGetTestFilePath
|
||||
--- PASS: TestBuildChangelogMessages (0.00s)
|
||||
=== RUN TestGetTestFilePath/foo.go_Go
|
||||
=== CONT TestBuildFullChangelog
|
||||
=== RUN TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== PAUSE TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== CONT TestGetTestPrompt
|
||||
=== RUN TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== PAUSE TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== RUN TestGetTestPrompt/Go
|
||||
=== CONT TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== CONT TestTestgenCmd
|
||||
=== PAUSE TestGetTestPrompt/Go
|
||||
=== CONT TestRemoveSourceComments
|
||||
=== RUN TestRemoveSourceComments/no_comments
|
||||
=== NAME TestTestgenCmd
|
||||
testgen_test.go:12: ✓ Fast testgen unit test (no Grok API call)
|
||||
=== PAUSE TestRemoveSourceComments/no_comments
|
||||
=== PAUSE TestGetTestFilePath/foo.go_Go
|
||||
=== RUN TestRemoveSourceComments/last_modified
|
||||
--- PASS: TestTestgenCmd (0.00s)
|
||||
=== PAUSE TestRemoveSourceComments/last_modified
|
||||
=== CONT TestChangelogCmd_Flags
|
||||
=== CONT TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== RUN TestGetTestPrompt/Python
|
||||
=== PAUSE TestGetCodeLang/Go
|
||||
=== RUN TestGetTestFilePath/dir/foo.py_Python
|
||||
=== PAUSE TestGetTestFilePath/dir/foo.py_Python
|
||||
=== RUN TestRemoveSourceComments/generated_by
|
||||
=== RUN TestGetCodeLang/Python
|
||||
=== PAUSE TestRemoveSourceComments/generated_by
|
||||
=== RUN TestRemoveSourceComments/multiple_removable_lines
|
||||
--- PASS: TestChangelogCmd_Flags (0.00s)
|
||||
=== PAUSE TestRemoveSourceComments/multiple_removable_lines
|
||||
=== PAUSE TestGetTestPrompt/Python
|
||||
=== RUN TestRemoveSourceComments/partial_match_no_remove
|
||||
=== RUN TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestGetTestPrompt/C
|
||||
=== PAUSE TestRemoveSourceComments/partial_match_no_remove
|
||||
=== PAUSE TestGetTestPrompt/C
|
||||
=== RUN TestRemoveSourceComments/python_testgen
|
||||
=== RUN TestGetTestPrompt/C++
|
||||
=== PAUSE TestRemoveSourceComments/python_testgen
|
||||
=== PAUSE TestGetTestPrompt/C++
|
||||
=== PAUSE TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestGetTestPrompt/Invalid
|
||||
=== RUN TestRemoveSourceComments/c_testgen
|
||||
=== RUN TestGetTestFilePath/baz.cpp_C++
|
||||
=== PAUSE TestGetTestPrompt/Invalid
|
||||
=== PAUSE TestRemoveSourceComments/c_testgen
|
||||
=== PAUSE TestGetTestFilePath/baz.cpp_C++
|
||||
=== CONT TestGetTestPrompt/Python
|
||||
=== CONT TestRemoveSourceComments/no_comments
|
||||
=== CONT TestGetTestFilePath/bar.c_C
|
||||
=== CONT TestGetTestPrompt/C
|
||||
=== CONT TestGetTestFilePath/dir/foo.py_Python
|
||||
=== CONT TestRemoveSourceComments/generated_by
|
||||
=== CONT TestRemoveSourceComments/python_testgen
|
||||
=== PAUSE TestGetCodeLang/Python
|
||||
=== CONT TestRemoveSourceComments/partial_match_no_remove
|
||||
=== RUN TestGetCodeLang/C
|
||||
=== PAUSE TestGetCodeLang/C
|
||||
=== RUN TestGetCodeLang/C++
|
||||
=== PAUSE TestGetCodeLang/C++
|
||||
--- PASS: TestBuildFullChangelog (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/prepends_to_existing_file (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/creates_new_file_with_header (0.00s)
|
||||
=== CONT TestRemoveSourceComments/c_testgen
|
||||
=== CONT TestRemoveSourceComments/multiple_removable_lines
|
||||
=== CONT TestGetTestFilePath/foo.go_Go
|
||||
=== CONT TestGetTestPrompt/Go
|
||||
=== CONT TestGetTestPrompt/Invalid
|
||||
=== CONT TestGetTestPrompt/C++
|
||||
--- PASS: TestGetTestPrompt (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Python (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Go (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Invalid (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C++ (0.00s)
|
||||
=== CONT TestGetTestFilePath/baz.cpp_C++
|
||||
=== CONT TestRemoveSourceComments/last_modified
|
||||
=== CONT TestGetCodeLang/Go
|
||||
--- PASS: TestGetTestFilePath (0.00s)
|
||||
--- PASS: TestGetTestFilePath/bar.c_C (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: TestRemoveSourceComments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/no_comments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/generated_by (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/python_testgen (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/partial_match_no_remove (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/c_testgen (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/multiple_removable_lines (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/last_modified (0.00s)
|
||||
=== CONT TestGetCodeLang/C++
|
||||
=== CONT TestGetCodeLang/Python
|
||||
=== CONT TestGetCodeLang/C
|
||||
--- PASS: TestGetCodeLang (0.00s)
|
||||
--- PASS: TestGetCodeLang/Go (0.00s)
|
||||
--- PASS: TestGetCodeLang/C++ (0.00s)
|
||||
--- PASS: TestGetCodeLang/C (0.00s)
|
||||
--- PASS: TestGetCodeLang/Python (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/cmd (cached)
|
||||
=== 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.07s)
|
||||
--- PASS: TestRunLinter/Run_go_vet_on_valid_file (0.07s)
|
||||
--- 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.16s)
|
||||
--- PASS: TestLintFile/Lint_valid_Go_file (0.16s)
|
||||
--- 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-04T19:52:04.116795514Z","level":"DEBUG","msg":"test debug message","key":"value"}
|
||||
{"time":"2026-03-04T19:52:04.116935804Z","level":"INFO","msg":"test info message","count":42}
|
||||
{"time":"2026-03-04T19:52:04.116957313Z","level":"WARN","msg":"test warn message","enabled":true}
|
||||
{"time":"2026-03-04T19:52:04.116977684Z","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/Commit
|
||||
=== CONT TestVersionInfo/BuildDate
|
||||
--- PASS: TestVersionInfo (0.00s)
|
||||
--- PASS: TestVersionInfo/Version (0.00s)
|
||||
--- PASS: TestVersionInfo/Commit (0.00s)
|
||||
--- PASS: TestVersionInfo/BuildDate (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/internal/version (cached)
|
||||
644
test_output_fresh.txt
Normal file
644
test_output_fresh.txt
Normal file
@ -0,0 +1,644 @@
|
||||
? 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 (cached)
|
||||
=== 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)
|
||||
644
test_output_race.txt
Normal file
644
test_output_race.txt
Normal file
@ -0,0 +1,644 @@
|
||||
? 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.81s)
|
||||
=== 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:38:16.151535509Z","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/test1921082152.xyz: unsupported file type: .xyz
|
||||
--- PASS: TestProcessDocsFileUnsupportedLanguage (0.00s)
|
||||
=== RUN TestProcessDocsFilePreviewAndCancel
|
||||
📝 Generating Go docs for: /tmp/test1474473091.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Foo does nothing.
|
||||
func Foo() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Apply documentation to /tmp/test1474473091.go? (y/N):
|
||||
❌ Cancelled. No changes made to: /tmp/test1474473091.go
|
||||
--- PASS: TestProcessDocsFilePreviewAndCancel (0.00s)
|
||||
=== RUN TestProcessDocsFileAutoApply
|
||||
📝 Generating Go docs for: /tmp/test2612240936.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Bar does nothing.
|
||||
func Bar() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
✅ Documentation applied: /tmp/test2612240936.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 TestGetCodeLang
|
||||
=== RUN TestGetCodeLang/Go
|
||||
=== CONT TestGetTestFilePath
|
||||
--- PASS: TestBuildChangelogMessages (0.00s)
|
||||
=== RUN TestGetTestFilePath/foo.go_Go
|
||||
=== CONT TestBuildFullChangelog
|
||||
=== RUN TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== PAUSE TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== CONT TestGetTestPrompt
|
||||
=== RUN TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== PAUSE TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== RUN TestGetTestPrompt/Go
|
||||
=== CONT TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== CONT TestTestgenCmd
|
||||
=== PAUSE TestGetTestPrompt/Go
|
||||
=== CONT TestRemoveSourceComments
|
||||
=== RUN TestRemoveSourceComments/no_comments
|
||||
=== NAME TestTestgenCmd
|
||||
testgen_test.go:12: ✓ Fast testgen unit test (no Grok API call)
|
||||
=== PAUSE TestRemoveSourceComments/no_comments
|
||||
=== PAUSE TestGetTestFilePath/foo.go_Go
|
||||
=== RUN TestRemoveSourceComments/last_modified
|
||||
--- PASS: TestTestgenCmd (0.00s)
|
||||
=== PAUSE TestRemoveSourceComments/last_modified
|
||||
=== CONT TestChangelogCmd_Flags
|
||||
=== CONT TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== RUN TestGetTestPrompt/Python
|
||||
=== PAUSE TestGetCodeLang/Go
|
||||
=== RUN TestGetTestFilePath/dir/foo.py_Python
|
||||
=== PAUSE TestGetTestFilePath/dir/foo.py_Python
|
||||
=== RUN TestRemoveSourceComments/generated_by
|
||||
=== RUN TestGetCodeLang/Python
|
||||
=== PAUSE TestRemoveSourceComments/generated_by
|
||||
=== RUN TestRemoveSourceComments/multiple_removable_lines
|
||||
--- PASS: TestChangelogCmd_Flags (0.00s)
|
||||
=== PAUSE TestRemoveSourceComments/multiple_removable_lines
|
||||
=== PAUSE TestGetTestPrompt/Python
|
||||
=== RUN TestRemoveSourceComments/partial_match_no_remove
|
||||
=== RUN TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestGetTestPrompt/C
|
||||
=== PAUSE TestRemoveSourceComments/partial_match_no_remove
|
||||
=== PAUSE TestGetTestPrompt/C
|
||||
=== RUN TestRemoveSourceComments/python_testgen
|
||||
=== RUN TestGetTestPrompt/C++
|
||||
=== PAUSE TestRemoveSourceComments/python_testgen
|
||||
=== PAUSE TestGetTestPrompt/C++
|
||||
=== PAUSE TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestGetTestPrompt/Invalid
|
||||
=== RUN TestRemoveSourceComments/c_testgen
|
||||
=== RUN TestGetTestFilePath/baz.cpp_C++
|
||||
=== PAUSE TestGetTestPrompt/Invalid
|
||||
=== PAUSE TestRemoveSourceComments/c_testgen
|
||||
=== PAUSE TestGetTestFilePath/baz.cpp_C++
|
||||
=== CONT TestGetTestPrompt/Python
|
||||
=== CONT TestRemoveSourceComments/no_comments
|
||||
=== CONT TestGetTestFilePath/bar.c_C
|
||||
=== CONT TestGetTestPrompt/C
|
||||
=== CONT TestGetTestFilePath/dir/foo.py_Python
|
||||
=== CONT TestRemoveSourceComments/generated_by
|
||||
=== CONT TestRemoveSourceComments/python_testgen
|
||||
=== PAUSE TestGetCodeLang/Python
|
||||
=== CONT TestRemoveSourceComments/partial_match_no_remove
|
||||
=== RUN TestGetCodeLang/C
|
||||
=== PAUSE TestGetCodeLang/C
|
||||
=== RUN TestGetCodeLang/C++
|
||||
=== PAUSE TestGetCodeLang/C++
|
||||
--- PASS: TestBuildFullChangelog (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/prepends_to_existing_file (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/creates_new_file_with_header (0.00s)
|
||||
=== CONT TestRemoveSourceComments/c_testgen
|
||||
=== CONT TestRemoveSourceComments/multiple_removable_lines
|
||||
=== CONT TestGetTestFilePath/foo.go_Go
|
||||
=== CONT TestGetTestPrompt/Go
|
||||
=== CONT TestGetTestPrompt/Invalid
|
||||
=== CONT TestGetTestPrompt/C++
|
||||
--- PASS: TestGetTestPrompt (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Python (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Go (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Invalid (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C++ (0.00s)
|
||||
=== CONT TestGetTestFilePath/baz.cpp_C++
|
||||
=== CONT TestRemoveSourceComments/last_modified
|
||||
=== CONT TestGetCodeLang/Go
|
||||
--- PASS: TestGetTestFilePath (0.00s)
|
||||
--- PASS: TestGetTestFilePath/bar.c_C (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: TestRemoveSourceComments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/no_comments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/generated_by (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/python_testgen (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/partial_match_no_remove (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/c_testgen (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/multiple_removable_lines (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/last_modified (0.00s)
|
||||
=== CONT TestGetCodeLang/C++
|
||||
=== CONT TestGetCodeLang/Python
|
||||
=== CONT TestGetCodeLang/C
|
||||
--- PASS: TestGetCodeLang (0.00s)
|
||||
--- PASS: TestGetCodeLang/Go (0.00s)
|
||||
--- PASS: TestGetCodeLang/C++ (0.00s)
|
||||
--- PASS: TestGetCodeLang/C (0.00s)
|
||||
--- PASS: TestGetCodeLang/Python (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/cmd 1.839s
|
||||
=== 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.07s)
|
||||
--- PASS: TestRunLinter/Run_go_vet_on_valid_file (0.07s)
|
||||
--- 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.16s)
|
||||
--- PASS: TestLintFile/Lint_valid_Go_file (0.16s)
|
||||
--- 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-04T19:52:04.116795514Z","level":"DEBUG","msg":"test debug message","key":"value"}
|
||||
{"time":"2026-03-04T19:52:04.116935804Z","level":"INFO","msg":"test info message","count":42}
|
||||
{"time":"2026-03-04T19:52:04.116957313Z","level":"WARN","msg":"test warn message","enabled":true}
|
||||
{"time":"2026-03-04T19:52:04.116977684Z","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/Commit
|
||||
=== CONT TestVersionInfo/BuildDate
|
||||
--- PASS: TestVersionInfo (0.00s)
|
||||
--- PASS: TestVersionInfo/Version (0.00s)
|
||||
--- PASS: TestVersionInfo/Commit (0.00s)
|
||||
--- PASS: TestVersionInfo/BuildDate (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/internal/version (cached)
|
||||
644
test_output_race_no_cache.txt
Normal file
644
test_output_race_no_cache.txt
Normal file
@ -0,0 +1,644 @@
|
||||
? 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.80s)
|
||||
=== 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:38:27.053675791Z","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/test3313905325.xyz: unsupported file type: .xyz
|
||||
--- PASS: TestProcessDocsFileUnsupportedLanguage (0.00s)
|
||||
=== RUN TestProcessDocsFilePreviewAndCancel
|
||||
📝 Generating Go docs for: /tmp/test3983744019.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Foo does nothing.
|
||||
func Foo() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Apply documentation to /tmp/test3983744019.go? (y/N):
|
||||
❌ Cancelled. No changes made to: /tmp/test3983744019.go
|
||||
--- PASS: TestProcessDocsFilePreviewAndCancel (0.00s)
|
||||
=== RUN TestProcessDocsFileAutoApply
|
||||
📝 Generating Go docs for: /tmp/test1798745211.go
|
||||
|
||||
📋 Preview of documented code:
|
||||
--------------------------------------------------------------------------------
|
||||
package main
|
||||
|
||||
// Bar does nothing.
|
||||
func Bar() {}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
✅ Documentation applied: /tmp/test1798745211.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 TestTestgenCmd
|
||||
=== CONT TestChangelogCmd_Flags
|
||||
=== CONT TestBuildFullChangelog
|
||||
=== RUN TestBuildFullChangelog/creates_new_file_with_header
|
||||
--- PASS: TestBuildChangelogMessages (0.00s)
|
||||
=== PAUSE TestBuildFullChangelog/creates_new_file_with_header
|
||||
--- PASS: TestChangelogCmd_Flags (0.00s)
|
||||
=== CONT TestGetTestFilePath
|
||||
=== RUN TestGetTestFilePath/foo.go_Go
|
||||
=== PAUSE TestGetTestFilePath/foo.go_Go
|
||||
=== RUN TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== RUN TestGetTestFilePath/dir/foo.py_Python
|
||||
=== CONT TestRemoveSourceComments
|
||||
=== RUN TestRemoveSourceComments/no_comments
|
||||
=== PAUSE TestRemoveSourceComments/no_comments
|
||||
=== RUN TestRemoveSourceComments/last_modified
|
||||
=== PAUSE TestGetTestFilePath/dir/foo.py_Python
|
||||
=== PAUSE TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== PAUSE TestRemoveSourceComments/last_modified
|
||||
=== RUN TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestRemoveSourceComments/generated_by
|
||||
=== CONT TestBuildFullChangelog/creates_new_file_with_header
|
||||
=== CONT TestGetCodeLang
|
||||
=== PAUSE TestRemoveSourceComments/generated_by
|
||||
=== RUN TestGetCodeLang/Go
|
||||
=== RUN TestRemoveSourceComments/multiple_removable_lines
|
||||
=== CONT TestBuildFullChangelog/prepends_to_existing_file
|
||||
=== NAME TestTestgenCmd
|
||||
testgen_test.go:12: ✓ Fast testgen unit test (no Grok API call)
|
||||
--- PASS: TestTestgenCmd (0.00s)
|
||||
=== CONT TestGetTestPrompt
|
||||
=== RUN TestGetTestPrompt/Go
|
||||
=== PAUSE TestGetTestPrompt/Go
|
||||
=== PAUSE TestGetTestFilePath/bar.c_C
|
||||
=== PAUSE TestRemoveSourceComments/multiple_removable_lines
|
||||
=== RUN TestGetTestPrompt/Python
|
||||
=== RUN TestGetTestFilePath/baz.cpp_C++
|
||||
=== RUN TestRemoveSourceComments/partial_match_no_remove
|
||||
=== PAUSE TestGetTestFilePath/baz.cpp_C++
|
||||
=== PAUSE TestGetTestPrompt/Python
|
||||
=== PAUSE TestRemoveSourceComments/partial_match_no_remove
|
||||
=== PAUSE TestGetCodeLang/Go
|
||||
=== CONT TestGetTestFilePath/bar.c_C
|
||||
=== RUN TestRemoveSourceComments/python_testgen
|
||||
=== RUN TestGetCodeLang/Python
|
||||
=== PAUSE TestRemoveSourceComments/python_testgen
|
||||
=== PAUSE TestGetCodeLang/Python
|
||||
=== RUN TestRemoveSourceComments/c_testgen
|
||||
=== RUN TestGetCodeLang/C
|
||||
=== PAUSE TestRemoveSourceComments/c_testgen
|
||||
=== CONT TestGetTestFilePath/foo.go_Go
|
||||
=== PAUSE TestGetCodeLang/C
|
||||
=== CONT TestRemoveSourceComments/no_comments
|
||||
=== RUN TestGetCodeLang/C++
|
||||
=== CONT TestGetTestFilePath/baz.cpp_C++
|
||||
=== CONT TestRemoveSourceComments/partial_match_no_remove
|
||||
=== CONT TestRemoveSourceComments/generated_by
|
||||
=== CONT TestRemoveSourceComments/multiple_removable_lines
|
||||
=== CONT TestRemoveSourceComments/python_testgen
|
||||
=== CONT TestGetTestFilePath/dir/foo.py_Python
|
||||
=== CONT TestRemoveSourceComments/last_modified
|
||||
=== RUN TestGetTestPrompt/C
|
||||
=== PAUSE TestGetTestPrompt/C
|
||||
=== CONT TestRemoveSourceComments/c_testgen
|
||||
=== RUN TestGetTestPrompt/C++
|
||||
--- PASS: TestGetTestFilePath (0.00s)
|
||||
--- PASS: TestGetTestFilePath/bar.c_C (0.00s)
|
||||
--- PASS: TestGetTestFilePath/foo.go_Go (0.00s)
|
||||
--- PASS: TestGetTestFilePath/baz.cpp_C++ (0.00s)
|
||||
--- PASS: TestGetTestFilePath/dir/foo.py_Python (0.00s)
|
||||
=== PAUSE TestGetTestPrompt/C++
|
||||
=== RUN TestGetTestPrompt/Invalid
|
||||
=== PAUSE TestGetCodeLang/C++
|
||||
=== PAUSE TestGetTestPrompt/Invalid
|
||||
--- PASS: TestRemoveSourceComments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/no_comments (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/generated_by (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/multiple_removable_lines (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/partial_match_no_remove (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/python_testgen (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/last_modified (0.00s)
|
||||
--- PASS: TestRemoveSourceComments/c_testgen (0.00s)
|
||||
=== CONT TestGetTestPrompt/C
|
||||
=== CONT TestGetCodeLang/Go
|
||||
=== CONT TestGetCodeLang/Python
|
||||
=== CONT TestGetTestPrompt/Go
|
||||
--- PASS: TestBuildFullChangelog (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/creates_new_file_with_header (0.00s)
|
||||
--- PASS: TestBuildFullChangelog/prepends_to_existing_file (0.00s)
|
||||
=== CONT TestGetTestPrompt/Invalid
|
||||
=== CONT TestGetCodeLang/C
|
||||
=== CONT TestGetTestPrompt/C++
|
||||
=== CONT TestGetTestPrompt/Python
|
||||
=== CONT TestGetCodeLang/C++
|
||||
--- PASS: TestGetTestPrompt (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Go (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Invalid (0.00s)
|
||||
--- PASS: TestGetTestPrompt/C++ (0.00s)
|
||||
--- PASS: TestGetTestPrompt/Python (0.00s)
|
||||
--- PASS: TestGetCodeLang (0.00s)
|
||||
--- PASS: TestGetCodeLang/Python (0.00s)
|
||||
--- PASS: TestGetCodeLang/Go (0.00s)
|
||||
--- PASS: TestGetCodeLang/C (0.00s)
|
||||
--- PASS: TestGetCodeLang/C++ (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/cmd 1.837s
|
||||
=== 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 1.011s
|
||||
=== 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 1.008s
|
||||
=== 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 1.023s
|
||||
=== 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 1.017s
|
||||
=== 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.07s)
|
||||
--- PASS: TestRunLinter/Run_go_vet_on_valid_file (0.07s)
|
||||
--- 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.20s)
|
||||
--- PASS: TestLintFile/Lint_valid_Go_file (0.19s)
|
||||
--- 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 1.280s
|
||||
=== 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:38:26.236151816Z","level":"DEBUG","msg":"test debug message","key":"value"}
|
||||
{"time":"2026-03-06T21:38:26.236315178Z","level":"INFO","msg":"test info message","count":42}
|
||||
{"time":"2026-03-06T21:38:26.236336913Z","level":"WARN","msg":"test warn message","enabled":true}
|
||||
{"time":"2026-03-06T21:38:26.236352195Z","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 1.011s
|
||||
=== 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 1.009s
|
||||
=== 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/BuildDate
|
||||
=== CONT TestVersionInfo/Version
|
||||
=== CONT TestVersionInfo/Commit
|
||||
--- PASS: TestVersionInfo (0.00s)
|
||||
--- PASS: TestVersionInfo/BuildDate (0.00s)
|
||||
--- PASS: TestVersionInfo/Version (0.00s)
|
||||
--- PASS: TestVersionInfo/Commit (0.00s)
|
||||
PASS
|
||||
ok gmgauthier.com/grokkit/internal/version 1.009s
|
||||
Loading…
Reference in New Issue
Block a user