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:
Andreas Schneider
2014-08-15 11:23:03 +02:00
parent 5fa4721c6e
commit 83aed7610c
3 changed files with 32 additions and 30 deletions

View File

@@ -25,9 +25,11 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#ifndef _WIN32
# include <sys/types.h>
# include <sys/stat.h>
# include <dirent.h>
# include <errno.h>
#endif
@@ -302,6 +304,22 @@ void torture_sftp_close(struct torture_sftp *t) {
#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){
return verbosity;

View File

@@ -68,6 +68,8 @@ ssh_session torture_ssh_session(const char *host,
struct torture_sftp *torture_sftp_session(ssh_session session);
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.
*/

View File

@@ -158,15 +158,14 @@ static const char ecdsa521_testkey_pub[]=
"V262vIC+AE3fXUJ7sJ/CkFIdk/8/gQEY1jyoXB3Bsee16VwhJGsMzGGh1FJ0XXhRJj"
"UbG18qbH9JiSgE1N4fIM0zJG68fAyUxRxCI1wUobOOB7EmFZd18g== aris@kalix86";
static void write_file(const char *filename, const char *data);
static void setup_rsa_key(void **state) {
(void) state; /* unused */
unlink(LIBSSH_RSA_TESTKEY);
unlink(LIBSSH_RSA_TESTKEY ".pub");
write_file(LIBSSH_RSA_TESTKEY, rsa_testkey);
write_file(LIBSSH_RSA_TESTKEY ".pub", rsa_testkey_pub);
torture_write_file(LIBSSH_RSA_TESTKEY, rsa_testkey);
torture_write_file(LIBSSH_RSA_TESTKEY ".pub", rsa_testkey_pub);
}
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 ".pub");
write_file(LIBSSH_DSA_TESTKEY, dsa_testkey);
write_file(LIBSSH_DSA_TESTKEY ".pub", dsa_testkey_pub);
torture_write_file(LIBSSH_DSA_TESTKEY, dsa_testkey);
torture_write_file(LIBSSH_DSA_TESTKEY ".pub", dsa_testkey_pub);
}
#ifdef HAVE_OPENSSL_ECC
@@ -188,14 +187,14 @@ static void setup_ecdsa_key(void **state, int ecdsa_bits) {
unlink(LIBSSH_ECDSA_TESTKEY ".pub");
if (ecdsa_bits == 256) {
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa256_testkey);
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa256_testkey_pub);
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa256_testkey);
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa256_testkey_pub);
} else if (ecdsa_bits == 384) {
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa384_testkey);
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa384_testkey_pub);
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa384_testkey);
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa384_testkey_pub);
} else if (ecdsa_bits == 521) {
write_file(LIBSSH_ECDSA_TESTKEY, ecdsa521_testkey);
write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa521_testkey_pub);
torture_write_file(LIBSSH_ECDSA_TESTKEY, ecdsa521_testkey);
torture_write_file(LIBSSH_ECDSA_TESTKEY ".pub", ecdsa521_testkey_pub);
}
}
@@ -260,23 +259,6 @@ static char *read_file(const char *filename) {
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) {
FILE *fp;
size_t nmemb;