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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
53bc1d5c
Commit
53bc1d5c
authored
Nov 01, 2007
by
msvensson@pilot.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug#31004 mysqltest needs a --mkdir command
- Add new mysqltest command "mkdir" and "rmdir"
parent
3ef9cb4e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
93 additions
and
3 deletions
+93
-3
client/CMakeLists.txt
client/CMakeLists.txt
+2
-1
client/Makefile.am
client/Makefile.am
+2
-1
client/mysqltest.c
client/mysqltest.c
+67
-1
mysql-test/t/mysqltest.test
mysql-test/t/mysqltest.test
+22
-0
No files found.
client/CMakeLists.txt
View file @
53bc1d5c
...
...
@@ -32,7 +32,8 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
ADD_EXECUTABLE
(
mysql completion_hash.cc mysql.cc readline.cc sql_string.cc ../mysys/my_conio.c
)
TARGET_LINK_LIBRARIES
(
mysql mysqlclient_notls wsock32
)
ADD_EXECUTABLE
(
mysqltest mysqltest.c ../mysys/my_getsystime.c ../mysys/my_copy.c
)
ADD_EXECUTABLE
(
mysqltest mysqltest.c ../mysys/my_getsystime.c
../mysys/my_copy.c ../mysys/my_mkdir.c
)
TARGET_LINK_LIBRARIES
(
mysqltest mysqlclient_notls regex wsock32
)
ADD_EXECUTABLE
(
mysqlcheck mysqlcheck.c
)
...
...
client/Makefile.am
View file @
53bc1d5c
...
...
@@ -34,7 +34,8 @@ mysqladmin_SOURCES = mysqladmin.cc
mysql_LDADD
=
@readline_link@ @TERMCAP_LIB@
$(LDADD)
$(CXXLDFLAGS)
mysqltest_SOURCES
=
mysqltest.c
\
$(top_srcdir)
/mysys/my_getsystime.c
\
$(top_srcdir)
/mysys/my_copy.c
$(top_srcdir)
/mysys/my_copy.c
\
$(top_srcdir)
/mysys/my_mkdir.c
mysqltest_LDADD
=
$(top_builddir)
/regex/libregex.a
$(LDADD)
mysqlbinlog_SOURCES
=
mysqlbinlog.cc
\
...
...
client/mysqltest.c
View file @
53bc1d5c
...
...
@@ -277,7 +277,7 @@ enum enum_commands {
Q_REPLACE_REGEX
,
Q_REMOVE_FILE
,
Q_FILE_EXIST
,
Q_WRITE_FILE
,
Q_COPY_FILE
,
Q_PERL
,
Q_DIE
,
Q_EXIT
,
Q_SKIP
,
Q_CHMOD_FILE
,
Q_APPEND_FILE
,
Q_CAT_FILE
,
Q_DIFF_FILES
,
Q_SEND_QUIT
,
Q_CHANGE_USER
,
Q_SEND_QUIT
,
Q_CHANGE_USER
,
Q_MKDIR
,
Q_RMDIR
,
Q_UNKNOWN
,
/* Unknown command. */
Q_COMMENT
,
/* Comments, ignored. */
...
...
@@ -367,6 +367,9 @@ const char *command_names[]=
"diff_files"
,
"send_quit"
,
"change_user"
,
"mkdir"
,
"rmdir"
,
0
};
...
...
@@ -2742,6 +2745,67 @@ void do_file_exist(struct st_command *command)
}
/*
SYNOPSIS
do_mkdir
command called command
DESCRIPTION
mkdir <dir_name>
Create the directory <dir_name>
*/
void
do_mkdir
(
struct
st_command
*
command
)
{
int
error
;
static
DYNAMIC_STRING
ds_dirname
;
const
struct
command_arg
mkdir_args
[]
=
{
"dirname"
,
ARG_STRING
,
TRUE
,
&
ds_dirname
,
"Directory to create"
};
DBUG_ENTER
(
"do_mkdir"
);
check_command_args
(
command
,
command
->
first_argument
,
mkdir_args
,
sizeof
(
mkdir_args
)
/
sizeof
(
struct
command_arg
),
' '
);
DBUG_PRINT
(
"info"
,
(
"creating directory: %s"
,
ds_dirname
.
str
));
error
=
my_mkdir
(
ds_dirname
.
str
,
0777
,
MYF
(
0
))
!=
0
;
handle_command_error
(
command
,
error
);
dynstr_free
(
&
ds_dirname
);
DBUG_VOID_RETURN
;
}
/*
SYNOPSIS
do_rmdir
command called command
DESCRIPTION
rmdir <dir_name>
Remove the empty directory <dir_name>
*/
void
do_rmdir
(
struct
st_command
*
command
)
{
int
error
;
static
DYNAMIC_STRING
ds_dirname
;
const
struct
command_arg
rmdir_args
[]
=
{
"dirname"
,
ARG_STRING
,
TRUE
,
&
ds_dirname
,
"Directory to remove"
};
DBUG_ENTER
(
"do_rmdir"
);
check_command_args
(
command
,
command
->
first_argument
,
rmdir_args
,
sizeof
(
rmdir_args
)
/
sizeof
(
struct
command_arg
),
' '
);
DBUG_PRINT
(
"info"
,
(
"removing directory: %s"
,
ds_dirname
.
str
));
error
=
rmdir
(
ds_dirname
.
str
)
!=
0
;
handle_command_error
(
command
,
error
);
dynstr_free
(
&
ds_dirname
);
DBUG_VOID_RETURN
;
}
/*
Read characters from line buffer or file. This is needed to allow
my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file
...
...
@@ -6911,6 +6975,8 @@ int main(int argc, char **argv)
case
Q_ECHO
:
do_echo
(
command
);
command_executed
++
;
break
;
case
Q_SYSTEM
:
do_system
(
command
);
break
;
case
Q_REMOVE_FILE
:
do_remove_file
(
command
);
break
;
case
Q_MKDIR
:
do_mkdir
(
command
);
break
;
case
Q_RMDIR
:
do_rmdir
(
command
);
break
;
case
Q_FILE_EXIST
:
do_file_exist
(
command
);
break
;
case
Q_WRITE_FILE
:
do_write_file
(
command
);
break
;
case
Q_APPEND_FILE
:
do_append_file
(
command
);
break
;
...
...
mysql-test/t/mysqltest.test
View file @
53bc1d5c
...
...
@@ -2101,6 +2101,28 @@ drop table t1;
--
change_user
root
,,
--
change_user
root
,,
test
# ----------------------------------------------------------------------------
# Test mkdir and rmdir command
# ----------------------------------------------------------------------------
mkdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
rmdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
# Directory already exist
mkdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
--
error
1
mkdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
# Remove dir with file inside
write_file
$MYSQLTEST_VARDIR
/
tmp
/
testdir
/
file1
.
txt
;
hello
EOF
--
error
1
rmdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
testdir
/
file1
.
txt
;
rmdir
$MYSQLTEST_VARDIR
/
tmp
/
testdir
;
--
echo
End
of
tests
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