mfridman / tparse

CLI tool for summarizing go test output. Pipe friendly. CI/CD friendly.
MIT License
998 stars 22 forks source link

`PASS package` entries malformatted #88

Closed pashagolub closed 1 year ago

pashagolub commented 1 year ago

Trying to execute go test ./... -coverprofile='c.out' -json | tparse -all -smallscreen with Go v1.20 I'm getting weird lines in the output:

PASS package <package name1>
PASS package <package name2>
...

First of all, every entry is in its own table. The second, PASS word formatted as red. Please, see screenshot for details. image

mfridman commented 1 year ago

I'll fix it up, I believe it's the new Action that was added in 1.20. I just need to exclude it from the final output.

https://github.com/mfridman/tparse/issues/84

mfridman commented 1 year ago

@pashagolub I pushed a fix for this, it should be available on v0.12.x tag.

I say v0.12.x because the patch releases are attempts to fix goreleaser which had some breaking changes.

Are you installing tparse directly via go install, or are you using the GitHub Assets to fetch a pre-built binary?

pashagolub commented 1 year ago

Thanks! Works like a charm!

$ go install github.com/mfridman/tparse@latest
go: downloading github.com/mfridman/tparse v0.12.1                                        
go: downloading github.com/aymanbagabas/go-osc52 v1.0.3
go: downloading golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab

