google cloud test runner build as gradle plugin
GCTR is a gradle plugin allows you run tests on multiple hosts from google cloud. the auto scalar of google compute engine is responsible for loading and unloading instances for running the tests. the GCTR plugin has the following requirements: 1. getting tests in file system or from Git 2. create and remove instances that run tests 3. load the system under test on the instance that run the test 4. supporting multiple versions of system under test for each test 5. providing test results for the test 6. support testing in multiple languages with minimal effort 7. configure the maximum number of machines that run in parallel 8. clean resources in the end of the process 9. run the tests from Gradle 10. run on any platform
Therefore, the GCTR has the following modules: 1. setup create buckets in GCS create managed virtual group Configure load balancer including target pools for each system under test version put startup code copy tests to GCS copy system under test executable to GCS The startup code will include copy system under test to the instance set lab operator the lab operator is responsible for the following copy test from GCS to the localhost run the test copy the test result to GCS bucket 2. The next step is iterating all the tests and send them to the appropriate lab operator 3. tier down - clean the env copy test results to the test result directory delete GCS buckets delete target pools and load balancer