blob: 3f879bff860c8494521b92c691452806aca58f16 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# ==== Purpose ====
#
# Test one scenario using a combination of --expire-logs-days and
# --binlog-expire-logs-seconds. Verify that there are/aren't warnings
# as expected, and verify that the values of the global variables are
# as expected.
#
# ==== Usage ====
#
# --let $ofile = FILE
# --let $options = SERVER_OPTIONS
# --let $days = VALUE
# --let $seconds = VALUE
# --let $expect_binlog_off_days_and_seconds_warning = [0|1]
# --let $expect_seconds = VALUE
# --let $option_invoke_order = [days_then_seconds|seconds_then_days]
# --let $expect_days = VALUE
# --source include/binlog_expire_warnings.inc
#
# Parameters:
#
# $ofile
# Temporary file to use for the error log.
#
# $options
# Any additional options passed to mysqld during server start.
#
# $days
# The value to set for --expire-logs-days
#
# $seconds
# The value to set for --binlog-expire-logs-seconds
#
# $option_invoke_order
# In which order options --expire-logs-days and
# --binlog-expire-logs-seconds should be set.
# values are: days_then_seconds, seconds_then_days
#
# $expect_binlog_off_days_and_seconds_warning
# If zero, assert that there is no warning due to using
# --expire_logs_days or --binlog_expire_logs_seconds binlog disabled.
# If nonzero, assert that there is a warning due to using
# --expire_logs_days or --binlog_expire_logs_seconds binlog disabled.
#
# $expect_days
# Assert that @@global.expire_logs_days has this value.
#
# $expect_seconds
# Assert that @@global.binlog_expire_logs_seconds has this value.
--let $restart_parameters = --log-error=$ofile $options
if ($option_invoke_order == 'days_then_seconds')
{
if ($days != '') {
--let $restart_parameters = $restart_parameters --expire_logs_days=$days
}
if ($seconds != '') {
--let $restart_parameters = $restart_parameters --binlog-expire-logs-seconds=$seconds
}
}
if ($option_invoke_order == 'seconds_then_days')
{
if ($seconds != '') {
--let $restart_parameters = $restart_parameters --binlog-expire-logs-seconds=$seconds
}
if ($days != '') {
--let $restart_parameters = $restart_parameters --expire_logs_days=$days
}
}
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--source include/restart_mysqld.inc
# For all the assert_grep.inc
--let $extra_debug_eval = LOAD_FILE("$ofile")
if (!$expect_binlog_off_days_and_seconds_warning) {
--let $assert_text = There shall be no binlog_off+seconds warning
--let $assert_count = 0
}
if ($expect_binlog_off_days_and_seconds_warning) {
--let $assert_text = There shall be a binlog_off+seconds warning
--let $assert_count = 1
}
--let $assert_file = $ofile
--let $assert_select = You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
--let $assert_only_after = Shutdown complete
--source include/assert_grep.inc
# For all the assert.inc
--let $extra_debug_eval = CONCAT("days: ", @@global.expire_logs_days, " seconds: ", @@global.binlog_expire_logs_seconds)
--let $assert_text = binlog_expire_logs_seconds shall be $expect_seconds
--let $assert_cond = @@global.binlog_expire_logs_seconds = $expect_seconds
--source include/assert.inc
--let $assert_text = expire_logs_days shall be $expect_days
--let $assert_cond = @@global.expire_logs_days = $expect_days
--source include/assert.inc
|