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
a743e17d
Commit
a743e17d
authored
Nov 30, 2006
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add "chmod" command to mysqltest
parent
b23cb233
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
90 additions
and
1 deletion
+90
-1
client/mysqltest.c
client/mysqltest.c
+44
-1
mysql-test/r/mysqltest.result
mysql-test/r/mysqltest.result
+6
-0
mysql-test/t/mysqltest.test
mysql-test/t/mysqltest.test
+40
-0
No files found.
client/mysqltest.c
View file @
a743e17d
...
...
@@ -32,7 +32,7 @@
Holyfoot
*/
#define MTEST_VERSION "3.
0
"
#define MTEST_VERSION "3.
1
"
#include <my_global.h>
#include <mysql_embed.h>
...
...
@@ -271,6 +271,7 @@ enum enum_commands {
Q_DISABLE_PARSING
,
Q_ENABLE_PARSING
,
Q_REPLACE_REGEX
,
Q_REMOVE_FILE
,
Q_FILE_EXIST
,
Q_WRITE_FILE
,
Q_COPY_FILE
,
Q_PERL
,
Q_DIE
,
Q_EXIT
,
Q_CHMOD_FILE
,
Q_UNKNOWN
,
/* Unknown command. */
Q_COMMENT
,
/* Comments, ignored. */
...
...
@@ -353,6 +354,7 @@ const char *command_names[]=
"die"
,
/* Don't execute any more commands, compare result */
"exit"
,
"chmod"
,
0
};
...
...
@@ -1808,6 +1810,46 @@ void do_copy_file(struct st_command *command)
}
/*
SYNOPSIS
do_chmod_file
command command handle
DESCRIPTION
chmod <octal> <file>
Change file permission of <file>
*/
void
do_chmod_file
(
struct
st_command
*
command
)
{
ulong
mode
=
0
;
static
DYNAMIC_STRING
ds_mode
;
static
DYNAMIC_STRING
ds_file
;
const
struct
command_arg
chmod_file_args
[]
=
{
"mode"
,
ARG_STRING
,
TRUE
,
&
ds_mode
,
"Mode of file"
,
"file"
,
ARG_STRING
,
TRUE
,
&
ds_file
,
"Filename of file to modify"
};
DBUG_ENTER
(
"do_chmod_file"
);
check_command_args
(
command
,
command
->
first_argument
,
chmod_file_args
,
sizeof
(
chmod_file_args
)
/
sizeof
(
struct
command_arg
),
' '
);
/* Parse what mode to set */
if
(
ds_mode
.
length
!=
4
||
str2int
(
ds_mode
.
str
,
8
,
0
,
INT_MAX
,
&
mode
)
==
NullS
)
die
(
"You must write a 4 digit octal number for mode"
);
DBUG_PRINT
(
"info"
,
(
"chmod %o %s"
,
(
uint
)
mode
,
ds_file
.
str
));
handle_command_error
(
command
,
chmod
(
ds_file
.
str
,
mode
));
dynstr_free
(
&
ds_mode
);
dynstr_free
(
&
ds_file
);
DBUG_VOID_RETURN
;
}
/*
SYNOPSIS
do_file_exists
...
...
@@ -5693,6 +5735,7 @@ int main(int argc, char **argv)
case
Q_FILE_EXIST
:
do_file_exist
(
command
);
break
;
case
Q_WRITE_FILE
:
do_write_file
(
command
);
break
;
case
Q_COPY_FILE
:
do_copy_file
(
command
);
break
;
case
Q_CHMOD_FILE
:
do_chmod_file
(
command
);
break
;
case
Q_PERL
:
do_perl
(
command
);
break
;
case
Q_DELIMITER
:
do_delimiter
(
command
);
...
...
mysql-test/r/mysqltest.result
View file @
a743e17d
...
...
@@ -512,6 +512,12 @@ mysqltest: At line 1: End of line junk detected: "write_file filename ";
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
mysqltest: At line 1: Missing required argument 'mode' to command 'chmod'
mysqltest: At line 1: You must write a 4 digit octal number for mode
mysqltest: At line 1: You must write a 4 digit octal number for mode
mysqltest: At line 1: Missing required argument 'file' to command 'chmod'
mysqltest: At line 1: You must write a 4 digit octal number for mode
mysqltest: At line 1: You must write a 4 digit octal number for mode
hello
hello
hello
...
...
mysql-test/t/mysqltest.test
View file @
a743e17d
...
...
@@ -1521,6 +1521,46 @@ remove_file $MYSQLTEST_VARDIR/tmp/file2.tmp;
--
error
1
--
exec
echo
"copy_file from_file;"
|
$MYSQL_TEST
2
>&
1
# ----------------------------------------------------------------------------
# test for chmod
# ----------------------------------------------------------------------------
--
write_file
$MYSQLTEST_VARDIR
/
tmp
/
file1
.
tmp
file1
EOF
chmod
0000
$MYSQLTEST_VARDIR
/
tmp
/
file1
.
tmp
;
# The below write fails, but --error is not implemented
# for write_file
#--write_file $MYSQLTEST_VARDIR/tmp/file1.tmp
#test should fail
#EOF
chmod
0777
$MYSQLTEST_VARDIR
/
tmp
/
file1
.
tmp
;
--
write_file
$MYSQLTEST_VARDIR
/
tmp
/
file1
.
tmp
test2
EOF
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
file1
.
tmp
;
--
error
1
--
exec
echo
"chmod ;"
|
$MYSQL_TEST
2
>&
1
--
error
1
--
exec
echo
"chmod 0 from_file;"
|
$MYSQL_TEST
2
>&
1
--
error
1
--
exec
echo
"chmod 08 from_file;"
|
$MYSQL_TEST
2
>&
1
--
error
1
--
exec
echo
"chmod from_file;"
|
$MYSQL_TEST
2
>&
1
--
error
1
--
exec
echo
"chmod ABZD from_file;"
|
$MYSQL_TEST
2
>&
1
--
error
1
--
exec
echo
"chmod 06789 from_file;"
|
$MYSQL_TEST
2
>&
1
# ----------------------------------------------------------------------------
# test for perl
# ----------------------------------------------------------------------------
...
...
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