• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / go-tarantool
76%

Build:
DEFAULT BRANCH: master
Repo Added 22 Mar 2022 10:53AM UTC
Files 19
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • 0x501D/ci-use-tt
  • AnaNek/gh-101-interactive-transactions
  • AnaNek/gh-108-alternative-crud-api
  • AnaNek/gh-108-crud-api
  • AnaNek/gh-125-rename-default-call
  • AnaNek/master-discovery
  • DerekBum-gh-136-add-context-to-connection-create
  • DerekBum/gh-237-ability-to-mock-connections
  • DerekBum/gh-301-disable-ssl-by-default
  • DerekBum/gh-301-remove-ssl
  • DerekBum/gh-337-support-iproto-watch-once
  • DerekBum/gh-338-support-space-and-index-names
  • DerekBum/gh-348-fix-splice-update-operation
  • DerekBum/gh-378-bump-go-version
  • DerekBum/gh-380-get-status-from-watch-once
  • DerekBum/gh-7-connection-schema-getter
  • DifferentialOrange/crud-improvements
  • DifferentialOrange/fix-readme-go-1.13
  • DifferentialOrange/gh-120-iproto-id
  • DifferentialOrange/gh-209-error-type
  • DifferentialOrange/gh-214-graceful-shutdown
  • DifferentialOrange/gh-214-graceful-shutdown-v2
  • DifferentialOrange/gh-215-session-settings
  • DifferentialOrange/gh-342-float-timeout
  • DifferentialOrange/no-gh-crud-schema
  • DifferentialOrange/no-gh-crud-schema-opts
  • DifferentialOrange/no-gh-crud-yield-every
  • DifferentialOrange/ssl-key-decryption
  • Godrik0/gh-509-active-standby-strategy
  • Godrik0/gh-509-active–standby-strategy
  • Totktonada/remove-trailing-whilespaces
  • add-box-info-replication
  • askalt/gh-321-socket-fd
  • askalt/gh-330-support-operation-data
  • babyTsakhes/change_logger_for_pool
  • babyTsakhes/gh-322-add-string-convertion-for-datetime
  • babyTsakhes/gh-322-add-string-convertion-for-decimal
  • babyTsakhes/gh-322-add-string-convertion-for-decimal-datetime-interval
  • babyTsakhes/gh-322-add-string-convertion-for-interval
  • babyTsakhes/gh-466-add-missing-IPROTO-feature-flags
  • babyTsakhes/gh-492-replace-usage-of-optional-types-in-crud-with-go-option
  • babyTsakhes/gh-502-flaky_TestConnectionHandlerOpenUpdateClose
  • babyTsakhes/gh-504-change-design-of-tarantool-Logger
  • babyTsakhes/gh-504-change-logger-for-pool-Slogger-task
  • better0fdead/flaky-macOS
  • better0fdead/gh-157-macos
  • better0fdead/no-gh-svacer
  • bigbes/TNTP-3331-box-schema-wrappers
  • bigbes/TNTP-3334-iproto-body-tests
  • bigbes/TNTP-3334-iproto-is-sync-support
  • bigbes/TNTP-3336-move-err-to-constant
  • bigbes/gh-147-capture-tarantool-log-tail
  • bigbes/gh-147-fix-invalid-startup-panics
  • bigbes/gh-238-request-value-receivers
  • bigbes/gh-469-error-redesign
  • bigbes/gh-471-unexport-stream-fields
  • bigbes/gh-no-pin-golangci-lint-version
  • bigbes/gh-no-request-value-receivers
  • bigbes/gh-no-rewrite-pool-new
  • bigbes/gh-no-update-gha
  • bigbes/release-v2.4.0
  • bigbes/testing-master
  • bigbes/tntp-3735-generate-optional-extensions
  • bigbes/tntp-no-fix-workflow
  • bigbes/tntp-no-modify-macos-checks
  • bigbes/tntp-no-update-v3-version
  • bigbes/tntp-no-update-versions-in-ci
  • bigbes/update-github-actions
  • box/schema
  • discovering
  • dmyger/gh-399-add-support-IPROTO_INSERT_ARROW
  • dmyger/gh-412-api-update-Arrow-constants-with-iproto
  • dmyger/gh-no_update_test_helpers
  • elhimov/gh-452-flaky-on-mac-TestConnectionHandlerOpenUpdateClose
  • elhimov/svacer-fix-similar-branches
  • elhimov/tntp-3643-flaky-on-mac-TestConnectionHandlerOpenUpdateClose
  • ermyar/gh-334-enabling-linter-errcheck
  • ermyar/gh-457_cancelled_ctx_error
  • ermyar/gh-457_returning_ctx_cause_error
  • ermyar/gh-470-future-interface-transformation
  • ermyar/gh-474-using-interface-instead-testingT
  • ermyar/gh-478-removing-deprecated-pool-methods
  • ermyar/gh-487-MockDoer-refactoring
  • ermyar/gh-493-reduce-read-allocations
  • ermyar/gh-493-reduce-reader-allocations
  • ermyar/gh-493-reduce-response-allocations
  • ermyar/gh-558-prepare-and-execute-response-releasing
  • feature/box
  • fix-typo
  • get-instances
  • gh-322-add-string-convertion-for-datetime
  • gh-322-add-string-convertion-for-decimal
  • gh-67-iproto-push-support
  • grafin/is_nullable_test
  • i-cod/bump-action-version
  • imeevma/gh-436-block-connect
  • imeevma/gh-438-fix-panic-new-watcher-during-reconnect
  • install_crud_master
  • iverbin/fix-arrow-test-insert-invalid
  • laines-it/TGSCC-data-race-fix
  • laines-it/flaky-tests-releaver
  • laines-it/gh-448-box-New-return-error
  • laines-it/gh-479-remove-deprecated-connection
  • laines-it/gh-480-remove-deprecated-pushapi
  • laines-it/gh-485-test-helpers-improve
  • laines-it/gh-496-replace-Future-chan-cond-Sync
  • laines-it/gh-497-remove-Future_ready_usage
  • laines-it/gh-503-flaky-TestGracefulShutdown
  • laines-it/gh-511-fix-tests-Grant-Revoke-WithoutSu
  • laines-it/gh-529-flaky-TestGracefulShutdown
  • laines-it/gh-530-flaky-TestConnectionHandlerDeactivated_on_remove
  • laines-it/gh-540-refactor-PoolClose
  • laines-it/gh-544-syncPool-for-future
  • laines-it/gh-549-split-reader
  • laines-it/workflow-testing-analyzer
  • ligurio/better-code-coverage
  • ligurio/code-coverage
  • ligurio/documentation-fixes
  • ligurio/fix-coverage
  • ligurio/gh-118-datetime-support
  • ligurio/gh-121-release-process
  • ligurio/gh-123-documentation
  • ligurio/gh-142-workflow
  • ligurio/gh-96-decimal-support
  • ligurio/gofmt
  • ligurio/review-checklist
  • locker/queue-identify-arg-fix
  • logo
  • more-info
  • nshi/fix-compare-box-errors-invocation
  • nshi/fix-error-payload-tests
  • nshi/fix-error-payload-tests-more
  • oleg-jukovec/1.10-support
  • oleg-jukovec/2.10-workaround-delete
  • oleg-jukovec/add-libraries-to-readme
  • oleg-jukovec/bump-go-iproto
  • oleg-jukovec/ci-tnt-1.6
  • oleg-jukovec/connect-validation-helper
  • oleg-jukovec/connection-dialer
  • oleg-jukovec/connection_pool_fixes
  • oleg-jukovec/contibuting-update
  • oleg-jukovec/crud-conditions-fix
  • oleg-jukovec/datetime-interval-offsets
  • oleg-jukovec/datetime-non-fixed
  • oleg-jukovec/decimal-fix
  • oleg-jukovec/decoders-pool
  • oleg-jukovec/enable-more-linters
  • oleg-jukovec/fix-centos7-build
  • oleg-jukovec/fix-ci
  • oleg-jukovec/fix-decimal-export
  • oleg-jukovec/fix-ee-tests-ref
  • oleg-jukovec/fix-flaky-closegraceful
  • oleg-jukovec/fix-flaky-pool
  • oleg-jukovec/fix-flaky-pool-test
  • oleg-jukovec/fix-flaky-queue-pool
  • oleg-jukovec/fix-master-cache
  • oleg-jukovec/fix-seq-scan
  • oleg-jukovec/flaky-decimal-testselect
  • oleg-jukovec/forks-disable-ee
  • oleg-jukovec/gettyped-after-get
  • oleg-jukovec/gh-119-watchers-support
  • oleg-jukovec/gh-124-msgpack-v5
  • oleg-jukovec/gh-126-request-object-select
  • oleg-jukovec/gh-129-unexpected
  • oleg-jukovec/gh-155-ssl-support
  • oleg-jukovec/gh-163-datetime-tz
  • oleg-jukovec/gh-165-interval-support
  • oleg-jukovec/gh-176-queue-loves-pool
  • oleg-jukovec/gh-177-add-queue-missing
  • oleg-jukovec/gh-178-connection-pool-callbacks
  • oleg-jukovec/gh-191-fix-datetime-range
  • oleg-jukovec/gh-196-get-typed-examples
  • oleg-jukovec/gh-201-fix-decimal-godoc
  • oleg-jukovec/gh-218-schema-data-race
  • oleg-jukovec/gh-223-invalid-streamid
  • oleg-jukovec/gh-231-golint-ci-output
  • oleg-jukovec/gh-234-flaky-multi-TestDisconnectAll
  • oleg-jukovec/gh-238-immutable
  • oleg-jukovec/gh-241-deprecated
  • oleg-jukovec/gh-243-pap-sha256
  • oleg-jukovec/gh-244-fix-flaky-withcontext
  • oleg-jukovec/gh-246-pagination
  • oleg-jukovec/gh-257-graceful-close
  • oleg-jukovec/gh-260-fix-M1-build
  • oleg-jukovec/gh-271-crud-improvments
  • oleg-jukovec/gh-272-pool-reconnect-bug
  • oleg-jukovec/gh-284-fix-newwatcher
  • oleg-jukovec/gh-288-fix-flaky-crud
  • oleg-jukovec/gh-290-pool-add-remove
  • oleg-jukovec/gh-293-replicaset-uuid
  • oleg-jukovec/gh-309-round-robin-race
  • oleg-jukovec/gh-320-fix-after
  • oleg-jukovec/gh-321-fix-after
  • oleg-jukovec/gh-322-fix-after
  • oleg-jukovec/gh-324-deprecate-session-push
  • oleg-jukovec/gh-356-pool-connect-update-interface
  • oleg-jukovec/gh-357-fix-ssl-diable-build
  • oleg-jukovec/gh-365-crud-typed-batches
  • oleg-jukovec/gh-372-pool-connect-improve
  • oleg-jukovec/gh-376-pool-do-by-name
  • oleg-jukovec/gh-415-fix-arrow-error
  • oleg-jukovec/gh-no-do-not-reload-schema
  • oleg-jukovec/gh-no-golangci-v2
  • oleg-jukovec/gh-no-local-smallbuf
  • oleg-jukovec/gh-no-parallel-reader
  • oleg-jukovec/gh-no-remove-base-response-allocation
  • oleg-jukovec/gh-no-sql-case-sensitive
  • oleg-jukovec/gofmt-1.19
  • oleg-jukovec/golangci-lint-goimports
  • oleg-jukovec/linters
  • oleg-jukovec/logger-slog
  • oleg-jukovec/merge-close
  • oleg-jukovec/only-do-request
  • oleg-jukovec/perf-tests
  • oleg-jukovec/pool-ban-opts
  • oleg-jukovec/pool-remove-does-not-call-deactivated
  • oleg-jukovec/race-condition-fixes
  • oleg-jukovec/release-1.10.0
  • oleg-jukovec/release-1.11.0
  • oleg-jukovec/release-1.12.0
  • oleg-jukovec/release-1.12.1
  • oleg-jukovec/release-1.12.2
  • oleg-jukovec/release-1.6.0
  • oleg-jukovec/release-1.7.0
  • oleg-jukovec/release-1.8.0
  • oleg-jukovec/release-1.9.0
  • oleg-jukovec/release-2.0.0
  • oleg-jukovec/release-2.1.0
  • oleg-jukovec/release-v2.2.0
  • oleg-jukovec/release-v2.2.1
  • oleg-jukovec/release-v2.3.0
  • oleg-jukovec/release-v2.3.1
  • oleg-jukovec/release-v2.3.2
  • oleg-jukovec/release-v2.4.1
  • oleg-jukovec/remove-NewErrorFuture
  • oleg-jukovec/remove-call16
  • oleg-jukovec/remove-future-err
  • oleg-jukovec/rename-connection-pool
  • oleg-jukovec/test-go-openssl
  • oleg-jukovec/tntp-2018-pool-connect-parallel
  • oleg-jukovec/tntp-2018-pool-parallel-connect
  • oleg-jukovec/update-readme-md
  • oleg-jukovec/usage-test-func
  • oleg-jukovec/v2
  • oleg-jukovec/version-helper-output
  • patapenka-alexey/tntp-1918-bump-ubuntu-version
  • patch/457.ctxerr
  • pool/doer
  • pooler-state
  • psergee/no-gh-test-branch
  • refs/tags/v1.10.0
  • refs/tags/v1.11.0
  • refs/tags/v1.12.0
  • refs/tags/v1.12.1
  • refs/tags/v1.12.2
  • refs/tags/v1.6.0
  • refs/tags/v1.7.0
  • refs/tags/v1.8.0
  • refs/tags/v1.9.0
  • refs/tags/v2.0.0
  • refs/tags/v2.1.0
  • refs/tags/v2.2.0
  • refs/tags/v2.2.1
  • refs/tags/v2.3.0
  • refs/tags/v2.3.1
  • refs/tags/v2.3.2
  • refs/tags/v2.4.0
  • refs/tags/v2.4.1
  • release/1.12
  • skaplun/gh-noticket-bump-ubuntu
  • testify-migrate-crud
  • testify-migrate-datetime
  • testify-migrate-decimal
  • testify-migrate-pool
  • testify-migrate-queue
  • testify-migrate-root
  • testify-migrate-settings
  • testify-migrate-uuid
  • v2
  • v2_WIP
  • v3
  • vr009/fix-typo
  • vr009/gh-117-add-prepared-statements
  • vr009/gh-122-add-perf-tests
  • vr009/gh-142-fix-lint-warnings
  • vr009/gh-48-add-context-support
  • vr009/gh-62-minimal-sql-support
  • ylobankov/bump-actions-version

