# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
run-test/README
This document describes how atrt works and how to use it.
atrt is a test program driver.
atrt supports fully distributed test and utilizes ndb_cpcd.
===================================================
/**
* Pseudo code for main atrt algorithm
*/
read config file (default d.txt)
contact each ndb_cpcd
read all test cases
start cluster
if cluster start has failures do
report overall critical failure
attempt to clean up any left over process
exit
end if
for each test case do
run test case
compute overall return code
write result to report file
done processing tests
/**
* End of pseudo code for main atrt algorithm
*/
/**
* Pseudo code for atrt test run algorithm
*/
while test_runs < total_test_run_attemps do
if test_forces_restart or previous_retry_failed
stop all processes
deploy all configurations
start all processes
end if
if cluster status not ok
attempt new retry
end if
run test and wait for test to finish
gather all log results
done while retries
rename result
stop_cluster = (test status != ok) || cluster_configuration_changed
if (stop_cluster)
if (test failed or cluster configuration changed)
if (stop_all_processes fails)
set test result as critical failure
end if
if (start_all_processes fails)
set test result as critical failure
end if
end if
check cluster status
/**
* End of pseudo code for atrt test run algorithm
*/
===================================================