aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2015-01-19 21:47:52 +0100
committerJohannes Löthberg <johannes@kyriasis.com>2015-01-19 22:18:21 +0100
commitbd348a50e65b9ef26b81998bf248480edaa7a4f2 (patch)
tree7f66a65633a5b177e5f64f2414b7585c510b305a /src
parentf3fedce6231c135d910b114c845d9ccc47f91ee6 (diff)
downloadsds-bd348a50e65b9ef26b81998bf248480edaa7a4f2.tar.xz
Move tests to test/
Diffstat (limited to 'src')
-rw-r--r--src/test.c223
-rw-r--r--src/twbctf.c50
-rw-r--r--src/twbctf.h14
3 files changed, 0 insertions, 287 deletions
diff --git a/src/test.c b/src/test.c
deleted file mode 100644
index 68839ad..0000000
--- a/src/test.c
+++ /dev/null
@@ -1,223 +0,0 @@
-#include <stdbool.h>
-#include <string.h>
-
-#include "sds.h"
-#include "twbctf.h"
-
-bool check_string_length (void);
-bool create_with_length (void);
-bool string_concat (void);
-bool sdscpy_against_longer_str (void);
-bool sdscpy_against_shorter_str (void);
-bool sdscatprintf_base_case (void);
-bool sdstrim_trims_correctly (void);
-bool sdsrange_one_one (void);
-bool sdsrange_one_none (void);
-bool sdsrange_ntwo_none (void);
-bool sdsrange_two_one (void);
-bool sdsrange_one_hund (void);
-bool sdsrange_hund_hund (void);
-bool sdscmp_foo_foa (void);
-bool sdscmp_aar_bar (void);
-bool sdscmp_bar_bar (void);
-bool sdscatrepr_test (void);
-bool sdsnew_check_free_len (void);
-bool sdsMakeRoomFor_test (void);
-bool sdsIncrLen_content (void);
-bool sdsIncrLen_len (void);
-bool sdsIncrLen_free (void);
-
-static const struct test test_list [] = {
- { "create a string and obtain the length", check_string_length },
- { "create a string with specified length", create_with_length },
- { "string concatenation", string_concat },
- { "sdscpy() against a longer string", sdscpy_against_longer_str },
- { "sdscpy() against a shorter string", sdscpy_against_shorter_str },
- { "basic sdscatprintf() usecase", sdscatprintf_base_case },
- { "sdstrim() trims correctly", sdstrim_trims_correctly },
- { "sdsrange(..., 1, 1)", sdsrange_one_one },
- { "sdsrange(..., 1, -1)", sdsrange_one_none },
- { "sdsrange(..., -2, -1)", sdsrange_ntwo_none },
- { "sdsrange(..., 2, 1)", sdsrange_two_one },
- { "sdsrange(..., 1, 100)", sdsrange_one_hund },
- { "sdsrange(..., 100, 100)", sdsrange_hund_hund },
- { "sdscmp(foo, foa)", sdscmp_foo_foa },
- { "sdscmp(aar, bar)", sdscmp_aar_bar },
- { "sdscmp(bar, bar)", sdscmp_bar_bar },
- { "sdscatrepr(...data...)", sdscatrepr_test },
- { "sdsnew() free/len buffers", sdsnew_check_free_len },
- { "sdsMakeRoomFor()", sdsMakeRoomFor_test },
- { "content after sdsIncrLen()", sdsIncrLen_content },
- { "len after sdsIncrLen()", sdsIncrLen_len },
- { "free after sdsIncrLen()", sdsIncrLen_free },
-};
-
-static inline void sdsfrees(sds *string) { if (*string) sdsfree(*string); }
-#define _sds_cleanup_ __attribute__((cleanup(sdsfrees)))
-
-bool
-check_string_length(void) {
- _sds_cleanup_ sds x = sdsauto("foo");
- return (sdslen(x) == 3 && memcmp(x, "foo\0", 4) == 0);
-}
-
-bool
-create_with_length(void) {
- _sds_cleanup_ sds x = sdsnew("foo", 2);
- return (sdslen(x) == 2 && memcmp(x, "fo\0", 3) == 0);
-}
-
-bool
-string_concat(void) {
- _sds_cleanup_ sds x = sdsnew("foo", 2);
- x = sdscat(x, "bar");
- return (sdslen(x) == 5 && memcmp(x, "fobar\0", 6) == 0);
-}
-
-bool
-sdscpy_against_longer_str(void) {
- _sds_cleanup_ sds x = sdsauto("foo");
- x = sdscpy(x, "a");
- return (sdslen(x) == 1 && memcmp(x, "a\0", 2) == 0);
-}
-
-bool
-sdscpy_against_shorter_str(void) {
- _sds_cleanup_ sds x = sdsnew("foo",2);
- x = sdscpy(x, "xxxxyyyyzzzz");
- return (sdslen(x) == 12 && memcmp(x, "xxxxyyyyzzzz\0", 12) == 0);
-}
-
-bool
-sdscatprintf_base_case(void) {
- _sds_cleanup_ sds x = sdscatprintf(sdsempty(), "%d", 123);
- return (sdslen(x) == 3 && memcmp(x, "123\0", 4) == 0);
-}
-
-bool
-sdstrim_trims_correctly(void) {
- _sds_cleanup_ sds x = sdsauto("xxciaoyy");
- sdstrim(x, "xy");
- return (sdslen(x) == 4 && memcmp(x, "ciao\0", 5) == 0);
-}
-
-bool
-sdsrange_one_one (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, 1, 1);
- return (sdslen(y) == 1 && memcmp(y, "i\0", 2) == 0);
-}
-
-bool
-sdsrange_one_none (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, 1, -1);
- return (sdslen(y) == 3 && memcmp(y, "iao\0", 4) == 0);
-}
-
-bool
-sdsrange_ntwo_none (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, -2, -1);
- return (sdslen(y) == 2 && memcmp(y, "ao\0", 3) == 0);
-}
-
-bool
-sdsrange_two_one (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, 2, 1);
- return (sdslen(y) == 0 && memcmp(y, "\0", 1) == 0);
-}
-
-bool
-sdsrange_one_hund (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, 1, 100);
- return (sdslen(y) == 3 && memcmp(y, "iao\0", 4) == 0);
-}
-
-bool
-sdsrange_hund_hund (void) {
- _sds_cleanup_ sds x = sdsauto("ciao");
- _sds_cleanup_ sds y = sdsdup(x);
- sdsrange(y, 100, 100);
- return (sdslen(y) == 0 && memcmp(y, "\0", 1) == 0);
-}
-
-bool
-sdscmp_foo_foa (void) {
- _sds_cleanup_ sds x = sdsauto("foo");
- _sds_cleanup_ sds y = sdsauto("foa");
- return (sdscmp(x, y) > 0);
-}
-
-bool
-sdscmp_aar_bar (void) {
- _sds_cleanup_ sds x = sdsauto("aar");
- _sds_cleanup_ sds y = sdsauto("bar");
- return (sdscmp(x, y) < 0);
-}
-
-bool
-sdscmp_bar_bar (void) {
- _sds_cleanup_ sds x = sdsauto("bar");
- _sds_cleanup_ sds y = sdsauto("bar");
- return (sdscmp(x, y) == 0);
-}
-
-bool
-sdscatrepr_test (void) {
- _sds_cleanup_ sds x = sdsnew("\a\n\0foo\r", 7);
- _sds_cleanup_ sds y = sdscatrepr(sdsempty(), x, sdslen(x));
- return (memcmp(y, "\"\\a\\n\\x00foo\\r\"", 15) == 0);
-}
-
-bool
-sdsnew_check_free_len (void) {
- _sds_cleanup_ sds x = sdsauto("0");
- struct sdshdr *sh = (void*) (x-(sizeof(struct sdshdr)));
- return (sh->len == 1 && sh->free == 0);
-}
-
-bool
-sdsMakeRoomFor_test (void) {
- _sds_cleanup_ sds x = sdsauto("0");
- x = sdsMakeRoomFor(x, 1);
- struct sdshdr *sh = (void*) (x-(sizeof(struct sdshdr)));
- return (sh->len == 1 && sh->free > 0);
-}
-
-bool
-sdsIncrLen_content (void) {
- _sds_cleanup_ sds x = sdsauto("0");
- x = sdsMakeRoomFor(x, 1);
- x[1] = '1';
- sdsIncrLen(x, 1);
- return (x[0] == '0' && x[1] == '1');
-}
-
-bool
-sdsIncrLen_len (void) {
- _sds_cleanup_ sds x = sdsauto("0");
- x = sdsMakeRoomFor(x, 1);
- struct sdshdr *sh = (void*) (x-(sizeof(struct sdshdr)));
- x[1] = '1';
- sdsIncrLen(x, 1);
- return (sh->len == 2);
-}
-
-bool
-sdsIncrLen_free (void) {
- _sds_cleanup_ sds x = sdsauto("0");
- x = sdsMakeRoomFor(x, 1);
- struct sdshdr *sh = (void*) (x-(sizeof(struct sdshdr)));
- size_t oldfree = sh->free;
- x[1] = '1';
- sdsIncrLen(x, 1);
- return (sh->free == oldfree-1);
-}
diff --git a/src/twbctf.c b/src/twbctf.c
deleted file mode 100644
index af95c10..0000000
--- a/src/twbctf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************\
- * A small, C test framework *
- * Copyright (C) 2013-2014, Sam Stuewe *
- * *
- * This program is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU General Public License *
- * as published by the Free Software Foundation; either version 2 *
- * of the License, or (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the Free Software *
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
- * Boston, MA 02110-1301, USA. *
-\*********************************************************************/
-
-// Libraries //
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "twbctf.h"
-#include "test.c"
-
-// Forward Declarations //
-#define TEST_COUNT ((sizeof test_list)/(sizeof (struct test)))
-
-// Run Suite //
-signed
-main (void) {
- int print_width = 0;
- for (size_t i = 0; i < TEST_COUNT; i++) {
- int length = (int)strlen(test_list[i].desc);
- if (length > print_width) {
- print_width = length;
- }
- }
-
- for (size_t i = 0; i < TEST_COUNT; i++) {
- printf("Testing %-*s\t\t[ PEND ]\r", print_width, test_list[i].desc);
- char * result = (test_list[i].func() ? "\x1b[32mPASS" : "\x1b[31mFAIL");
- printf("Testing %-*s\t\t[ %s \x1b[0m]\n", print_width, test_list[i].desc, result);
- }
-
- return 0;
-}
diff --git a/src/twbctf.h b/src/twbctf.h
deleted file mode 100644
index c0789cc..0000000
--- a/src/twbctf.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef TWBCTF_H
-#define TWBCTF_H
-
-// Libraries //
-#include <stdbool.h>
-
-typedef bool (* test_p) (void);
-
-struct test {
- char * desc;
- test_p func;
-};
-
-#endif