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

tarantool / go-tarantool
75%

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: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 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-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
  • master
  • 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

05 May 2026 10:00PM UTC coverage: 75.435% (+0.07%) from 75.363%
25404692616

push

github

oleg-jukovec
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
   "address already in use" instead of the original test failure.

2. The defer/require ordering used in many tests was

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

   When StartTarantool returned a nil instance on error (the connect
   failure path returns nil after stopping the half-started process),
   the deferred cleanup ran on a nil pointer and panicked, hiding the
   real "Unable to start Tarantool" failure under a nil-deref stack.

Fix the first by setting Pdeathsig=SIGTERM on the tarantool command
on Linux via a new test_helpers.commandKillOnExit helper, with a
no-op fallback for other platforms (darwin has no Pdeathsig
equivalent — see the comment in cmd_other.go).

Fix the second by reordering every offending test site to assert
StartTarantool succeeded before deferring the cleanup. This is the
standard Go idiom and avoids growing a nil-guard inside the helper
that would mask further StartTarantool bugs.

Part of #147

3120 of 4136 relevant lines covered (75.44%)

10006.63 hits per line

Relevant lines Covered
Build:
Build:
4136 RELEVANT LINES 3120 COVERED LINES
10006.63 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
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
25404080684 bigbes/gh-147-fix-invalid-startup-panics 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... Pull #586 05 May 2026 09:51PM UTC oleg-jukovec github
75.36
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
25402966747 bigbes/gh-no-pin-golangci-lint-version 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... Pull #585 05 May 2026 09:33PM UTC oleg-jukovec github
75.31
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
25374317333 bigbes/gh-no-update-gha 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 ... Pull #590 05 May 2026 11:55AM UTC bigbes github
75.51
25371363432 bigbes/gh-no-update-gha ci: bump GitHub Actions to latest major versions Update third-party actions used in workflows to the current major releases so we benefit from upstream bug fixes, Node.js runtime updates, and security patches. - actions/checkout v5 -> v6 - actio... Pull #590 05 May 2026 10:41AM UTC bigbes github
75.58
25371339945 bigbes/update-github-actions ci: bump GitHub Actions to latest major versions Update third-party actions used in workflows to the current major releases so we benefit from upstream bug fixes, Node.js runtime updates, and security patches. - actions/checkout v5 -> v6 - actio... Pull #590 05 May 2026 10:40AM UTC bigbes github
75.56
25370127328 bigbes/gh-469-error-redesign api: redesign errors around errors.Is and errors.As Rename tarantool.Error to ServerError, promote the seven legacy uint32 client error codes to package-level error sentinels (ErrConnectionClosed, ErrTimeouted, ...) and expose their numeric form ... Pull #589 05 May 2026 10:11AM UTC bigbes github
75.67
25367990559 bigbes/gh-471-unexport-stream-fields api: unexport Stream fields, add Id() accessor Make Stream.Id and Stream.Conn unexported to enforce encapsulation and prevent unsafe direct mutation. The stream identifier is now exposed via a Stream.Id() method; the underlying connection is no l... Pull #588 05 May 2026 09:22AM UTC bigbes github
75.24
See All Builds (2331)
  • 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