Documentation ¶
Overview ¶
test.go is a "Go script" for running Vitess tests. It runs each test in its own Docker container for hermeticity and (potentially) parallelism. If a test fails, this script will save the output in _test/ and continue with other tests.
Before using it, you should have Docker 1.5+ installed, and have your user in the group that lets you run the docker command without sudo. The first time you run against a given flavor, it may take some time for the corresponding bootstrap image (vitess/bootstrap:<flavor>) to be downloaded.
It is meant to be run from the Vitess root, like so:
$ go run test.go [args]
For a list of options, run:
$ go run test.go --help
Directories ¶
Path | Synopsis |
---|---|
examples
|
|
compose
client.go is a sample for using the Vitess Go SQL driver.
|
client.go is a sample for using the Vitess Go SQL driver. |
go
|
|
acl
Package acl contains functions to enforce access control lists.
|
Package acl contains functions to enforce access control lists. |
cache
Package cache implements a LRU cache.
|
Package cache implements a LRU cache. |
cmd/mysqlctl
mysqlctl initializes and controls mysqld with Vitess-specific configuration.
|
mysqlctl initializes and controls mysqld with Vitess-specific configuration. |
cmd/mysqlctld
mysqlctld is a daemon that starts or initializes mysqld and provides an RPC interface for vttablet to stop and start mysqld from a different container without having to restart the container running mysqlctld.
|
mysqlctld is a daemon that starts or initializes mysqld and provides an RPC interface for vttablet to stop and start mysqld from a different container without having to restart the container running mysqlctld. |
cmd/vtcombo
vtcombo: a single binary that contains: - a ZK topology server based on an in-memory map.
|
vtcombo: a single binary that contains: - a ZK topology server based on an in-memory map. |
cmd/vtgateclienttest
Package main is the implementation of vtgateclienttest.
|
Package main is the implementation of vtgateclienttest. |
cmd/vtgateclienttest/services
Package services exposes all the services for the vtgateclienttest binary.
|
Package services exposes all the services for the vtgateclienttest binary. |
cmd/vttestserver
vttestserver is a native Go implementation of `run_local_server.py`.
|
vttestserver is a native Go implementation of `run_local_server.py`. |
cmd/vtworker
vtworker is the main program to run a worker job.
|
vtworker is the main program to run a worker job. |
cmd/zkctl
zkctl initializes and controls ZooKeeper with Vitess-specific configuration.
|
zkctl initializes and controls ZooKeeper with Vitess-specific configuration. |
cmd/zkctld
zkctld is a daemon that starts or initializes ZooKeeper with Vitess-specific configuration.
|
zkctld is a daemon that starts or initializes ZooKeeper with Vitess-specific configuration. |
event
Package event provides a reflect-based framework for low-frequency global dispatching of events, which are values of any arbitrary type, to a set of listener functions, which are usually registered by plugin packages during init().
|
Package event provides a reflect-based framework for low-frequency global dispatching of events, which are values of any arbitrary type, to a set of listener functions, which are usually registered by plugin packages during init(). |
event/syslogger
Package syslogger uses the event package to listen for any event that implements the Syslogger interface.
|
Package syslogger uses the event package to listen for any event that implements the Syslogger interface. |
exit
Package exit provides an alternative to os.Exit(int).
|
Package exit provides an alternative to os.Exit(int). |
fileutil
Package fileutil contains utility functions related to files and paths.
|
Package fileutil contains utility functions related to files and paths. |
flagutil
Package flagutil contains flags that parse string lists and string maps.
|
Package flagutil contains flags that parse string lists and string maps. |
hack
Package hack gives you some efficient functionality at the cost of breaking some Go rules.
|
Package hack gives you some efficient functionality at the cost of breaking some Go rules. |
history
Package history implements a circular buffer with adjacent-item deduplication.
|
Package history implements a circular buffer with adjacent-item deduplication. |
ioutil2
Package ioutil2 provides extra functionality along similar lines to io/ioutil.
|
Package ioutil2 provides extra functionality along similar lines to io/ioutil. |
json2
Package json2 provides some improvements over the original json.
|
Package json2 provides some improvements over the original json. |
jsonutil
Package jsonutil contains json-related utility functions
|
Package jsonutil contains json-related utility functions |
memcache
Package memcache is a client for memcached.
|
Package memcache is a client for memcached. |
mysql
Package mysql is a library to support MySQL binary protocol, both client and server sides.
|
Package mysql is a library to support MySQL binary protocol, both client and server sides. |
mysql/endtoend
Package endtoend is a test-only package.
|
Package endtoend is a test-only package. |
mysql/fakesqldb
Package fakesqldb provides a MySQL server for tests.
|
Package fakesqldb provides a MySQL server for tests. |
netutil
Package netutil contains network-related utility functions.
|
Package netutil contains network-related utility functions. |
pools
Package pools provides functionality to manage and reuse resources like connections.
|
Package pools provides functionality to manage and reuse resources like connections. |
proc
Package proc allows you to configure servers to be restarted with negligible downtime.
|
Package proc allows you to configure servers to be restarted with negligible downtime. |
ratelimiter
Package ratelimiter implements rate limiting functionality.
|
Package ratelimiter implements rate limiting functionality. |
sqltypes
Package sqltypes implements interfaces and types that represent SQL values.
|
Package sqltypes implements interfaces and types that represent SQL values. |
stats
Package stats is a wrapper for expvar.
|
Package stats is a wrapper for expvar. |
stats/opentsdb
Package opentsdb adds support for pushing stats to opentsdb.
|
Package opentsdb adds support for pushing stats to opentsdb. |
streamlog
Package streamlog provides a non-blocking message broadcaster.
|
Package streamlog provides a non-blocking message broadcaster. |
sync2
Package sync2 provides extra functionality along the same lines as sync.
|
Package sync2 provides extra functionality along the same lines as sync. |
tb
Package tb exposes some handy traceback functionality buried in the runtime.
|
Package tb exposes some handy traceback functionality buried in the runtime. |
timer
Package timer provides various enhanced timer functions.
|
Package timer provides various enhanced timer functions. |
vt/automation
Package automation contains code to execute high-level cluster operations (e.g.
|
Package automation contains code to execute high-level cluster operations (e.g. |
vt/binlog/binlogplayer
Package binlogplayer contains the code that plays a vreplication stream on a client database.
|
Package binlogplayer contains the code that plays a vreplication stream on a client database. |
vt/binlog/eventtoken
Package eventtoken includes utility methods for event token handling.
|
Package eventtoken includes utility methods for event token handling. |
vt/binlog/grpcbinlogstreamer
Package grpcbinlogstreamer contains the gRPC implementation of the binlog streamer server component.
|
Package grpcbinlogstreamer contains the gRPC implementation of the binlog streamer server component. |
vt/callerid
Package callerid stores/retrieves CallerIDs (immediate CallerID and effective CallerID) to/from the Context
|
Package callerid stores/retrieves CallerIDs (immediate CallerID and effective CallerID) to/from the Context |
vt/callinfo
Package callinfo stores custom values into the Context (related to the RPC source)
|
Package callinfo stores custom values into the Context (related to the RPC source) |
vt/dbconfigs
Package dbconfigs provides the registration for command line options to collect db connection parameters.
|
Package dbconfigs provides the registration for command line options to collect db connection parameters. |
vt/dbconnpool
Package dbconnpool exposes a single DBConnection object with wrapped access to a single DB connection, and a ConnectionPool object to pool these DBConnections.
|
Package dbconnpool exposes a single DBConnection object with wrapped access to a single DB connection, and a ConnectionPool object to pool these DBConnections. |
vt/discovery
Package discovery provides a way to discover all tablets e.g.
|
Package discovery provides a way to discover all tablets e.g. |
vt/dtids
Package dtids contains dtid convenience functions.
|
Package dtids contains dtid convenience functions. |
vt/events
Package events defines common structures used for events dispatched from various other package.
|
Package events defines common structures used for events dispatched from various other package. |
vt/grpcclient
Package grpcclient contains utility methods for gRPC client implementations to use.
|
Package grpcclient contains utility methods for gRPC client implementations to use. |
vt/logz
Package logz provides an infrastructure to expose a list of entries as a sortable table on a webpage.
|
Package logz provides an infrastructure to expose a list of entries as a sortable table on a webpage. |
vt/mysqlctl/azblobbackupstorage
Package azblobbackupstorage implements the BackupStorage interface for Azure Blob Storage
|
Package azblobbackupstorage implements the BackupStorage interface for Azure Blob Storage |
vt/mysqlctl/backupstorage
Package backupstorage contains the interface and file system implementation of the backup system.
|
Package backupstorage contains the interface and file system implementation of the backup system. |
vt/mysqlctl/cephbackupstorage
Package cephbackupstorage implements the BackupStorage interface for Ceph Cloud Storage.
|
Package cephbackupstorage implements the BackupStorage interface for Ceph Cloud Storage. |
vt/mysqlctl/filebackupstorage
Package filebackupstorage implements the BackupStorage interface for a local filesystem (which can be an NFS mount).
|
Package filebackupstorage implements the BackupStorage interface for a local filesystem (which can be an NFS mount). |
vt/mysqlctl/gcsbackupstorage
Package gcsbackupstorage implements the BackupStorage interface for Google Cloud Storage.
|
Package gcsbackupstorage implements the BackupStorage interface for Google Cloud Storage. |
vt/mysqlctl/grpcmysqlctlclient
Package grpcmysqlctlclient contains the gRPC1 version of the mysqlctl client protocol.
|
Package grpcmysqlctlclient contains the gRPC1 version of the mysqlctl client protocol. |
vt/mysqlctl/grpcmysqlctlserver
Package grpcmysqlctlserver contains the gRPC implementation of the server side of the remote execution of mysqlctl commands.
|
Package grpcmysqlctlserver contains the gRPC implementation of the server side of the remote execution of mysqlctl commands. |
vt/mysqlctl/mysqlctlclient
Package mysqlctlclient contains the generic client side of the remote mysqlctl protocol.
|
Package mysqlctlclient contains the generic client side of the remote mysqlctl protocol. |
vt/mysqlctl/s3backupstorage
Package s3backupstorage implements the BackupStorage interface for AWS S3.
|
Package s3backupstorage implements the BackupStorage interface for AWS S3. |
vt/mysqlctl/tmutils
Package tmutils contains helper methods to deal with the tabletmanagerdata proto3 structures.
|
Package tmutils contains helper methods to deal with the tabletmanagerdata proto3 structures. |
vt/mysqlproxy
Package mysqlproxy is a basic module that proxies a mysql server session to appropriate calls in a queryservice back end, with optional query normalization.
|
Package mysqlproxy is a basic module that proxies a mysql server session to appropriate calls in a queryservice back end, with optional query normalization. |
vt/servenv
Package servenv contains functionality that is common for all Vitess server programs.
|
Package servenv contains functionality that is common for all Vitess server programs. |
vt/sqlannotation
Package sqlannotation provides functions for annotating DML statements with keyspace-id comments and parsing them.
|
Package sqlannotation provides functions for annotating DML statements with keyspace-id comments and parsing them. |
vt/sqlparser/visitorgen
Package visitorgen is responsible for taking the ast.go of Vitess and and producing visitor infrastructure for it.
|
Package visitorgen is responsible for taking the ast.go of Vitess and and producing visitor infrastructure for it. |
vt/srvtopo
Package srvtopo contains a set of helper methods and classes to use the topology service in a serving environment.
|
Package srvtopo contains a set of helper methods and classes to use the topology service in a serving environment. |
vt/status
Package status defines a few useful functions for our binaries, mainly to link the status page with a vtctld instance.
|
Package status defines a few useful functions for our binaries, mainly to link the status page with a vtctld instance. |
vt/throttler
Package throttler provides a client-side, local throttler which is used to throttle (and actively pace) writes during the resharding process.
|
Package throttler provides a client-side, local throttler which is used to throttle (and actively pace) writes during the resharding process. |
vt/throttler/grpcthrottlerclient
Package grpcthrottlerclient contains the gRPC version of the throttler client protocol.
|
Package grpcthrottlerclient contains the gRPC version of the throttler client protocol. |
vt/throttler/grpcthrottlerserver
Package grpcthrottlerserver contains the gRPC implementation of the server side of the throttler service.
|
Package grpcthrottlerserver contains the gRPC implementation of the server side of the throttler service. |
vt/throttler/throttlerclient
Package throttlerclient defines the generic RPC client interface for the throttler service.
|
Package throttlerclient defines the generic RPC client interface for the throttler service. |
vt/throttler/throttlerclienttest
Package throttlerclienttest contains the testsuite against which each RPC implementation of the throttlerclient interface must be tested.
|
Package throttlerclienttest contains the testsuite against which each RPC implementation of the throttlerclient interface must be tested. |
vt/tlstest
Package tlstest contains utility methods to create test certificates.
|
Package tlstest contains utility methods to create test certificates. |
vt/topo
Package topo is the module responsible for interacting with the topology service.
|
Package topo is the module responsible for interacting with the topology service. |
vt/topo/consultopo
Package consultopo implements topo.Server with consul as the backend.
|
Package consultopo implements topo.Server with consul as the backend. |
vt/topo/etcd2topo
Package etcd2topo implements topo.Server with etcd as the backend.
|
Package etcd2topo implements topo.Server with etcd as the backend. |
vt/topo/events
Package events defines the structures used for events relating directly to individual topology elements, like keyspaces, shards, and tablets.
|
Package events defines the structures used for events relating directly to individual topology elements, like keyspaces, shards, and tablets. |
vt/topo/helpers
Package helpers contains a few utility classes to handle topo.Server objects, and transitions from one topo implementation to another.
|
Package helpers contains a few utility classes to handle topo.Server objects, and transitions from one topo implementation to another. |
vt/topo/k8stopo
Package k8stopo implements topo.Server with the Kubernetes API as the backend.
|
Package k8stopo implements topo.Server with the Kubernetes API as the backend. |
vt/topo/k8stopo/client/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
vt/topo/k8stopo/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
vt/topo/k8stopo/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
vt/topo/k8stopo/client/clientset/versioned/typed/topo/v1beta1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
vt/topo/k8stopo/client/clientset/versioned/typed/topo/v1beta1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |
vt/topo/memorytopo
Package memorytopo contains an implementation of the topo.Factory / topo.Conn interfaces based on an in-memory tree of data.
|
Package memorytopo contains an implementation of the topo.Factory / topo.Conn interfaces based on an in-memory tree of data. |
vt/topo/test
Package test contains utilities to test topo.Conn implementations.
|
Package test contains utilities to test topo.Conn implementations. |
vt/topo/topoproto
Package topoproto contains utility functions to deal with the proto3 structures defined in proto/topodata.
|
Package topoproto contains utility functions to deal with the proto3 structures defined in proto/topodata. |
vt/topo/topotests
Package topotests contains all the unit tests for the topo.Server code that is based on topo.Conn.
|
Package topotests contains all the unit tests for the topo.Server code that is based on topo.Conn. |
vt/topotools
Package topotools contains high level functions based on vt/topo and vt/actionnode.
|
Package topotools contains high level functions based on vt/topo and vt/actionnode. |
vt/topotools/events
Package events defines the structures used for events dispatched from the wrangler package.
|
Package events defines the structures used for events dispatched from the wrangler package. |
vt/vitessdriver
Package vitessdriver contains the Vitess Go SQL driver.
|
Package vitessdriver contains the Vitess Go SQL driver. |
vt/vtaclcheck
Package vtaclcheck analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements
|
Package vtaclcheck analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements |
vt/vtctl
Package vtctl contains the implementation of all the Vitess management commands.
|
Package vtctl contains the implementation of all the Vitess management commands. |
vt/vtctl/fakevtctlclient
Package fakevtctlclient contains a fake for the vtctlclient interface.
|
Package fakevtctlclient contains a fake for the vtctlclient interface. |
vt/vtctl/grpcvtctlclient
Package grpcvtctlclient contains the gRPC version of the vtctl client protocol
|
Package grpcvtctlclient contains the gRPC version of the vtctl client protocol |
vt/vtctl/grpcvtctlserver
Package grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands.
|
Package grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands. |
vt/vtctl/vtctlclient
Package vtctlclient contains the generic client side of the remote vtctl protocol.
|
Package vtctlclient contains the generic client side of the remote vtctl protocol. |
vt/vtctl/vtctlclienttest
Package vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested.
|
Package vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested. |
vt/vtctld
Package vtctld contains all the code to expose a vtctld server based on the provided topo.Server.
|
Package vtctld contains all the code to expose a vtctld server based on the provided topo.Server. |
vt/vterrors
Package vterrors provides simple error handling primitives for Vitess
|
Package vterrors provides simple error handling primitives for Vitess |
vt/vtexplain
Package vtexplain analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements
|
Package vtexplain analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements |
vt/vtgate
Package vtgate provides query routing rpc services for vttablets.
|
Package vtgate provides query routing rpc services for vttablets. |
vt/vtgate/buffer
Package buffer provides a buffer for MASTER traffic during failovers.
|
Package buffer provides a buffer for MASTER traffic during failovers. |
vt/vtgate/fakerpcvtgateconn
Package fakerpcvtgateconn provides a fake implementation of vtgateconn.Impl that doesn't do any RPC, but uses a local map to return results.
|
Package fakerpcvtgateconn provides a fake implementation of vtgateconn.Impl that doesn't do any RPC, but uses a local map to return results. |
vt/vtgate/gateway
Package gateway contains the routing layer of vtgate.
|
Package gateway contains the routing layer of vtgate. |
vt/vtgate/gatewaytest
Package gatewaytest contains a test suite to run against a Gateway object.
|
Package gatewaytest contains a test suite to run against a Gateway object. |
vt/vtgate/grpcvtgateconn
Package grpcvtgateconn provides gRPC connectivity for VTGate.
|
Package grpcvtgateconn provides gRPC connectivity for VTGate. |
vt/vtgate/grpcvtgateservice
Package grpcvtgateservice provides the gRPC glue for vtgate
|
Package grpcvtgateservice provides the gRPC glue for vtgate |
vt/vtgate/planbuilder
Package planbuilder allows you to build execution plans that describe how to fulfill a query that may span multiple keyspaces or shards.
|
Package planbuilder allows you to build execution plans that describe how to fulfill a query that may span multiple keyspaces or shards. |
vt/vtgate/vtgateservice
Package vtgateservice provides to interface definition for the vtgate service
|
Package vtgateservice provides to interface definition for the vtgate service |
vt/vttablet/customrule/filecustomrule
Package filecustomrule implements static custom rule from a config file
|
Package filecustomrule implements static custom rule from a config file |
vt/vttablet/customrule/topocustomrule
Package topocustomrule implements a topo service backed listener for query rules.
|
Package topocustomrule implements a topo service backed listener for query rules. |
vt/vttablet/endtoend
Package endtoend is a test-only package.
|
Package endtoend is a test-only package. |
vt/vttablet/filelogger
Package filelogger implements an optional plugin that logs all queries to syslog.
|
Package filelogger implements an optional plugin that logs all queries to syslog. |
vt/vttablet/heartbeat
Package heartbeat contains a writer and reader of heartbeats for a master-slave cluster.
|
Package heartbeat contains a writer and reader of heartbeats for a master-slave cluster. |
vt/vttablet/queryservice
Package queryservice contains the interface for the service definition of the Query Service.
|
Package queryservice contains the interface for the service definition of the Query Service. |
vt/vttablet/sandboxconn
Package sandboxconn provides a fake QueryService implementation for tests.
|
Package sandboxconn provides a fake QueryService implementation for tests. |
vt/vttablet/sysloglogger
Package sysloglogger implements an optional plugin that logs all queries to syslog.
|
Package sysloglogger implements an optional plugin that logs all queries to syslog. |
vt/vttablet/tabletconntest
Package tabletconntest provides the test methods to make sure a tabletconn/queryservice pair over RPC works correctly.
|
Package tabletconntest provides the test methods to make sure a tabletconn/queryservice pair over RPC works correctly. |
vt/vttablet/tabletmanager
Package tabletmanager exports the ActionAgent object.
|
Package tabletmanager exports the ActionAgent object. |
vt/vttablet/tabletmanager/events
Package events contains event structs used by the tabletmanager package.
|
Package events contains event structs used by the tabletmanager package. |
vt/vttablet/tabletserver/schema/schematest
Package schematest provides support for testing packages that depend on schema
|
Package schematest provides support for testing packages that depend on schema |
vt/vttablet/tabletserver/tabletenv
Package tabletenv maintains environment variables and types that are common for all packages of tabletserver.
|
Package tabletenv maintains environment variables and types that are common for all packages of tabletserver. |
vt/vttablet/tabletserver/txserializer
Package txserializer provides the vttablet hot row protection.
|
Package txserializer provides the vttablet hot row protection. |
vt/vttablet/tabletserver/vstreamer/testenv
Package testenv supplies test functions for testing vstreamer.
|
Package testenv supplies test functions for testing vstreamer. |
vt/vttablet/tabletservermock
Package tabletservermock provides mock interfaces for tabletserver.
|
Package tabletservermock provides mock interfaces for tabletserver. |
vt/vttest
Package vttest contains helpers to set up Vitess for testing.
|
Package vttest contains helpers to set up Vitess for testing. |
vt/vttime
Package vttime contains the definitions and implementations for the Vitess time library.
|
Package vttime contains the definitions and implementations for the Vitess time library. |
vt/worker
Package worker contains the framework, utility methods and core functions for long running actions.
|
Package worker contains the framework, utility methods and core functions for long running actions. |
vt/worker/fakevtworkerclient
Package fakevtworkerclient contains a fake for the vtworkerclient interface.
|
Package fakevtworkerclient contains a fake for the vtworkerclient interface. |
vt/worker/grpcvtworkerclient
Package grpcvtworkerclient contains the gRPC version of the vtworker client protocol.
|
Package grpcvtworkerclient contains the gRPC version of the vtworker client protocol. |
vt/worker/grpcvtworkerserver
Package grpcvtworkerserver contains the gRPC implementation of the server side of the remote execution of vtworker commands.
|
Package grpcvtworkerserver contains the gRPC implementation of the server side of the remote execution of vtworker commands. |
vt/worker/vtworkerclient
Package vtworkerclient contains the generic client side of the remote vtworker protocol.
|
Package vtworkerclient contains the generic client side of the remote vtworker protocol. |
vt/worker/vtworkerclienttest
Package vtworkerclienttest contains the testsuite against which each RPC implementation of the vtworkerclient interface must be tested.
|
Package vtworkerclienttest contains the testsuite against which each RPC implementation of the vtworkerclient interface must be tested. |
vt/workflow/topovalidator
Package topovalidator contains a workflow that validates the topology data.
|
Package topovalidator contains a workflow that validates the topology data. |
vt/wrangler
Package wrangler contains the Wrangler object to manage complex topology actions.
|
Package wrangler contains the Wrangler object to manage complex topology actions. |
vt/wrangler/testlib
Package testlib contains utility methods to include in unit tests to deal with topology common tasks, like fake tablets and action loops.
|
Package testlib contains utility methods to include in unit tests to deal with topology common tasks, like fake tablets and action loops. |
client.go is a sample for using the Vitess Go SQL driver.
|
client.go is a sample for using the Vitess Go SQL driver. |
statsd is a simple server for hosting test.go remote stats.
|
statsd is a simple server for hosting test.go remote stats. |
Click to show internal directories.
Click to hide internal directories.