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/github.com/youtube/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/l2vtgate
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/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/vtexplain
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/vttablet
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/ewmaPackage ewma implements exponentially weighted moving averages(EWMA).
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/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/sqltypesPackage sqltypes implements interfaces and types that represent SQL values.
go/statsPackage stats is a wrapper for expvar.
go/stats/influxdbbackendPackage influxdbbackend is useful for publishing metrics to an InfluxDB backend (tested on v0.88).
go/stats/promstatsPackage promstats contains adapters to publish stats variables to prometheus (http://prometheus.io)
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/vt/binlog
go/vt/binlog/binlogplayerPackage binlogplayer contains the code that plays a filtered replication 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 is reusable by vt tools to load the db configs file.
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/estimatorPackage estimator implements future value estimation by EWMA algorithm.
go/vt/etcdtopoPackage etcdtopo implements topo.Server with etcd as the backend.
go/vt/eventsPackage events defines common structures used for events dispatched from various other package.
go/vt/health
go/vt/hook
go/vt/key
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/proto/automationPackage automation is a generated protocol buffer package.
go/vt/proto/automationservicePackage automationservice is a generated protocol buffer package.
go/vt/proto/binlogdataPackage binlogdata is a generated protocol buffer package.
go/vt/proto/binlogservicePackage binlogservice is a generated protocol buffer package.
go/vt/proto/logutilPackage logutil is a generated protocol buffer package.
go/vt/proto/mysqlctlPackage mysqlctl is a generated protocol buffer package.
go/vt/proto/queryPackage query is a generated protocol buffer package.
go/vt/proto/queryservicePackage queryservice is a generated protocol buffer package.
go/vt/proto/replicationdataPackage replicationdata is a generated protocol buffer package.
go/vt/proto/tableaclPackage tableacl is a generated protocol buffer package.
go/vt/proto/tabletmanagerdataPackage tabletmanagerdata is a generated protocol buffer package.
go/vt/proto/tabletmanagerservicePackage tabletmanagerservice is a generated protocol buffer package.
go/vt/proto/throttlerdataPackage throttlerdata is a generated protocol buffer package.
go/vt/proto/throttlerservicePackage throttlerservice is a generated protocol buffer package.
go/vt/proto/topodataPackage topodata is a generated protocol buffer package.
go/vt/proto/vschemaPackage vschema is a generated protocol buffer package.
go/vt/proto/vtctldataPackage vtctldata is a generated protocol buffer package.
go/vt/proto/vtctlservicePackage vtctlservice is a generated protocol buffer package.
go/vt/proto/vtgatePackage vtgate is a generated protocol buffer package.
go/vt/proto/vtgateservicePackage vtgateservice is a generated protocol buffer package.
go/vt/proto/vtrpcPackage vtrpc is a generated protocol buffer package.
go/vt/proto/vttestPackage vttest is a generated protocol buffer package.
go/vt/proto/vtworkerdataPackage vtworkerdata is a generated protocol buffer package.
go/vt/proto/vtworkerservicePackage vtworkerservice is a generated protocol buffer package.
go/vt/proto/workflowPackage workflow is a generated protocol buffer package.
go/vt/schemamanager
go/vt/schemamanager/schemaswap
go/vt/servenvPackage servenv contains functionality that is common for all Vitess server programs.
go/vt/servenv/grpcutils
go/vt/sqlannotationPackage sqlannotation provides functions for annotating DML statements with keyspace-id comments and parsing them.
go/vt/sqlparser
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/tlstestPackage tlstest contains utility methods to create test certificates.
go/vt/topo
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.Backend API based on an in-process memory map.
go/vt/topo/testPackage test contains utilities to test topo.Impl implementations.
go/vt/topo/test/faketopoPackage faketopo contains utitlities for tests that have to interact with a Vitess topology.
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.Backend.
go/vt/topo/zk2topo
go/vt/vitessdriverPackage vitessdriver contains the Vitess Go SQL driver.
go/vt/vtctl
go/vt/vtctldPackage vtctld contains all the code to expose a vtctld server based on the provided topo.Server.
go/vt/vtctld/explorer
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/vtexplainPackage vtexplain 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/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/l2vtgatePackage l2vtgate provides the core functionnality of a second-layer vtgate to route queries from an original vtgate to a subset of tablets.
go/vt/vtgate/masterbufferPackage masterbuffer contains experimental logic to buffer master requests in 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/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_testing
go/vt/vttablet/agentrpctest
go/vt/vttablet/customrule/filecustomrulePackage filecustomrule implements static custom rule from a config file
go/vt/vttablet/customrule/zkcustomrule
go/vt/vttablet/endtoendPackage endtoend is a test-only package.
go/vt/vttablet/endtoend/framework
go/vt/vttablet/faketmclient
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/syslogloggerPackage sysloglogger implements an optional plugin that logs all queries to syslog.
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_testing
go/vt/vttablet/tabletserver/tabletenvPackage tabletenv maintains environment variables and types that are common for all packages of tabletserver.
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 provides the functionality to bring up a test cluster.
go/vt/vttimePackage vttime contains the definitions and implementations for the Vitess time library.
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/wrangler/testlibPackage testlib contains utility methods to include in unit tests to deal with topology common tasks, like fake tablets and action loops.
go/zk
go/zk/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 2017-09-25. Refresh now. Tools for package owners.