diff --git a/functional/Dockerfile b/tests/functional/Dockerfile similarity index 100% rename from functional/Dockerfile rename to tests/functional/Dockerfile diff --git a/functional/Procfile-proxy b/tests/functional/Procfile-proxy similarity index 100% rename from functional/Procfile-proxy rename to tests/functional/Procfile-proxy diff --git a/functional/README.md b/tests/functional/README.md similarity index 100% rename from functional/README.md rename to tests/functional/README.md diff --git a/functional/agent/doc.go b/tests/functional/agent/doc.go similarity index 100% rename from functional/agent/doc.go rename to tests/functional/agent/doc.go diff --git a/functional/agent/handler.go b/tests/functional/agent/handler.go similarity index 100% rename from functional/agent/handler.go rename to tests/functional/agent/handler.go diff --git a/functional/agent/server.go b/tests/functional/agent/server.go similarity index 100% rename from functional/agent/server.go rename to tests/functional/agent/server.go diff --git a/functional/agent/utils.go b/tests/functional/agent/utils.go similarity index 100% rename from functional/agent/utils.go rename to tests/functional/agent/utils.go diff --git a/functional/agent/utils_test.go b/tests/functional/agent/utils_test.go similarity index 100% rename from functional/agent/utils_test.go rename to tests/functional/agent/utils_test.go diff --git a/functional/build b/tests/functional/build similarity index 100% rename from functional/build rename to tests/functional/build diff --git a/functional/cmd/etcd-agent/main.go b/tests/functional/cmd/etcd-agent/main.go similarity index 100% rename from functional/cmd/etcd-agent/main.go rename to tests/functional/cmd/etcd-agent/main.go diff --git a/functional/cmd/etcd-proxy/main.go b/tests/functional/cmd/etcd-proxy/main.go similarity index 100% rename from functional/cmd/etcd-proxy/main.go rename to tests/functional/cmd/etcd-proxy/main.go diff --git a/functional/cmd/etcd-runner/main.go b/tests/functional/cmd/etcd-runner/main.go similarity index 100% rename from functional/cmd/etcd-runner/main.go rename to tests/functional/cmd/etcd-runner/main.go diff --git a/functional/cmd/etcd-tester/main.go b/tests/functional/cmd/etcd-tester/main.go similarity index 100% rename from functional/cmd/etcd-tester/main.go rename to tests/functional/cmd/etcd-tester/main.go diff --git a/functional/rpcpb/etcd_config.go b/tests/functional/rpcpb/etcd_config.go similarity index 100% rename from functional/rpcpb/etcd_config.go rename to tests/functional/rpcpb/etcd_config.go diff --git a/functional/rpcpb/etcd_config_test.go b/tests/functional/rpcpb/etcd_config_test.go similarity index 100% rename from functional/rpcpb/etcd_config_test.go rename to tests/functional/rpcpb/etcd_config_test.go diff --git a/functional/rpcpb/member.go b/tests/functional/rpcpb/member.go similarity index 100% rename from functional/rpcpb/member.go rename to tests/functional/rpcpb/member.go diff --git a/functional/rpcpb/rpc.pb.go b/tests/functional/rpcpb/rpc.pb.go similarity index 100% rename from functional/rpcpb/rpc.pb.go rename to tests/functional/rpcpb/rpc.pb.go diff --git a/functional/rpcpb/rpc.proto b/tests/functional/rpcpb/rpc.proto similarity index 100% rename from functional/rpcpb/rpc.proto rename to tests/functional/rpcpb/rpc.proto diff --git a/functional/runner/election_command.go b/tests/functional/runner/election_command.go similarity index 100% rename from functional/runner/election_command.go rename to tests/functional/runner/election_command.go diff --git a/functional/runner/error.go b/tests/functional/runner/error.go similarity index 100% rename from functional/runner/error.go rename to tests/functional/runner/error.go diff --git a/functional/runner/global.go b/tests/functional/runner/global.go similarity index 100% rename from functional/runner/global.go rename to tests/functional/runner/global.go diff --git a/functional/runner/help.go b/tests/functional/runner/help.go similarity index 100% rename from functional/runner/help.go rename to tests/functional/runner/help.go diff --git a/functional/runner/lease_renewer_command.go b/tests/functional/runner/lease_renewer_command.go similarity index 100% rename from functional/runner/lease_renewer_command.go rename to tests/functional/runner/lease_renewer_command.go diff --git a/functional/runner/lock_racer_command.go b/tests/functional/runner/lock_racer_command.go similarity index 100% rename from functional/runner/lock_racer_command.go rename to tests/functional/runner/lock_racer_command.go diff --git a/functional/runner/root.go b/tests/functional/runner/root.go similarity index 100% rename from functional/runner/root.go rename to tests/functional/runner/root.go diff --git a/functional/runner/watch_command.go b/tests/functional/runner/watch_command.go similarity index 100% rename from functional/runner/watch_command.go rename to tests/functional/runner/watch_command.go diff --git a/functional/scripts/docker-local-agent.sh b/tests/functional/scripts/docker-local-agent.sh similarity index 100% rename from functional/scripts/docker-local-agent.sh rename to tests/functional/scripts/docker-local-agent.sh diff --git a/functional/scripts/docker-local-tester.sh b/tests/functional/scripts/docker-local-tester.sh similarity index 100% rename from functional/scripts/docker-local-tester.sh rename to tests/functional/scripts/docker-local-tester.sh diff --git a/functional/scripts/genproto.sh b/tests/functional/scripts/genproto.sh similarity index 100% rename from functional/scripts/genproto.sh rename to tests/functional/scripts/genproto.sh diff --git a/functional/tester/case.go b/tests/functional/tester/case.go similarity index 100% rename from functional/tester/case.go rename to tests/functional/tester/case.go diff --git a/functional/tester/case_delay.go b/tests/functional/tester/case_delay.go similarity index 100% rename from functional/tester/case_delay.go rename to tests/functional/tester/case_delay.go diff --git a/functional/tester/case_external.go b/tests/functional/tester/case_external.go similarity index 100% rename from functional/tester/case_external.go rename to tests/functional/tester/case_external.go diff --git a/functional/tester/case_failpoints.go b/tests/functional/tester/case_failpoints.go similarity index 100% rename from functional/tester/case_failpoints.go rename to tests/functional/tester/case_failpoints.go diff --git a/functional/tester/case_network_blackhole.go b/tests/functional/tester/case_network_blackhole.go similarity index 100% rename from functional/tester/case_network_blackhole.go rename to tests/functional/tester/case_network_blackhole.go diff --git a/functional/tester/case_network_delay.go b/tests/functional/tester/case_network_delay.go similarity index 100% rename from functional/tester/case_network_delay.go rename to tests/functional/tester/case_network_delay.go diff --git a/functional/tester/case_no_fail.go b/tests/functional/tester/case_no_fail.go similarity index 100% rename from functional/tester/case_no_fail.go rename to tests/functional/tester/case_no_fail.go diff --git a/functional/tester/case_sigquit_remove.go b/tests/functional/tester/case_sigquit_remove.go similarity index 100% rename from functional/tester/case_sigquit_remove.go rename to tests/functional/tester/case_sigquit_remove.go diff --git a/functional/tester/case_sigquit_remove_quorum.go b/tests/functional/tester/case_sigquit_remove_quorum.go similarity index 100% rename from functional/tester/case_sigquit_remove_quorum.go rename to tests/functional/tester/case_sigquit_remove_quorum.go diff --git a/functional/tester/case_sigterm.go b/tests/functional/tester/case_sigterm.go similarity index 100% rename from functional/tester/case_sigterm.go rename to tests/functional/tester/case_sigterm.go diff --git a/functional/tester/checker.go b/tests/functional/tester/checker.go similarity index 100% rename from functional/tester/checker.go rename to tests/functional/tester/checker.go diff --git a/functional/tester/checker_kv_hash.go b/tests/functional/tester/checker_kv_hash.go similarity index 100% rename from functional/tester/checker_kv_hash.go rename to tests/functional/tester/checker_kv_hash.go diff --git a/functional/tester/checker_lease_expire.go b/tests/functional/tester/checker_lease_expire.go similarity index 100% rename from functional/tester/checker_lease_expire.go rename to tests/functional/tester/checker_lease_expire.go diff --git a/functional/tester/checker_no_check.go b/tests/functional/tester/checker_no_check.go similarity index 100% rename from functional/tester/checker_no_check.go rename to tests/functional/tester/checker_no_check.go diff --git a/functional/tester/checker_runner.go b/tests/functional/tester/checker_runner.go similarity index 100% rename from functional/tester/checker_runner.go rename to tests/functional/tester/checker_runner.go diff --git a/functional/tester/cluster.go b/tests/functional/tester/cluster.go similarity index 100% rename from functional/tester/cluster.go rename to tests/functional/tester/cluster.go diff --git a/functional/tester/cluster_read_config.go b/tests/functional/tester/cluster_read_config.go similarity index 100% rename from functional/tester/cluster_read_config.go rename to tests/functional/tester/cluster_read_config.go diff --git a/functional/tester/cluster_run.go b/tests/functional/tester/cluster_run.go similarity index 100% rename from functional/tester/cluster_run.go rename to tests/functional/tester/cluster_run.go diff --git a/functional/tester/cluster_shuffle.go b/tests/functional/tester/cluster_shuffle.go similarity index 100% rename from functional/tester/cluster_shuffle.go rename to tests/functional/tester/cluster_shuffle.go diff --git a/functional/tester/cluster_test.go b/tests/functional/tester/cluster_test.go similarity index 100% rename from functional/tester/cluster_test.go rename to tests/functional/tester/cluster_test.go diff --git a/functional/tester/doc.go b/tests/functional/tester/doc.go similarity index 100% rename from functional/tester/doc.go rename to tests/functional/tester/doc.go diff --git a/functional/tester/metrics_report.go b/tests/functional/tester/metrics_report.go similarity index 100% rename from functional/tester/metrics_report.go rename to tests/functional/tester/metrics_report.go diff --git a/functional/tester/stresser.go b/tests/functional/tester/stresser.go similarity index 100% rename from functional/tester/stresser.go rename to tests/functional/tester/stresser.go diff --git a/functional/tester/stresser_composite.go b/tests/functional/tester/stresser_composite.go similarity index 100% rename from functional/tester/stresser_composite.go rename to tests/functional/tester/stresser_composite.go diff --git a/functional/tester/stresser_key.go b/tests/functional/tester/stresser_key.go similarity index 100% rename from functional/tester/stresser_key.go rename to tests/functional/tester/stresser_key.go diff --git a/functional/tester/stresser_lease.go b/tests/functional/tester/stresser_lease.go similarity index 100% rename from functional/tester/stresser_lease.go rename to tests/functional/tester/stresser_lease.go diff --git a/functional/tester/stresser_runner.go b/tests/functional/tester/stresser_runner.go similarity index 100% rename from functional/tester/stresser_runner.go rename to tests/functional/tester/stresser_runner.go diff --git a/functional/tester/utils.go b/tests/functional/tester/utils.go similarity index 100% rename from functional/tester/utils.go rename to tests/functional/tester/utils.go