vitess: github.com/youtube/vitess Files | Directories

Command vitess

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:

~/src/vitess.io/vitess$ go run test.go [args]

For a list of options, run:

$ go run test.go --help

Package Files

test.go

Directories

PathSynopsis
go/aclPackage acl contains functions to enforce access control lists.
go/bytes2
go/cachePackage cache implements a LRU cache.
go/cacheservice
go/cgzipPackage cgzip wraps the C library for gzip.
go/cmd/automation_client
go/cmd/automation_server
go/cmd/mysqlctlmysqlctl initializes and controls mysqld with Vitess-specific configuration.
go/cmd/mysqlctldmysqlctld 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.
go/cmd/query_analyzer
go/cmd/topo2topo
go/cmd/vtaclcheck
go/cmd/vtbench
go/cmd/vtclient
go/cmd/vtcombovtcombo: a single binary that contains: - a ZK topology server based on an in-memory map.
go/cmd/vtctl
go/cmd/vtctlclient
go/cmd/vtctld
go/cmd/vtgate
go/cmd/vtgateclienttestPackage main is the implementation of vtgateclienttest.
go/cmd/vtgateclienttest/goclienttest
go/cmd/vtgateclienttest/grpcclienttest
go/cmd/vtgateclienttest/servicesPackage services exposes all the services for the vtgateclienttest binary.
go/cmd/vtqueryserver
go/cmd/vttablet
go/cmd/vttestservervttestserver is a native Go implementation of `run_local_server.py`.
go/cmd/vttlstest
go/cmd/vtworkervtworker is the main program to run a worker job.
go/cmd/vtworkerclient
go/cmd/zk
go/cmd/zkctlzkctl initializes and controls ZooKeeper with Vitess-specific configuration.
go/cmd/zkctldzkctld is a daemon that starts or initializes ZooKeeper with Vitess-specific configuration.
go/eventPackage 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().
go/event/sysloggerPackage syslogger uses the event package to listen for any event that implements the Syslogger interface.
go/exitPackage exit provides an alternative to os.Exit(int).
go/fileutilPackage fileutil contains utility functions related to files and paths.
go/flagutilPackage flagutil contains flags that parse string lists and string maps.
go/hackPackage hack gives you some efficient functionality at the cost of breaking some Go rules.
go/historyPackage history implements a circular buffer with adjacent-item deduplication.
go/ioutil2Package ioutil2 provides extra functionality along similar lines to io/ioutil.
go/json2Package json2 provides some improvements over the original json.
go/jsonutilPackage jsonutil contains json-related utility functions
go/memcachePackage memcache is a client for memcached.
go/mysqlPackage mysql is a library to support MySQL binary protocol, both client and server sides.
go/mysql/endtoendPackage endtoend is a test-only package.
go/mysql/fakesqldbPackage fakesqldb provides a MySQL server for tests.
go/mysql/ldapauthserver
go/netutilPackage netutil contains network-related utility functions.
go/poolsPackage pools provides functionality to manage and reuse resources like connections.
go/procPackage proc allows you to configure servers to be restarted with negligible downtime.
go/race
go/ratelimiterPackage ratelimiter implements rate limiting functionality.
go/sqlescape
go/sqltypesPackage sqltypes implements interfaces and types that represent SQL values.
go/statsPackage stats is a wrapper for expvar.
go/stats/opentsdbPackage opentsdb adds support for pushing stats to opentsdb.
go/stats/prometheusbackend
go/streamlogPackage streamlog provides a non-blocking message broadcaster.
go/sync2Package sync2 provides extra functionality along the same lines as sync.
go/tbPackage tb exposes some handy traceback functionality buried in the runtime.
go/testfilesPackage testfiles locates test files within the Vitess directory tree.
go/timerPackage timer provides various enhanced timer functions.
go/tracePackage trace contains a helper interface that allows various tracing tools to be plugged in to components using this interface.
go/vt/automationPackage automation contains code to execute high-level cluster operations (e.g.
go/vtbench
go/vt/binlog
go/vt/binlog/binlogplayerPackage binlogplayer contains the code that plays a vreplication stream on a client database.
go/vt/binlog/binlogplayertest
go/vt/binlog/eventtokenPackage eventtoken includes utility methods for event token handling.
go/vt/binlog/grpcbinlogplayer
go/vt/binlog/grpcbinlogstreamerPackage grpcbinlogstreamer contains the gRPC implementation of the binlog streamer server component.
go/vt/calleridPackage callerid stores/retrives CallerIDs (immediate CallerID and effective CallerID) to/from the Context
go/vt/callerid/testsuite
go/vt/callinfoPackage callinfo stores custom values into the Context (related to the RPC source)
go/vt/callinfo/fakecallinfo
go/vt/concurrency
go/vt/dbconfigsPackage dbconfigs provides the registration for command line options to collect db connection parameters.
go/vt/dbconnpoolPackage dbconnpool exposes a single DBConnection object with wrapped access to a single DB connection, and a ConnectionPool object to pool these DBConnections.
go/vt/discoveryPackage discovery provides a way to discover all tablets e.g.
go/vt/dtidsPackage dtids contains dtid convenience functions.
go/vt/env
go/vt/eventsPackage events defines common structures used for events dispatched from various other package.
go/vt/grpcclientPackage grpcclient contains utility methods for gRPC client implementations to use.
go/vt/grpccommon
go/vt/health
go/vt/hook
go/vt/key
go/vt/log
go/vt/logutil
go/vt/logzPackage logz provides an infrastructure to expose a list of entries as a sortable table on a webpage.
go/vt/mysqlctl
go/vt/mysqlctl/backupstoragePackage backupstorage contains the interface and file system implementation of the backup system.
go/vt/mysqlctl/cephbackupstoragePackage cephbackupstorage implements the BackupStorage interface for Ceph Cloud Storage.
go/vt/mysqlctl/filebackupstoragePackage filebackupstorage implements the BackupStorage interface for a local filesystem (which can be an NFS mount).
go/vt/mysqlctl/gcsbackupstoragePackage gcsbackupstorage implements the BackupStorage interface for Google Cloud Storage.
go/vt/mysqlctl/grpcmysqlctlclientPackage grpcmysqlctlclient contains the gRPC1 version of the mysqlctl client protocol.
go/vt/mysqlctl/grpcmysqlctlserverPackage grpcmysqlctlserver contains the gRPC implementation of the server side of the remote execution of mysqlctl commands.
go/vt/mysqlctl/mysqlctlclientPackage mysqlctlclient contains the generic client side of the remote mysqlctl protocol.
go/vt/mysqlctl/s3backupstoragePackage s3backupstorage implements the BackupStorage interface for AWS S3.
go/vt/mysqlctl/tmutilsPackage tmutils contains helper methods to deal with the tabletmanagerdata proto3 structures.
go/vt/mysqlproxyPackage mysqlproxy is a basic module that proxies a mysql server session to appropriate calls in a queryservice back end, with optional query normalization.
go/vt/schemamanager
go/vt/schemamanager/schemaswap
go/vt/servenvPackage servenv contains functionality that is common for all Vitess server programs.
go/vt/sqlannotationPackage sqlannotation provides functions for annotating DML statements with keyspace-id comments and parsing them.
go/vt/sqlparser
go/vt/srvtopoPackage srvtopo contains a set of helper methods and classes to use the topology service in a serving environment.
go/vt/statusPackage status defines a few useful functions for our binaries, mainly to link the status page with a vtctld instance.
go/vt/tableacl
go/vt/tableacl/acl
go/vt/tableacl/simpleacl
go/vt/tableacl/testlib
go/vt/throttlerPackage throttler provides a client-side, local throttler which is used to throttle (and actively pace) writes during the resharding process.
go/vt/throttler/demo
go/vt/throttler/grpcthrottlerclientPackage grpcthrottlerclient contains the gRPC version of the throttler client protocol.
go/vt/throttler/grpcthrottlerserverPackage grpcthrottlerserver contains the gRPC implementation of the server side of the throttler service.
go/vt/throttler/throttlerclientPackage throttlerclient defines the generic RPC client interface for the throttler service.
go/vt/throttler/throttlerclienttestPackage throttlerclienttest contains the testsuite against which each RPC implementation of the throttlerclient interface must be tested.
go/vt/topoPackage topo is the module responsible for interacting with the topology service.
go/vt/topo/consultopoPackage consultopo implements topo.Server with consul as the backend.
go/vt/topo/etcd2topoPackage etcd2topo implements topo.Server with etcd as the backend.
go/vt/topo/eventsPackage events defines the structures used for events relating directly to individual topology elements, like keyspaces, shards, and tablets.
go/vt/topo/helpersPackage helpers contains a few utility classes to handle topo.Server objects, and transitions from one topo implementation to another.
go/vt/topo/memorytopoPackage memorytopo contains an implementation of the topo.Factory / topo.Conn interfaces based on an in-memory tree of data.
go/vt/topo/testPackage test contains utilities to test topo.Conn implementations.
go/vt/topotoolsPackage topotools contains high level functions based on vt/topo and vt/actionnode.
go/vt/topotools/eventsPackage events defines the structures used for events dispatched from the wrangler package.
go/vt/topo/topoprotoPackage topoproto contains utility functions to deal with the proto3 structures defined in proto/topodata.
go/vt/topo/topotestsPackage topotests contains all the unit tests for the topo.Server code that is based on topo.Conn.
go/vt/topo/zk2topo
go/vt/vitessdriverPackage vitessdriver contains the Vitess Go SQL driver.
go/vt/vtaclcheckPackage vtaclcheck analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements
go/vt/vtctlPackage vtctl contains the implementation of all the Vitess management commands.
go/vt/vtctldPackage vtctld contains all the code to expose a vtctld server based on the provided topo.Server.
go/vt/vtctl/fakevtctlclientPackage fakevtctlclient contains a fake for the vtctlclient interface.
go/vt/vtctl/grpcvtctlclientPackage grpcvtctlclient contains the gRPC version of the vtctl client protocol
go/vt/vtctl/grpcvtctlserverPackage grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands.
go/vt/vtctl/vtctlclientPackage vtctlclient contains the generic client side of the remote vtctl protocol.
go/vt/vtctl/vtctlclienttestPackage vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested.
go/vt/vterrorsPackage vterrors provides helpers for propagating internal errors through the Vitess system (including across RPC boundaries) in a structured way.
go/vt/vtgatePackage vtgate provides query routing rpc services for vttablets.
go/vt/vtgate/bufferPackage buffer provides a buffer for MASTER traffic during failovers.
go/vt/vtgate/engine
go/vt/vtgate/fakerpcvtgateconnPackage fakerpcvtgateconn provides a fake implementation of vtgateconn.Impl that doesn't do any RPC, but uses a local map to return results.
go/vt/vtgate/gatewayPackage gateway contains the routing layer of vtgate.
go/vt/vtgate/gatewaytestPackage gatewaytest contains a test suite to run against a Gateway object.
go/vt/vtgate/grpcvtgateconnPackage grpcvtgateconn provides gRPC connectivity for VTGate.
go/vt/vtgate/grpcvtgateservicePackage grpcvtgateservice provides the gRPC glue for vtgate
go/vt/vtgate/planbuilderPackage planbuilder allows you to build execution plans that describe how to fulfill a query that may span multiple keyspaces or shards.
go/vt/vtgate/vindexes
go/vt/vtgate/vschemaacl
go/vt/vtgate/vtgateconn
go/vt/vtgate/vtgateconntestPackage vtgateconntest provides the test methods to make sure a vtgateconn/vtgateservice pair over RPC works correctly.
go/vt/vtgate/vtgateservicePackage vtgateservice provides to interface definition for the vtgate service
go/vt/vtgate/vtgateservice/vtgateservice_testingPackage vtgateservice_testing is a generated GoMock package.
go/vt/vtqueryserverPackage vtqueryserver is a standalone version of the tablet server that only implements the queryservice interface without any of the topology, replication management, or other features of the full vttablet.
go/vt/vttablet/customrule/filecustomrulePackage filecustomrule implements static custom rule from a config file
go/vt/vttablet/customrule/topocustomrulePackage topocustomrule implements a topo service backed listener for query rules.
go/vt/vttablet/endtoend/framework
go/vt/vttablet/faketmclient
go/vt/vttablet/fileloggerPackage filelogger implements an optional plugin that logs all queries to syslog.
go/vt/vttablet/grpcqueryservice
go/vt/vttablet/grpctabletconn
go/vt/vttablet/grpctmclient
go/vt/vttablet/grpctmserver
go/vt/vttablet/heartbeatPackage heartbeat contains a writer and reader of heartbeats for a master-slave cluster.
go/vt/vttablet/queryservicePackage queryservice contains the interface for the service definition of the Query Service.
go/vt/vttablet/queryservice/fakes
go/vt/vttablet/sandboxconnPackage sandboxconn provides a fake QueryService implementation for tests.
go/vt/vttablet/tabletconn
go/vt/vttablet/tabletconntestPackage tabletconntest provides the test methods to make sure a tabletconn/queryservice pair over RPC works correctly.
go/vt/vttablet/tabletmanagerPackage tabletmanager exports the ActionAgent object.
go/vt/vttablet/tabletmanager/eventsPackage events contains event structs used by the tabletmanager package.
go/vt/vttablet/tabletserver
go/vt/vttablet/tabletserver/connpool
go/vt/vttablet/tabletserver/messager
go/vt/vttablet/tabletservermockPackage tabletservermock provides mock interfaces for tabletserver.
go/vt/vttablet/tabletserver/planbuilder
go/vt/vttablet/tabletserver/rules
go/vt/vttablet/tabletserver/schema
go/vt/vttablet/tabletserver/schema/schematestPackage schematest provides support for testing packages that depend on schema
go/vt/vttablet/tabletserver/splitqueryPackage splitquery contains the logic needed for implementing the tabletserver's SplitQuery RPC.
go/vt/vttablet/tabletserver/splitquery/splitquery_testingPackage splitquery_testing is a generated GoMock package.
go/vt/vttablet/tabletserver/txlimiter
go/vt/vttablet/tabletserver/txserializerPackage txserializer provides the vttablet hot row protection.
go/vt/vttablet/tabletserver/txthrottler
go/vt/vttablet/tmclient
go/vt/vttestPackage vttest contains helpers to set up Vitess for testing.
go/vt/vttimePackage vttime contains the definitions and implementations for the Vitess time library.
go/vt/vttls
go/vt/workerPackage worker contains the framework, utility methods and core functions for long running actions.
go/vt/worker/events
go/vt/worker/fakevtworkerclientPackage fakevtworkerclient contains a fake for the vtworkerclient interface.
go/vt/worker/grpcvtworkerclientPackage grpcvtworkerclient contains the gRPC version of the vtworker client protocol.
go/vt/worker/grpcvtworkerserverPackage grpcvtworkerserver contains the gRPC implementation of the server side of the remote execution of vtworker commands.
go/vt/worker/vtworkerclientPackage vtworkerclient contains the generic client side of the remote vtworker protocol.
go/vt/worker/vtworkerclienttestPackage vtworkerclienttest contains the testsuite against which each RPC implementation of the vtworkerclient interface must be tested.
go/vt/workflow
go/vt/workflow/resharding
go/vt/workflow/topovalidatorPackage topovalidator contains a workflow that validates the topology data.
go/vt/wranglerPackage wrangler contains the Wrangler object to manage complex topology actions.
go/vt/zkctl
toolsstatsd is a simple server for hosting test.go remote stats.
travisThe sole purpose of this file is to print the configured value of GOMAXPROCS.

Package main imports 20 packages (graph). Updated 2018-10-18. Refresh now. Tools for package owners.