15 May 2026 12:14PM UTC coverage: 75.58% (+0.1%) from 75.435%
25917210927

push

github

oleg-jukovec
tests: capture tarantool log tail in startup errors

When StartTarantool fails, the returned error gives only the connection
or exit reason ("exit status 1", "context deadline exceeded"), so a CI
failure required re-running the test locally to see why tarantool
actually refused to come up. Tarantool's own diagnostics — bad config,
port conflicts, missing modules, Lua errors during init — were written
to the child's stdout/stderr and silently dropped on the floor.

Wire a small ring buffer into Cmd.Stdout/Stderr that retains the last
50 lines, append it to the StartTarantool error on the two failure
paths (unexpected exit and connect failure), and expose the same tail
on TarantoolInstance for live tests.

Add test_helpers.DumpLogsIfFailed so a passing StartTarantool followed
by a later assertion failure can surface the captured log via t.Logf.
Intended idiom:

    inst, err := test_helpers.StartTarantool(opts)
    require.NoError(t, err)
    defer test_helpers.StopTarantoolWithCleanup(inst)
    defer test_helpers.DumpLogsIfFailed(t, inst)

Buffer is safe for concurrent writes from exec.Cmd's two copy goroutines
and preserves a partial trailing line if the process exits without
flushing a newline.

