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
0caa462b
Commit
0caa462b
authored
Sep 08, 2003
by
ram@mysql.r18.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#1169: Add --exec command to mysqltest
parent
d8361678
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
0 deletions
+73
-0
client/mysqltest.c
client/mysqltest.c
+65
-0
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+8
-0
No files found.
client/mysqltest.c
View file @
0caa462b
...
@@ -204,6 +204,7 @@ Q_WAIT_FOR_SLAVE_TO_STOP,
...
@@ -204,6 +204,7 @@ Q_WAIT_FOR_SLAVE_TO_STOP,
Q_REQUIRE_VERSION
,
Q_REQUIRE_VERSION
,
Q_ENABLE_WARNINGS
,
Q_DISABLE_WARNINGS
,
Q_ENABLE_WARNINGS
,
Q_DISABLE_WARNINGS
,
Q_ENABLE_INFO
,
Q_DISABLE_INFO
,
Q_ENABLE_INFO
,
Q_DISABLE_INFO
,
Q_EXEC
,
Q_UNKNOWN
,
/* Unknown command. */
Q_UNKNOWN
,
/* Unknown command. */
Q_COMMENT
,
/* Comments, ignored. */
Q_COMMENT
,
/* Comments, ignored. */
Q_COMMENT_WITH_COMMAND
Q_COMMENT_WITH_COMMAND
...
@@ -267,6 +268,7 @@ const char *command_names[]=
...
@@ -267,6 +268,7 @@ const char *command_names[]=
"disable_warnings"
,
"disable_warnings"
,
"enable_info"
,
"enable_info"
,
"disable_info"
,
"disable_info"
,
"exec"
,
0
0
};
};
...
@@ -840,6 +842,66 @@ int do_source(struct st_query* q)
...
@@ -840,6 +842,66 @@ int do_source(struct st_query* q)
return
open_file
(
name
);
return
open_file
(
name
);
}
}
/*
Execute given command.
SYNOPSIS
do_exec()
q called command
DESCRIPTION
If one uses --exec command [args] command in .test file
we will execute the command and record its output.
RETURN VALUES
0 ok
1 error
*/
int
do_exec
(
struct
st_query
*
q
)
{
int
error
=
0
;
DYNAMIC_STRING
*
ds
;
DYNAMIC_STRING
ds_tmp
;
char
buf
[
1024
];
FILE
*
res_file
;
char
*
cmd
=
q
->
first_argument
;
while
(
*
cmd
&&
my_isspace
(
charset_info
,
*
cmd
))
cmd
++
;
if
(
!*
cmd
)
die
(
"Missing argument in exec
\n
"
);
if
(
q
->
record_file
[
0
])
{
init_dynamic_string
(
&
ds_tmp
,
""
,
16384
,
65536
);
ds
=
&
ds_tmp
;
}
else
ds
=
&
ds_res
;
if
(
!
(
res_file
=
popen
(
cmd
,
"r"
))
&&
q
->
abort_on_error
)
die
(
"popen() failed
\n
"
);
while
(
fgets
(
buf
,
sizeof
(
buf
),
res_file
))
dynstr_append
(
ds
,
buf
);
pclose
(
res_file
);
if
(
record
)
{
if
(
!
q
->
record_file
[
0
]
&&
!
result_file
)
die
(
"At line %u: Missing result file"
,
start_lineno
);
if
(
!
result_file
)
str_to_file
(
q
->
record_file
,
ds
->
str
,
ds
->
length
);
}
else
if
(
q
->
record_file
[
0
])
{
error
=
check_result
(
ds
,
q
->
record_file
,
q
->
require_file
);
}
if
(
ds
==
&
ds_tmp
)
dynstr_free
(
&
ds_tmp
);
return
error
;
}
int
var_query_set
(
VAR
*
v
,
const
char
*
p
,
const
char
**
p_end
)
int
var_query_set
(
VAR
*
v
,
const
char
*
p
,
const
char
**
p_end
)
{
{
char
*
end
=
(
char
*
)((
p_end
&&
*
p_end
)
?
*
p_end
:
p
+
strlen
(
p
));
char
*
end
=
(
char
*
)((
p_end
&&
*
p_end
)
?
*
p_end
:
p
+
strlen
(
p
));
...
@@ -2584,6 +2646,9 @@ int main(int argc, char **argv)
...
@@ -2584,6 +2646,9 @@ int main(int argc, char **argv)
case
Q_PING
:
case
Q_PING
:
(
void
)
mysql_ping
(
&
cur_con
->
mysql
);
(
void
)
mysql_ping
(
&
cur_con
->
mysql
);
break
;
break
;
case
Q_EXEC
:
(
void
)
do_exec
(
q
);
break
;
default:
processed
=
0
;
break
;
default:
processed
=
0
;
break
;
}
}
}
}
...
...
mysql-test/mysql-test-run.sh
View file @
0caa462b
...
@@ -431,6 +431,11 @@ if [ x$SOURCE_DIST = x1 ] ; then
...
@@ -431,6 +431,11 @@ if [ x$SOURCE_DIST = x1 ] ; then
else
else
MYSQL_TEST
=
"
$BASEDIR
/client/mysqltest"
MYSQL_TEST
=
"
$BASEDIR
/client/mysqltest"
fi
fi
if
[
-f
"
$BASEDIR
/client/.libs/mysqldump"
]
;
then
MYSQL_DUMP
=
"
$BASEDIR
/client/.libs/mysqldump --no-defaults -uroot --socket=
$MASTER_MYSOCK
"
else
MYSQL_DUMP
=
"
$BASEDIR
/client/mysqldump --no-defaults -uroot --socket=
$MASTER_MYSOCK
"
fi
if
[
-n
"
$STRACE_CLIENT
"
]
;
then
if
[
-n
"
$STRACE_CLIENT
"
]
;
then
MYSQL_TEST
=
"strace -o
$MYSQL_TEST_DIR
/var/log/mysqltest.strace
$MYSQL_TEST
"
MYSQL_TEST
=
"strace -o
$MYSQL_TEST_DIR
/var/log/mysqltest.strace
$MYSQL_TEST
"
fi
fi
...
@@ -452,6 +457,7 @@ else
...
@@ -452,6 +457,7 @@ else
MYSQLD
=
"
$VALGRIND
$BASEDIR
/bin/mysqld"
MYSQLD
=
"
$VALGRIND
$BASEDIR
/bin/mysqld"
fi
fi
MYSQL_TEST
=
"
$BASEDIR
/bin/mysqltest"
MYSQL_TEST
=
"
$BASEDIR
/bin/mysqltest"
MYSQL_DUMP
=
"
$BASEDIR
/bin/mysqldump --no-defaults -uroot --socket=
$MASTER_MYSOCK
"
MYSQLADMIN
=
"
$BASEDIR
/bin/mysqladmin"
MYSQLADMIN
=
"
$BASEDIR
/bin/mysqladmin"
WAIT_PID
=
"
$BASEDIR
/bin/mysql_waitpid"
WAIT_PID
=
"
$BASEDIR
/bin/mysql_waitpid"
MYSQL_MANAGER
=
"
$BASEDIR
/bin/mysqlmanager"
MYSQL_MANAGER
=
"
$BASEDIR
/bin/mysqlmanager"
...
@@ -469,6 +475,8 @@ else
...
@@ -469,6 +475,8 @@ else
fi
fi
fi
fi
export
MYSQL_DUMP
if
[
-z
"
$MASTER_MYSQLD
"
]
if
[
-z
"
$MASTER_MYSQLD
"
]
then
then
MASTER_MYSQLD
=
$MYSQLD
MASTER_MYSQLD
=
$MYSQLD
...
...
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