mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 02:38:09 +09:00
tests: Make write file a public torture function.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Aris Adamantiadis <aris@0xbadc0de.be>
This commit is contained in:
@@ -25,9 +25,11 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
# include <sys/types.h>
|
|
||||||
# include <sys/stat.h>
|
|
||||||
# include <dirent.h>
|
# include <dirent.h>
|
||||||
# include <errno.h>
|
# include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -302,6 +304,22 @@ void torture_sftp_close(struct torture_sftp *t) {
|
|||||||
|
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
void torture_write_file(const char *filename, const char *data){
|
||||||
|
int fd;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
assert_non_null(filename);
|
||||||
|
assert_true(filename[0] != '\0');
|
||||||
|
assert_non_null(data);
|
||||||
|
|
||||||
|
fd = open(filename, O_WRONLY | O_TRUNC | O_CREAT, 0755);
|
||||||
|
assert_true(fd >= 0);
|
||||||
|
|
||||||
|
rc = write(fd, data, strlen(data));
|
||||||
|
assert_int_equal(rc, strlen(data));
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
int torture_libssh_verbosity(void){
|
int torture_libssh_verbosity(void){
|
||||||
return verbosity;
|
return verbosity;
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ ssh_session torture_ssh_session(const char *host,
|
|||||||
struct torture_sftp *torture_sftp_session(ssh_session session);
|
struct torture_sftp *torture_sftp_session(ssh_session session);
|
||||||
void torture_sftp_close(struct torture_sftp *t);
|
void torture_sftp_close(struct torture_sftp *t);
|
||||||
|
|
||||||
|
void torture_write_file(const char *filename, const char *data);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function must be defined in every unit test file.
|
* This function must be defined in every unit test file.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -158,15 +158,14 @@ static const char ecdsa521_testkey_pub[]=
|
|||||||
"V262vIC+AE3fXUJ7sJ/CkFIdk/8/gQEY1jyoXB3Bsee16VwhJGsMzGGh1FJ0XXhRJj"
|
"V262vIC+AE3fXUJ7sJ/CkFIdk/8/gQEY1jyoXB3Bsee16VwhJGsMzGGh1FJ0XXhRJj"
|
||||||
"UbG18qbH9JiSgE1N4fIM0zJG68fAyUxRxCI1wUobOOB7EmFZd18g== aris@kalix86";
|
"UbG18qbH9JiSgE1N4fIM0zJG68fAyUxRxCI1wUobOOB7EmFZd18g== aris@kalix86";
|
||||||
|
|
||||||
static void write_file(const char *filename, const char *data);
|
|
||||||
static void setup_rsa_key(void **state) {
|
static void setup_rsa_key(void **state) {
|
||||||
(void) state; /* unused */
|
(void) state; /* unused */
|
||||||
|
|
||||||
unlink(LIBSSH_RSA_TESTKEY);
|
unlink(LIBSSH_RSA_TESTKEY);
|
||||||
unlink(LIBSSH_RSA_TESTKEY ".pub");
|
unlink(LIBSSH_RSA_TESTKEY ".pub");
|
||||||
|
|
||||||
write_file(LIBSSH_RSA_TESTKEY, rsa_testkey);
|
torture_write_file(LIBSSH_RSA_TESTKEY, rsa_testkey);
|
||||||
write_file(LIBSSH_RSA_TESTKEY ".pub", rsa_testkey_pub);
|
torture_write_file(LIBSSH_RSA_TESTKEY ".pub", rsa_testkey_pub);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setup_dsa_key(void **state) {
|
static void setup_dsa_key(void **state) {
|
||||||
@@ -175,8 +174,8 @@ static void setup_dsa_key(void **state) {
|
|||||||
unlink(LIBSSH_DSA_TESTKEY);
|
unlink(LIBSSH_DSA_TESTKEY);
|
||||||
unlink(LIBSSH_DSA_TESTKEY ".pub");
|
unlink(LIBSSH_DSA_TESTKEY ".pub");
|
||||||
|
|
||||||
write_file(LIBSSH_DSA_TESTKEY, dsa_testkey);
|
torture_write_file(LIBSSH_DSA_TESTKEY, dsa_testkey);
|
||||||
write_file(LIBSSH_DSA_TESTKEY ".pub", dsa_testkey_pub);
|
torture_write_file(LIBSSH_DSA_TESTKEY ".pub", dsa_testkey_pub);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_OPENSSL_ECC
|
#ifdef HAVE_OPENSSL_ECC
|
||||||
@@ -188,14 +187,14 @@ static void setup_ecdsa_key(void **state, int ecdsa_bits) {
|
|||||||
unlink(LIBSSH_ECDSA_TESTKEY ".pub");
|
unlink(LIBSSH_ECDSA_TESTKEY ".pub");
|
||||||
|
|
||||||
if (ecdsa_bits == 256) {
|
if (ecdsa_bits == 256) {
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa256_testkey);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa256_testkey);
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa256_testkey_pub);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa256_testkey_pub);
|
||||||
} else if (ecdsa_bits == 384) {
|
} else if (ecdsa_bits == 384) {
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa384_testkey);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa384_testkey);
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa384_testkey_pub);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa384_testkey_pub);
|
||||||
} else if (ecdsa_bits == 521) {
|
} else if (ecdsa_bits == 521) {
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa521_testkey);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa521_testkey);
|
||||||
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa521_testkey_pub);
|
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa521_testkey_pub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,23 +259,6 @@ static char *read_file(const char *filename) {
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_file(const char *filename, const char *data){
|
|
||||||
int fd;
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
assert_non_null(filename);
|
|
||||||
assert_true(filename[0] != '\0');
|
|
||||||
assert_non_null(data);
|
|
||||||
|
|
||||||
fd = open(filename, O_WRONLY | O_TRUNC | O_CREAT, 0755);
|
|
||||||
assert_true(fd >= 0);
|
|
||||||
|
|
||||||
rc = write(fd, data, strlen(data));
|
|
||||||
assert_int_equal(rc, strlen(data));
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int torture_read_one_line(const char *filename, char *buffer, size_t len) {
|
static int torture_read_one_line(const char *filename, char *buffer, size_t len) {
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
size_t nmemb;
|
size_t nmemb;
|
||||||
|
|||||||
Reference in New Issue
Block a user