Closes #147

3126 of 4136 relevant lines covered (75.58%)

10605.88 hits per line

Relevant lines Covered
Build:
Build:
4136 RELEVANT LINES 3126 COVERED LINES
10605.88 HITS PER LINE
Source Files on master
  • Tree
  • List 19
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25917210927 master tests: capture tarantool log tail in startup errors When StartTarantool fails, the returned error gives only the connection or exit reason ("exit status 1", "context deadline exceeded"), so a CI failure required re-running the test locally to see... push 15 May 2026 12:27PM UTC oleg-jukovec github
75.58
25917220948 master api: unexport Stream fields Make Stream.Id and Stream.Conn unexported, turning Stream into an opaque handle. This enforces encapsulation and prevents unsafe direct mutation (e.g. stream.Conn = nil). Neither the stream identifier nor the underlyin... push 15 May 2026 12:27PM UTC oleg-jukovec github
75.48
25404692616 master tests: prevent leaked tarantool on bad start Two related issues from #147 made test failures painful to diagnose: 1. When a test panicked, the spawned tarantool process was left running and kept its TCP port bound, so the next run failed with... push 05 May 2026 10:10PM UTC oleg-jukovec github
75.44
25403933066 master ci: pin golangci-lint version and unlimit issue output Pin golangci-lint to v2.11.4 via a top-level GOLANGCI_LINT_VERSION env var so the version is bumped in one place. Disable per-linter and same-issue printing limits in .golangci.yml so all fin... push 05 May 2026 09:47PM UTC oleg-jukovec github
75.36
25402735904 master tests: extend pool test timeout from 2.5s to 10s The shared `timeout = defaultCountRetry * tick` constant in pool/pool_test.go was 2.5s (5 × 500ms). On macOS-15 with the race detector enabled this was still insufficient for the Eventuallyf check ... push 05 May 2026 09:27PM UTC oleg-jukovec github
75.58
25362054985 master api: replace custom Logger with *slog.Logger The library defined a custom Logger interface that users had to implement for connection logging. This created unnecessary friction because Go 1.21 introduced the standard log/slog package, which is no... push 05 May 2026 06:54AM UTC oleg-jukovec github
75.44
25162039297 master internal: enable more linters - embeddedstructfieldcheck - makezero - misspell - modernize - nakedret - nilerr - thelper push 30 Apr 2026 11:20AM UTC oleg-jukovec github
75.04
24999517658 master tests: fix flaky TestHandlerUpdateError timeout The test used a fixed loop of 100 iterations with 100 µs sleep to wait for connection pool state changes after switching instances to read-only mode. On slow or loaded CI runners (especially with ra... push 27 Apr 2026 02:06PM UTC oleg-jukovec github
75.27
24991532288 master pool: ban Reconnect, MaxReconnects and Notify opts The ConnectionPool has its own reconnection logic based on Opts.CheckTimeout. When tarantool.Opts.Reconnect or MaxReconnects were set, they created a conflict: the pool would reconnect on its own... push 27 Apr 2026 11:20AM UTC oleg-jukovec github
75.15
24916874640 master changelog: document test_helpers API changes push 24 Apr 2026 11:54PM UTC oleg-jukovec github
75.13
See All Builds (2339)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc