You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2017/01/14 02:15:44 UTC
[2/2] incubator-mynewt-core git commit: oic unittest;
start of get/set tests.
oic unittest; start of get/set tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/d886fa15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/d886fa15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/d886fa15
Branch: refs/heads/develop
Commit: d886fa15db9cc74a65be00bfd34fbe11b7be3452
Parents: bcb6607
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Fri Jan 13 18:15:01 2017 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Fri Jan 13 18:15:01 2017 -0800
----------------------------------------------------------------------
net/oic/test/src/test_discovery.c | 23 +----
net/oic/test/src/test_getset.c | 127 ++++++++++++++++++++++++++++
net/oic/test/src/test_oic.h | 4 +
net/oic/test/src/testcases/oic_tests.c | 33 ++++++++
4 files changed, 167 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/d886fa15/net/oic/test/src/test_discovery.c
----------------------------------------------------------------------
diff --git a/net/oic/test/src/test_discovery.c b/net/oic/test/src/test_discovery.c
index 50d2c95..f787a44 100644
--- a/net/oic/test/src/test_discovery.c
+++ b/net/oic/test/src/test_discovery.c
@@ -32,29 +32,15 @@ static struct os_event test_discovery_next_ev = {
/*
* Discovery.
*/
-static void
-test_discovery_init(void)
-{
- oc_init_platform("TestPlatform", NULL, NULL);
-}
-
-static void
-test_discovery_client_requests(void)
-{
-}
-
-static oc_handler_t test_discovery_handler = {
- .init = test_discovery_init,
- .requests_entry = test_discovery_client_requests
-};
-
static oc_discovery_flags_t
test_discovery_cb(const char *di, const char *uri, oc_string_array_t types,
- oc_interface_mask_t interfaces, oc_server_handle_t *server)
+ oc_interface_mask_t interfaces,
+ struct oc_server_handle *server)
{
if ((server->endpoint.oe.flags & IP) == 0) {
return 0;
}
+ oic_test_set_endpoint(server);
switch (test_discovery_state) {
case 1:
TEST_ASSERT(!strcmp(uri, "/oic/p"));
@@ -95,7 +81,6 @@ test_discovery_cb(const char *di, const char *uri, oc_string_array_t types,
TEST_ASSERT(0);
}
if (seen_p && seen_d && seen_light) {
- os_eventq_put(&oic_tapp_evq, &test_discovery_next_ev);
/*
* Done.
*/
@@ -158,13 +143,11 @@ test_discovery_next_step(struct os_event *ev)
void
test_discovery(void)
{
- oc_main_init(&test_discovery_handler);
os_eventq_put(&oic_tapp_evq, &test_discovery_next_ev);
while (!test_discovery_done) {
os_eventq_run(&oic_tapp_evq);
}
- oc_main_shutdown();
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/d886fa15/net/oic/test/src/test_getset.c
----------------------------------------------------------------------
diff --git a/net/oic/test/src/test_getset.c b/net/oic/test/src/test_getset.c
new file mode 100644
index 0000000..9a0f5e3
--- /dev/null
+++ b/net/oic/test/src/test_getset.c
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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_oic.h"
+
+#include <os/os.h>
+#include <oic/oc_api.h>
+
+static int test_getset_state;
+static volatile int test_getset_done;
+
+static void test_getset_next_step(struct os_event *);
+static struct os_event test_getset_next_ev = {
+ .ev_cb = test_getset_next_step
+};
+
+static void
+test_getset_get(struct oc_request *request, oc_interface_mask_t interface)
+{
+ switch (test_getset_state) {
+ case 1:
+ oc_rep_start_root_object();
+ oc_rep_end_root_object();
+ oc_send_response(request, OC_STATUS_OK);
+ break;
+ case 2:
+ oc_send_response(request, OC_STATUS_OK);
+ break;
+ case 3:
+ oc_send_response(request, OC_STATUS_BAD_REQUEST);
+ break;
+ }
+}
+
+static void
+test_getset_put(struct oc_request *request, oc_interface_mask_t interface)
+{
+
+}
+
+static void
+test_getset_rsp1(struct oc_client_response *rsp)
+{
+ switch (test_getset_state) {
+ case 1:
+ TEST_ASSERT(rsp->code == OC_STATUS_OK);
+ break;
+ case 2:
+ TEST_ASSERT(rsp->code == OC_STATUS_OK);
+ break;
+ case 3:
+ TEST_ASSERT(rsp->code == OC_STATUS_BAD_REQUEST);
+ break;
+ default:
+ break;
+ }
+ os_eventq_put(&oic_tapp_evq, &test_getset_next_ev);
+}
+
+static void
+test_getset_next_step(struct os_event *ev)
+{
+ bool b_rc;
+ struct oc_server_handle server;
+
+ test_getset_state++;
+ switch (test_getset_state) {
+ case 1: {
+ oc_resource_t *res;
+
+ res = oc_new_resource("/getset", 1, 0);
+ TEST_ASSERT_FATAL(res);
+
+ oc_resource_bind_resource_interface(res, OC_IF_RW);
+ oc_resource_set_default_interface(res, OC_IF_RW);
+
+ oc_resource_set_request_handler(res, OC_GET, test_getset_get);
+ oc_resource_set_request_handler(res, OC_PUT, test_getset_put);
+ b_rc = oc_add_resource(res);
+ TEST_ASSERT(b_rc == true);
+ }
+ /* fall-through */
+ case 2:
+ case 3:
+ oic_test_get_endpoint(&server);
+
+ b_rc = oc_do_get("/getset", &server, NULL, test_getset_rsp1, LOW_QOS);
+ TEST_ASSERT_FATAL(b_rc == true);
+
+ oic_test_reset_tmo();
+ break;
+ case 4:
+ test_getset_done = 1;
+ break;
+ default:
+ TEST_ASSERT_FATAL(0);
+ break;
+ }
+}
+
+void
+test_getset(void)
+{
+ os_eventq_put(&oic_tapp_evq, &test_getset_next_ev);
+
+ while (!test_getset_done) {
+ os_eventq_run(&oic_tapp_evq);
+ }
+ oc_main_shutdown();
+}
+
+
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/d886fa15/net/oic/test/src/test_oic.h
----------------------------------------------------------------------
diff --git a/net/oic/test/src/test_oic.h b/net/oic/test/src/test_oic.h
index e15ea8c..1511ef5 100644
--- a/net/oic/test/src/test_oic.h
+++ b/net/oic/test/src/test_oic.h
@@ -36,8 +36,12 @@ TEST_CASE_DECL(oic_tests);
extern struct os_eventq oic_tapp_evq;
void oic_test_reset_tmo(void);
+struct oc_server_handle;
+void oic_test_set_endpoint(struct oc_server_handle *);
+void oic_test_get_endpoint(struct oc_server_handle *);
void test_discovery(void);
+void test_getset(void);
#ifdef __cplusplus
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/d886fa15/net/oic/test/src/testcases/oic_tests.c
----------------------------------------------------------------------
diff --git a/net/oic/test/src/testcases/oic_tests.c b/net/oic/test/src/testcases/oic_tests.c
index c495416..2a4c270 100644
--- a/net/oic/test/src/testcases/oic_tests.c
+++ b/net/oic/test/src/testcases/oic_tests.c
@@ -21,6 +21,8 @@
#include <os/os.h>
#include <oic/oc_api.h>
+#include <mn_socket/mn_socket.h>
+
#define OIC_TAPP_PRIO 9
#define OIC_TAPP_STACK_SIZE 1024
@@ -33,6 +35,7 @@ static struct os_task oic_tapp;
static os_stack_t oic_tapp_stack[OS_STACK_ALIGN(OIC_TAPP_STACK_SIZE)];
struct os_eventq oic_tapp_evq;
static struct os_callout oic_test_timer;
+static struct oc_server_handle oic_tgt;
static void
oic_test_timer_cb(struct os_event *ev)
@@ -47,9 +50,39 @@ oic_test_reset_tmo(void)
}
static void
+test_platform_init(void)
+{
+ oc_init_platform("TestPlatform", NULL, NULL);
+}
+
+static void
+test_handle_client_requests(void)
+{
+}
+
+static oc_handler_t test_handler = {
+ .init = test_platform_init,
+ .requests_entry = test_handle_client_requests
+};
+
+void
+oic_test_set_endpoint(struct oc_server_handle *ose)
+{
+ memcpy(&oic_tgt, ose, sizeof(*ose));
+}
+
+void
+oic_test_get_endpoint(struct oc_server_handle *ose)
+{
+ memcpy(ose, &oic_tgt, sizeof(*ose));
+}
+
+static void
oic_test_handler(void *arg)
{
+ oc_main_init(&test_handler);
test_discovery();
+ test_getset();
tu_restart();
}