You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by am...@apache.org on 2018/09/20 21:16:58 UTC
[trafficserver] branch master updated: Test: Convert test_Vec.cc to
Catch
This is an automated email from the ASF dual-hosted git repository.
amc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new cc680ee Test: Convert test_Vec.cc to Catch
cc680ee is described below
commit cc680ee55c0e8b453556747899cca3785e7a1dd2
Author: Xavier Chi <ch...@gmail.com>
AuthorDate: Wed Sep 19 16:06:17 2018 -0500
Test: Convert test_Vec.cc to Catch
---
.gitignore | 1 -
src/tscore/Makefile.am | 8 ++--
src/tscore/{ => unit_tests}/test_Vec.cc | 82 +++++++++++++++------------------
3 files changed, 39 insertions(+), 52 deletions(-)
diff --git a/.gitignore b/.gitignore
index f114acc..a1ba7ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,7 +81,6 @@ src/tscore/ParseRulesCTypeToUpper
src/tscore/mkdfa
src/tscore/test_atomic
src/tscore/test_freelist
-src/tscore/test_Vec
src/tscore/test_geometry
src/tscore/test_Regex
src/tscore/test_X509HostnameValidator
diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am
index 5a47d94..10993b1 100644
--- a/src/tscore/Makefile.am
+++ b/src/tscore/Makefile.am
@@ -19,7 +19,7 @@
include $(top_srcdir)/build/tidy.mk
noinst_PROGRAMS = mkdfa CompileParseRules
-check_PROGRAMS = test_atomic test_freelist test_geometry test_Vec test_X509HostnameValidator test_tscore
+check_PROGRAMS = test_atomic test_freelist test_geometry test_X509HostnameValidator test_tscore
TESTS_ENVIRONMENT = LSAN_OPTIONS=suppressions=suppression.txt
@@ -237,9 +237,6 @@ test_atomic_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la
test_freelist_SOURCES = test_freelist.cc
test_freelist_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBTCL@ @LIBPCRE@
-test_Vec_SOURCES = test_Vec.cc
-test_Vec_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBTCL@ @LIBPCRE@
-
test_geometry_SOURCES = test_geometry.cc
test_geometry_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBTCL@ @LIBPCRE@
@@ -277,7 +274,8 @@ test_tscore_SOURCES = \
unit_tests/test_Regex.cc \
unit_tests/test_Scalar.cc \
unit_tests/test_scoped_resource.cc \
- unit_tests/test_ts_file.cc
+ unit_tests/test_ts_file.cc \
+ unit_tests/test_Vec.cc
CompileParseRules_SOURCES = CompileParseRules.cc
diff --git a/src/tscore/test_Vec.cc b/src/tscore/unit_tests/test_Vec.cc
similarity index 80%
rename from src/tscore/test_Vec.cc
rename to src/tscore/unit_tests/test_Vec.cc
index 53a6fa8..486315d 100644
--- a/src/tscore/test_Vec.cc
+++ b/src/tscore/unit_tests/test_Vec.cc
@@ -22,6 +22,8 @@
/* UnionFind after Tarjan */
+#include "catch.hpp"
+
#include <cstdint>
#include <cstdio>
#include "tscore/ink_assert.h"
@@ -202,8 +204,7 @@ UnionFind::unify(int n, int m)
}
}
-static void
-test_append()
+TEST_CASE("test append", "[Vec]")
{
static const char value[] = "this is a string";
unsigned int len = (int)sizeof(value) - 1;
@@ -211,25 +212,24 @@ test_append()
Vec<char> str;
str.append(value, 0);
- ink_assert(str.length() == 0);
+ REQUIRE(str.length() == 0);
str.append(value, len);
- ink_assert(memcmp(&str[0], value, len) == 0);
- ink_assert(str.length() == len);
+ REQUIRE(memcmp(&str[0], value, len) == 0);
+ REQUIRE(str.length() == len);
str.clear();
- ink_assert(str.length() == 0);
+ REQUIRE(str.length() == 0);
for (unsigned i = 0; i < 1000; ++i) {
str.append(value, len);
- ink_assert(memcmp(&str[i * len], value, len) == 0);
+ REQUIRE(memcmp(&str[i * len], value, len) == 0);
}
- ink_assert(str.length() == 1000 * len);
+ REQUIRE(str.length() == 1000 * len);
}
-static void
-test_basic()
+TEST_CASE("test basic", "[libts][Vec]")
{
Vec<void *> v, vv, vvv;
int tt = 99 * 50, t = 0;
@@ -240,7 +240,7 @@ test_basic()
for (size_t i = 0; i < 100; i++) {
t += (int)(intptr_t)v.v[i];
}
- ink_assert(t == tt);
+ REQUIRE(t == tt);
t = 0;
for (size_t i = 1; i < 100; i++) {
@@ -258,7 +258,7 @@ test_basic()
t += (int)(intptr_t)vv.v[i];
}
}
- ink_assert(t == tt + 1000 * tt);
+ REQUIRE(t == tt + 1000 * tt);
v.clear();
v.reserve(1000);
@@ -269,42 +269,42 @@ test_basic()
for (size_t i = 0; i < 1000; i++) {
t += (int)(intptr_t)v.v[i];
}
- ink_assert(t == 999 * 500);
+ REQUIRE(t == 999 * 500);
printf("%zu %zu\n", v.n, v.i);
Intervals in;
in.insert(1);
- ink_assert(in.n == 2);
+ REQUIRE(in.n == 2);
in.insert(2);
- ink_assert(in.n == 2);
+ REQUIRE(in.n == 2);
in.insert(6);
- ink_assert(in.n == 4);
+ REQUIRE(in.n == 4);
in.insert(7);
- ink_assert(in.n == 4);
+ REQUIRE(in.n == 4);
in.insert(9);
- ink_assert(in.n == 6);
+ REQUIRE(in.n == 6);
in.insert(4);
- ink_assert(in.n == 8);
+ REQUIRE(in.n == 8);
in.insert(5);
- ink_assert(in.n == 6);
+ REQUIRE(in.n == 6);
in.insert(3);
- ink_assert(in.n == 4);
+ REQUIRE(in.n == 4);
in.insert(8);
- ink_assert(in.n == 2);
+ REQUIRE(in.n == 2);
UnionFind uf;
uf.size(4);
uf.unify(0, 1);
uf.unify(2, 3);
- ink_assert(uf.find(2) == uf.find(3));
- ink_assert(uf.find(0) == uf.find(1));
- ink_assert(uf.find(0) != uf.find(3));
- ink_assert(uf.find(1) != uf.find(3));
- ink_assert(uf.find(1) != uf.find(2));
- ink_assert(uf.find(0) != uf.find(2));
+ REQUIRE(uf.find(2) == uf.find(3));
+ REQUIRE(uf.find(0) == uf.find(1));
+ REQUIRE(uf.find(0) != uf.find(3));
+ REQUIRE(uf.find(1) != uf.find(3));
+ REQUIRE(uf.find(1) != uf.find(2));
+ REQUIRE(uf.find(0) != uf.find(2));
uf.unify(1, 2);
- ink_assert(uf.find(0) == uf.find(3));
- ink_assert(uf.find(1) == uf.find(3));
+ REQUIRE(uf.find(0) == uf.find(3));
+ REQUIRE(uf.find(1) == uf.find(3));
}
static bool
@@ -313,8 +313,7 @@ compare(void *a, void *b)
return a < b;
}
-static void
-test_sort()
+TEST_CASE("test sort", "[libts][Vec]")
{
Vec<void *> v;
for (long i = 1; i <= 1000; ++i) {
@@ -322,7 +321,7 @@ test_sort()
}
v.qsort(&compare);
for (int i = 0; i < 1000; ++i) {
- ink_assert(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
+ REQUIRE(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
}
v.clear();
@@ -332,7 +331,7 @@ test_sort()
v.qsort(&compare);
for (long i = 0; i < 1000000; ++i) {
- ink_assert(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
+ REQUIRE(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
}
v.clear();
@@ -343,7 +342,7 @@ test_sort()
v.qsort(&compare);
for (long i = 0; i < 1000000; ++i) {
- ink_assert(reinterpret_cast<void *>(static_cast<intptr_t>((i / 2) + 1)) == v[i]);
+ REQUIRE(reinterpret_cast<void *>(static_cast<intptr_t>((i / 2) + 1)) == v[i]);
}
// Very long array, already sorted. This is what broke before.
@@ -353,7 +352,7 @@ test_sort()
}
v.qsort(&compare);
for (long i = 0; i < 10000000; ++i) {
- ink_assert(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
+ REQUIRE(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
}
// very long, reverse sorted.
@@ -363,15 +362,6 @@ test_sort()
}
v.qsort(&compare);
for (long i = 0; i < 10000000; ++i) {
- ink_assert(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
+ REQUIRE(reinterpret_cast<void *>(static_cast<intptr_t>(i + 1)) == v[i]);
}
}
-
-int
-main(int /* argc ATS_UNUSED */, char ** /* argv ATS_UNUSED */)
-{
- test_append();
- test_basic();
- test_sort();
- printf("test_Vec PASSED\n");
-}