$ go test ./... -coverprofile='c.out' -json | tparse -all -smallscreen
┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐
│  STATUS │ ELAPSED │                               TEST                                │   PACKAGE     │
│─────────┼─────────┼───────────────────────────────────────────────────────────────────┼───────────────│
│  PASS   │    0.01 │ TestStatus                                                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /api         │
│  PASS   │    0.00 │ TestChainManager                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /api         │
│         │         │                                                                   │               │
│  PASS   │    0.02 │ TestConfig                                                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│  PASS   │    0.01 │ TestParseFail                                                     │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│  PASS   │    0.00 │ TestParseSuccess                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│  PASS   │    0.00 │ TestLogLevel                                                      │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│  PASS   │    0.00 │ TestVersionOnly                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│  PASS   │    0.00 │ TestNewCmdOptions                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /config      │
│         │         │                                                                   │               │
│  PASS   │    0.00 │ TestFormatter_Format_with_report_caller                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ TestFormatter_Format_with_report_caller_and_CallerFirst_true      │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ TestFormatter_Format_with_report_caller_and_CustomCallerFormatter │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ TestInit                                                          │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ TestFileLogger                                                    │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ TestPgxLog                                                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_default                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_full_level                                │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_show_keys                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_hide_keys                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_sort_order                                │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_field_order                               │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_no_fields_space                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_no_uppercase_level                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│  PASS   │    0.00 │ ExampleFormatter_Format_trim_message                              │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /log         │
│         │         │                                                                   │               │
│  PASS   │    0.33 │ TestPostgres                                                      │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.22 │ TestPending                                                       │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.21 │ TestBadMigrations                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.03 │ TestBadMigrations                                                 │ pg_timetable  │
│         │         │  /bad_tx_migration                                                │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.03 │ TestBadMigrations                                                 │ pg_timetable  │
│         │         │  /bad_db_migration                                                │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestMigratorConstructor                                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestTableExists                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestMigrateExists                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestMigrateNoTxError                                              │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestMigrateTxError                                                │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│  PASS   │    0.00 │ TestMigratorOptions                                               │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /migrator    │
│         │         │                                                                   │               │
│  PASS   │   85.75 │ TestSamplesScripts                                                │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │   25.33 │ TestNotifications                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │   10.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │   10.00 │ TestFailedConnect                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │   10.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │  /retry_locking                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    5.34 │ TestHandleNotifications                                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    1.00 │ TestFireError                                                     │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    1.00 │ TestLogHook                                                       │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.62 │ TestMigrations                                                    │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.35 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.32 │ TestCopyFromFile                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.26 │ TestCopyToFile                                                    │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.25 │ TestInitAndTestConfigDBConnection                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.22 │ TestGetRemoteDBTransaction                                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.18 │ TestInitMigrator                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.06 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │  /Check_GetChainElements_funсtion                                 │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.06 │ TestInitAndTestConfigDBConnection                                 │ pg_timetable  │
│         │         │  /Check_connection_closing                                        │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.01 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │  /Check_ExecuteSQLCommand_function                                │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.01 │ TestInitAndTestConfigDBConnection                                 │ pg_timetable  │
│         │         │  /Check_timetable.cron_type_input                                 │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.01 │ TestInitAndTestConfigDBConnection                                 │ pg_timetable  │
│         │         │  /Check_timetable_tables                                          │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │  /query_error                                                     │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSchemaScripts                                          │ pg_timetable  │
│         │         │  /Check_schema_scripts_if_everything_fine                         │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestIsAlive                                                       │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestLogChainElementExecution                                      │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │  /no_schema_yet                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │  /locking_error                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestTryLockClientName                                             │ pg_timetable  │
│         │         │  /locking_successful                                              │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSelectChain                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSelectChains                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteCustomScripts                                          │ pg_timetable  │
│         │         │  /Check_ExecuteCustomScripts_if_everything_fine                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestCopyErrors                                                    │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestRemoveChainRunStatus                                          │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteMigrationScript                                        │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteCustomScripts                                          │ pg_timetable  │
│         │         │  /Check_ExecuteCustomScripts_if_error_returned                    │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestInsertChainRunStatus                                          │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestDeleteChainConfig                                             │ pg_timetable  │
│         │         │  /Check_DeleteChainConfig_if_sql_fails                            │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteCustomScripts                                          │ pg_timetable  │
│         │         │  /Check_ExecuteCustomScripts_for_non-existent_file                │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteCustomScripts                                          │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestInitAndTestConfigDBConnection                                 │ pg_timetable  │
│         │         │  /Check_timetable_functions                                       │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestFinalizeConnection                                            │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSchemaScripts                                          │ pg_timetable  │
│         │         │  /Check_schema_scripts_if_error_returned                          │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestDeleteChainConfig                                             │ pg_timetable  │
│         │         │  /Check_DeleteChainConfig_if_everyhing_fine                       │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestDeleteChainConfig                                             │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │  /Check_DeleteChainConfig_funсtion                                │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSchemaScripts                                          │ pg_timetable  │
│         │         │  /Check_schema_scripts_if_error_returned_for_SELECT_EXISTS        │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │  /Check_GetChainParamValues_funсtion                              │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSchedulerFunctions                                            │ pg_timetable  │
│         │         │  /Check_InsertChainRunStatus_funсtion                             │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSchemaScripts                                          │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestLogChainElementExecution                                      │ pg_timetable  │
│         │         │  /Check_LogChainElementExecution_if_sql_fails                     │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestGetRemoteDBTransaction                                        │ pg_timetable  │
│         │         │  /Check_connection_closing                                        │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestGetRemoteDBTransaction                                        │ pg_timetable  │
│         │         │  /Check_set_role_function                                         │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestGetRemoteDBTransaction                                        │ pg_timetable  │
│         │         │  /Check_reset_role_function                                       │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestCancelledContext                                              │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestMustTransaction                                               │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSQLTask                                                │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExpectedCloseError                                            │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestExecuteSQLCommand                                             │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestGetChainElements                                              │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│  PASS   │    0.00 │ TestSetRole                                                       │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /pgengine    │
│         │         │                                                                   │               │
│  PASS   │   11.33 │ TestRun                                                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │   10.00 │ TestChainWorker                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    5.00 │ TestChainWorker                                                   │ pg_timetable  │
│         │         │  /Check_chainWorker_if_everything_fine                            │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    5.00 │ TestChainWorker                                                   │ pg_timetable  │
│         │         │  /Check_chainWorker_if_cannot_proceed_with_chain_execution        │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    4.00 │ TestAsyncChains                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    1.06 │ TestExecuteTask                                                   │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    1.01 │ TestIntervalChain                                                 │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    1.01 │ TestIntervalChain                                                 │ pg_timetable  │
│         │         │  /Check_reschedule_if_everything_fine                             │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestExecuteChain                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestIntervalChain                                                 │ pg_timetable  │
│         │         │  /Check_reschedule_if_self_destructive                            │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestIntervalChain                                                 │ pg_timetable  │
│         │         │  /Check_reschedule_if_context_cancelled                           │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestExecuteChainElement                                           │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestSchedulerExclusiveLocking                                     │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestChainWorker                                                   │ pg_timetable  │
│         │         │  /Check_chainWorker_if_context_cancelled                          │  /internal    │
│         │         │                                                                   │  /scheduler   │
│  PASS   │    0.00 │ TestShellCommand                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /scheduler   │
│         │         │                                                                   │               │
│  PASS   │    0.01 │ TestDownloadFile                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /tasks       │
│  PASS   │    0.00 │ TestTaskSendMail                                                  │ pg_timetable  │
│         │         │                                                                   │  /internal    │
│         │         │                                                                   │  /tasks       │
└───────────────────────────────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────────────┐
│  STATUS │ ELAPSED │             PACKAGE             │ COVER  │ PASS │ FAIL │ SKIP  │
│─────────┼─────────┼─────────────────────────────────┼────────┼──────┼──────┼───────│
│  PASS   │  0.77s  │ pg_timetable/internal/api       │ 100.0% │  2   │  0   │  0    │
│  PASS   │  1.01s  │ pg_timetable/internal/config    │ 96.7%  │  6   │  0   │  0    │
│  PASS   │  0.91s  │ pg_timetable/internal/log       │ 97.3%  │  15  │  0   │  0    │
│  PASS   │  1.52s  │ pg_timetable/internal/migrator  │ 100.0% │  11  │  0   │  0    │
│  PASS   │ 141.50s │ pg_timetable/internal/pgengine  │ 89.6%  │  59  │  0   │  0    │
│  PASS   │ 28.26s  │ pg_timetable/internal/scheduler │ 89.9%  │  15  │  0   │  0    │
│  PASS   │  0.52s  │ pg_timetable/internal/tasks     │ 100.0% │  2   │  0   │  0    │
└────────────────────────────────────────────────────────────────────────────────────┘