Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
c1897c1e
Commit
c1897c1e
authored
Jun 15, 2006
by
msvensson@shellback.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.1-new-maint
into shellback.(none):/home/msvensson/mysql/mysql-5.1-new-maint
parents
d0f27fd0
579bce8a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
24 deletions
+54
-24
client/mysqltest.c
client/mysqltest.c
+54
-24
No files found.
client/mysqltest.c
View file @
c1897c1e
...
@@ -100,7 +100,8 @@ enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
...
@@ -100,7 +100,8 @@ enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
OPT_MANAGER_PORT
,
OPT_MANAGER_WAIT_TIMEOUT
,
OPT_SKIP_SAFEMALLOC
,
OPT_MANAGER_PORT
,
OPT_MANAGER_WAIT_TIMEOUT
,
OPT_SKIP_SAFEMALLOC
,
OPT_SSL_SSL
,
OPT_SSL_KEY
,
OPT_SSL_CERT
,
OPT_SSL_CA
,
OPT_SSL_CAPATH
,
OPT_SSL_SSL
,
OPT_SSL_KEY
,
OPT_SSL_CERT
,
OPT_SSL_CA
,
OPT_SSL_CAPATH
,
OPT_SSL_CIPHER
,
OPT_PS_PROTOCOL
,
OPT_SP_PROTOCOL
,
OPT_CURSOR_PROTOCOL
,
OPT_SSL_CIPHER
,
OPT_PS_PROTOCOL
,
OPT_SP_PROTOCOL
,
OPT_CURSOR_PROTOCOL
,
OPT_VIEW_PROTOCOL
,
OPT_SSL_VERIFY_SERVER_CERT
,
OPT_MAX_CONNECT_RETRIES
};
OPT_VIEW_PROTOCOL
,
OPT_SSL_VERIFY_SERVER_CERT
,
OPT_MAX_CONNECT_RETRIES
,
OPT_MARK_PROGRESS
};
/* ************************************************************************ */
/* ************************************************************************ */
/*
/*
...
@@ -153,6 +154,7 @@ static int port = 0;
...
@@ -153,6 +154,7 @@ static int port = 0;
static
int
opt_max_connect_retries
;
static
int
opt_max_connect_retries
;
static
my_bool
opt_big_test
=
0
,
opt_compress
=
0
,
silent
=
0
,
verbose
=
0
;
static
my_bool
opt_big_test
=
0
,
opt_compress
=
0
,
silent
=
0
,
verbose
=
0
;
static
my_bool
tty_password
=
0
;
static
my_bool
tty_password
=
0
;
static
my_bool
opt_mark_progress
=
0
;
static
my_bool
ps_protocol
=
0
,
ps_protocol_enabled
=
0
;
static
my_bool
ps_protocol
=
0
,
ps_protocol_enabled
=
0
;
static
my_bool
sp_protocol
=
0
,
sp_protocol_enabled
=
0
;
static
my_bool
sp_protocol
=
0
,
sp_protocol_enabled
=
0
;
static
my_bool
view_protocol
=
0
,
view_protocol_enabled
=
0
;
static
my_bool
view_protocol
=
0
,
view_protocol_enabled
=
0
;
...
@@ -234,7 +236,7 @@ static my_bool display_result_vertically= FALSE, display_metadata= FALSE;
...
@@ -234,7 +236,7 @@ static my_bool display_result_vertically= FALSE, display_metadata= FALSE;
/* See the timer_output() definition for details */
/* See the timer_output() definition for details */
static
char
*
timer_file
=
NULL
;
static
char
*
timer_file
=
NULL
;
static
ulonglong
timer_start
;
static
ulonglong
timer_start
,
progress_start
=
0
;
static
int
got_end_timer
=
FALSE
;
static
int
got_end_timer
=
FALSE
;
static
void
timer_output
(
void
);
static
void
timer_output
(
void
);
static
ulonglong
timer_now
(
void
);
static
ulonglong
timer_now
(
void
);
...
@@ -445,7 +447,7 @@ const char *command_names[]=
...
@@ -445,7 +447,7 @@ const char *command_names[]=
TYPELIB
command_typelib
=
{
array_elements
(
command_names
),
""
,
TYPELIB
command_typelib
=
{
array_elements
(
command_names
),
""
,
command_names
,
0
};
command_names
,
0
};
DYNAMIC_STRING
ds_res
;
DYNAMIC_STRING
ds_res
,
ds_progress
;
static
void
die
(
const
char
*
fmt
,
...);
static
void
die
(
const
char
*
fmt
,
...);
static
void
init_var_hash
();
static
void
init_var_hash
();
static
VAR
*
var_from_env
(
const
char
*
,
const
char
*
);
static
VAR
*
var_from_env
(
const
char
*
,
const
char
*
);
...
@@ -631,6 +633,7 @@ static void free_used_memory()
...
@@ -631,6 +633,7 @@ static void free_used_memory()
my_free
(
embedded_server_args
[
--
embedded_server_arg_count
],
MYF
(
0
));
my_free
(
embedded_server_args
[
--
embedded_server_arg_count
],
MYF
(
0
));
delete_dynamic
(
&
q_lines
);
delete_dynamic
(
&
q_lines
);
dynstr_free
(
&
ds_res
);
dynstr_free
(
&
ds_res
);
dynstr_free
(
&
ds_progress
);
free_replace
();
free_replace
();
free_replace_column
();
free_replace_column
();
my_free
(
pass
,
MYF
(
MY_ALLOW_ZERO_PTR
));
my_free
(
pass
,
MYF
(
MY_ALLOW_ZERO_PTR
));
...
@@ -3298,6 +3301,10 @@ static struct my_option my_long_options[] =
...
@@ -3298,6 +3301,10 @@ static struct my_option my_long_options[] =
{
"manager-wait-timeout"
,
OPT_MANAGER_WAIT_TIMEOUT
,
{
"manager-wait-timeout"
,
OPT_MANAGER_WAIT_TIMEOUT
,
"Undocumented: Used for debugging."
,
(
gptr
*
)
&
manager_wait_timeout
,
"Undocumented: Used for debugging."
,
(
gptr
*
)
&
manager_wait_timeout
,
(
gptr
*
)
&
manager_wait_timeout
,
0
,
GET_INT
,
REQUIRED_ARG
,
3
,
0
,
0
,
0
,
0
,
0
},
(
gptr
*
)
&
manager_wait_timeout
,
0
,
GET_INT
,
REQUIRED_ARG
,
3
,
0
,
0
,
0
,
0
,
0
},
{
"mark-progress"
,
OPT_MARK_PROGRESS
,
"Write linenumber and elapsed time to <testname>.progress "
,
(
gptr
*
)
&
opt_mark_progress
,
(
gptr
*
)
&
opt_mark_progress
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"max-connect-retries"
,
OPT_MAX_CONNECT_RETRIES
,
{
"max-connect-retries"
,
OPT_MAX_CONNECT_RETRIES
,
"Max number of connection attempts when connecting to server"
,
"Max number of connection attempts when connecting to server"
,
(
gptr
*
)
&
opt_max_connect_retries
,
(
gptr
*
)
&
opt_max_connect_retries
,
0
,
(
gptr
*
)
&
opt_max_connect_retries
,
(
gptr
*
)
&
opt_max_connect_retries
,
0
,
...
@@ -3537,6 +3544,13 @@ void dump_result_to_log_file(const char *record_file, char *buf, int size)
...
@@ -3537,6 +3544,13 @@ void dump_result_to_log_file(const char *record_file, char *buf, int size)
str_to_file
(
fn_format
(
log_file
,
record_file
,
""
,
".log"
,
2
),
buf
,
size
);
str_to_file
(
fn_format
(
log_file
,
record_file
,
""
,
".log"
,
2
),
buf
,
size
);
}
}
void
dump_progress
(
const
char
*
record_file
)
{
char
log_file
[
FN_REFLEN
];
str_to_file
(
fn_format
(
log_file
,
record_file
,
""
,
".progress"
,
2
),
ds_progress
.
str
,
ds_progress
.
length
);
}
static
void
check_regerr
(
my_regex_t
*
r
,
int
err
)
static
void
check_regerr
(
my_regex_t
*
r
,
int
err
)
{
{
char
err_buf
[
1024
];
char
err_buf
[
1024
];
...
@@ -5116,36 +5130,47 @@ static void init_var_hash(MYSQL *mysql)
...
@@ -5116,36 +5130,47 @@ static void init_var_hash(MYSQL *mysql)
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
static
void
mark_progress
(
int
line
__attribute__
((
unused
)))
/*
Record how many milliseconds it took to execute the test file
up until the current line and save it in the dynamic string ds_progress.
The ds_progress will be dumped to <test_name>.progress when
test run completes
*/
static
void
mark_progress
(
struct
st_query
*
q
,
int
line
)
{
{
#ifdef NOT_YET
char
buf
[
32
],
*
end
;
static
FILE
*
fp
=
NULL
;
ulonglong
timer
=
timer_now
();
static
double
first
;
if
(
!
progress_start
)
progress_start
=
timer
;
timer
-=
progress_start
;
struct
timeval
tv
;
/* Milliseconds since start */
double
now
;
end
=
longlong2str
(
timer
,
buf
,
10
);
dynstr_append_mem
(
&
ds_progress
,
buf
,
(
int
)(
end
-
buf
));
dynstr_append_mem
(
&
ds_progress
,
"
\t
"
,
1
);
if
(
!
fp
)
/* Parser line number */
{
end
=
int10_to_str
(
line
,
buf
,
10
);
dynstr_append_mem
(
&
ds_progress
,
buf
,
(
int
)(
end
-
buf
));
dynstr_append_mem
(
&
ds_progress
,
"
\t
"
,
1
);
fp
=
fopen
(
"/tmp/mysqltest_progress.log"
,
"wt"
);
/* Filename */
dynstr_append
(
&
ds_progress
,
cur_file
->
file_name
);
dynstr_append_mem
(
&
ds_progress
,
":"
,
1
);
if
(
!
fp
)
/* Line in file */
{
end
=
int10_to_str
(
cur_file
->
lineno
,
buf
,
10
);
abort
();
dynstr_append_mem
(
&
ds_progress
,
buf
,
(
int
)(
end
-
buf
));
}
gettimeofday
(
&
tv
,
NULL
);
first
=
tv
.
tv_sec
*
1e6
+
tv
.
tv_usec
;
}
gettimeofday
(
&
tv
,
NULL
);
dynstr_append_mem
(
&
ds_progress
,
"
\n
"
,
1
);
now
=
tv
.
tv_sec
*
1e6
+
tv
.
tv_usec
;
fprintf
(
fp
,
"%d %f
\n
"
,
parser
.
current_line
,
(
now
-
first
)
/
1e6
);
#endif
}
}
int
main
(
int
argc
,
char
**
argv
)
int
main
(
int
argc
,
char
**
argv
)
{
{
struct
st_query
*
q
;
struct
st_query
*
q
;
...
@@ -5185,6 +5210,7 @@ int main(int argc, char **argv)
...
@@ -5185,6 +5210,7 @@ int main(int argc, char **argv)
memset
(
&
master_pos
,
0
,
sizeof
(
master_pos
));
memset
(
&
master_pos
,
0
,
sizeof
(
master_pos
));
init_dynamic_string
(
&
ds_res
,
""
,
0
,
65536
);
init_dynamic_string
(
&
ds_res
,
""
,
0
,
65536
);
init_dynamic_string
(
&
ds_progress
,
""
,
0
,
2048
);
parse_args
(
argc
,
argv
);
parse_args
(
argc
,
argv
);
DBUG_PRINT
(
"info"
,(
"result_file: '%s'"
,
result_file
?
result_file
:
""
));
DBUG_PRINT
(
"info"
,(
"result_file: '%s'"
,
result_file
?
result_file
:
""
));
...
@@ -5509,7 +5535,8 @@ int main(int argc, char **argv)
...
@@ -5509,7 +5535,8 @@ int main(int argc, char **argv)
}
}
parser
.
current_line
+=
current_line_inc
;
parser
.
current_line
+=
current_line_inc
;
mark_progress
(
parser
.
current_line
);
if
(
opt_mark_progress
)
mark_progress
(
q
,
parser
.
current_line
);
}
}
start_lineno
=
0
;
start_lineno
=
0
;
...
@@ -5560,6 +5587,9 @@ int main(int argc, char **argv)
...
@@ -5560,6 +5587,9 @@ int main(int argc, char **argv)
die
(
"No queries executed but result file found!"
);
die
(
"No queries executed but result file found!"
);
}
}
if
(
opt_mark_progress
)
dump_progress
(
result_file
);
dynstr_free
(
&
ds_progress
);
dynstr_free
(
&
ds_res
);
dynstr_free
(
&
ds_res
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment