aboutsummaryrefslogtreecommitdiffstats
path: root/test/gtest/test_tle_ctx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/gtest/test_tle_ctx.cpp')
-rw-r--r--test/gtest/test_tle_ctx.cpp130
1 files changed, 130 insertions, 0 deletions
diff --git a/test/gtest/test_tle_ctx.cpp b/test/gtest/test_tle_ctx.cpp
new file mode 100644
index 0000000..b9808ee
--- /dev/null
+++ b/test/gtest/test_tle_ctx.cpp
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2016 Intel Corporation.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "test_tle_ctx.h"
+
+TEST(ctx_create, ctx_create_null)
+{
+ struct tle_ctx *ctx;
+
+ ctx = tle_ctx_create(NULL);
+ ASSERT_EQ(ctx, (struct tle_ctx *) NULL);
+ ASSERT_EQ(rte_errno, EINVAL);
+}
+
+TEST(ctx_create, create_invalid_socket)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(NULL);
+ ASSERT_EQ(ctx, (struct tle_ctx *) NULL);
+ ASSERT_EQ(rte_errno, EINVAL);
+}
+
+TEST(ctx_create, ctx_create_proto_invalid)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.proto = TLE_PROTO_NUM;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(NULL);
+ ASSERT_EQ(ctx, (struct tle_ctx *) NULL);
+ ASSERT_EQ(rte_errno, EINVAL);
+}
+
+TEST(ctx_create, ctx_create_proto_not_spec)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(&prm);
+ ASSERT_NE(ctx, (void *)NULL);
+
+ tle_ctx_destroy(ctx);
+}
+
+TEST(ctx_create, ctx_create_proto_udp)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.proto = TLE_PROTO_UDP;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(&prm);
+ ASSERT_NE(ctx, (void *)NULL);
+
+ tle_ctx_destroy(ctx);
+}
+
+TEST(ctx_create, ctx_create_proto_tcp)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.proto = TLE_PROTO_TCP;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(&prm);
+ ASSERT_NE(ctx, (void *)NULL);
+
+ tle_ctx_destroy(ctx);
+}
+
+TEST(ctx_create, ctx_create_invalidate)
+{
+ struct tle_ctx *ctx;
+ struct tle_ctx_param prm;
+
+ memset(&prm, 0, sizeof(prm));
+ prm.socket_id = SOCKET_ID_ANY;
+ prm.max_streams = 0x10;
+ prm.max_stream_rbufs = 0x100;
+ prm.max_stream_sbufs = 0x100;
+
+ ctx = tle_ctx_create(&prm);
+ ASSERT_NE(ctx, (void *)NULL);
+
+ tle_ctx_invalidate(ctx);
+
+ tle_ctx_destroy(ctx);
+}