Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/develop e582f6784 -> b774aa1b1


Use correct stacksize for OS test handlers

An incorrect value was being used for stacksize when calling init_task in mutex 
& sem testcases.


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/b774aa1b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/b774aa1b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/b774aa1b

Branch: refs/heads/develop
Commit: b774aa1b1b0b32dc74eeb84b84b8d9d960063b9b
Parents: e582f67
Author: Peter Snyder <[email protected]>
Authored: Thu Jan 12 14:42:36 2017 -0800
Committer: Peter Snyder <[email protected]>
Committed: Thu Jan 12 14:42:36 2017 -0800

----------------------------------------------------------------------
 apps/testbench/src/testbench.c                  | 27 ++++++--------------
 apps/testbench/src/testbench.h                  | 15 ++++++++---
 kernel/os/test/src/mutex_test.c                 |  4 +++
 kernel/os/test/src/os_test.c                    |  5 ++++
 kernel/os/test/src/os_test_priv.h               |  4 +++
 kernel/os/test/src/sem_test.c                   |  4 +++
 .../os/test/src/testcases/os_mutex_test_basic.c |  2 +-
 .../test/src/testcases/os_mutex_test_case_1.c   | 10 ++++----
 .../test/src/testcases/os_mutex_test_case_2.c   | 16 ++++++------
 .../os/test/src/testcases/os_sem_test_basic.c   |  3 +--
 .../os/test/src/testcases/os_sem_test_case_1.c  |  9 +++----
 .../os/test/src/testcases/os_sem_test_case_2.c  | 12 +++------
 .../os/test/src/testcases/os_sem_test_case_3.c  | 12 +++------
 .../os/test/src/testcases/os_sem_test_case_4.c  | 12 +++------
 14 files changed, 66 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/apps/testbench/src/testbench.c
----------------------------------------------------------------------
diff --git a/apps/testbench/src/testbench.c b/apps/testbench/src/testbench.c
index f563638..47bddb4 100644
--- a/apps/testbench/src/testbench.c
+++ b/apps/testbench/src/testbench.c
@@ -125,25 +125,10 @@ char runtest_token[RUNTEST_REQ_SIZE];
 static int testbench_runtests(struct os_event *ev);
 static void testbench_test_complete();
 
-#if 0
-void
-testbench_ts_init(void *arg)
-{
-    return;
-}
-
-void
-testbench_ts_pretest(void* arg)
-{
-    return;
-}
-
-void
-testbench_ts_posttest(void* arg)
-{
-    return;
-}
-#endif
+extern uint32_t stack1_size;
+extern uint32_t stack2_size;
+extern uint32_t stack3_size;
+extern uint32_t stack4_size;
 
 void
 testbench_ts_pass(char *msg, int msg_len, void *arg)
@@ -324,15 +309,19 @@ init_tasks(void)
      */
     stack1 = malloc(sizeof(os_stack_t) * TASK1_STACK_SIZE);
     assert(stack1);
+    stack1_size = TASK1_STACK_SIZE;
 
     stack2 = malloc(sizeof(os_stack_t) * TASK2_STACK_SIZE);
     assert(stack2);
+    stack2_size = TASK2_STACK_SIZE;
 
     stack3 = malloc(sizeof(os_stack_t) * TASK3_STACK_SIZE);
     assert(stack3);
+    stack3_size = TASK3_STACK_SIZE;
 
     stack4 = malloc(sizeof(os_stack_t) * TASK4_STACK_SIZE);
     assert(stack4);
+    stack4_size = TASK4_STACK_SIZE;
 
     teststack = malloc(sizeof(os_stack_t) * NMGRTASK_STACK_SIZE);
     assert(teststack);

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/apps/testbench/src/testbench.h
----------------------------------------------------------------------
diff --git a/apps/testbench/src/testbench.h b/apps/testbench/src/testbench.h
index 85b6470..4c15b5d 100644
--- a/apps/testbench/src/testbench.h
+++ b/apps/testbench/src/testbench.h
@@ -146,17 +146,24 @@ struct os_task task3;
 struct os_task task4;
 #endif
 
+/*
+ * stacks are re-used to minimize space on the target
+ * Set the size to the biggest we'll need to run tests
+ * We assume that no more than 4 test tasks are needed
+ */
+#define TESTHANDLER_STACK_SIZE  OS_STACK_ALIGN(256)
+
 extern os_stack_t *stack1;
-#define TASK1_STACK_SIZE TESTTASK_STACK_SIZE
+#define TASK1_STACK_SIZE TESTHANDLER_STACK_SIZE
 
 extern os_stack_t *stack2;
-#define TASK2_STACK_SIZE TESTTASK_STACK_SIZE
+#define TASK2_STACK_SIZE TESTHANDLER_STACK_SIZE
 
 extern os_stack_t *stack3;
-#define TASK3_STACK_SIZE TESTTASK_STACK_SIZE
+#define TASK3_STACK_SIZE TESTHANDLER_STACK_SIZE
 
 extern os_stack_t *stack4;
-#define TASK4_STACK_SIZE TESTTASK_STACK_SIZE
+#define TASK4_STACK_SIZE TESTHANDLER_STACK_SIZE
 
 /*
  * Generic routines for testsuite and testcase callbacks

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/mutex_test.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/mutex_test.c b/kernel/os/test/src/mutex_test.c
index feef13c..6f8ee69 100644
--- a/kernel/os/test/src/mutex_test.c
+++ b/kernel/os/test/src/mutex_test.c
@@ -363,12 +363,16 @@ os_mutex_test_init(void *arg)
 #if MYNEWT_VAL(SELFTEST)
     stack1 = malloc(sizeof(os_stack_t) * MUTEX_TEST_STACK_SIZE);
     assert(stack1);
+    stack1_size = MUTEX_TEST_STACK_SIZE;
     stack2 = malloc(sizeof(os_stack_t) * MUTEX_TEST_STACK_SIZE);
     assert(stack2);
+    stack2_size = MUTEX_TEST_STACK_SIZE;
     stack3 = malloc(sizeof(os_stack_t) * MUTEX_TEST_STACK_SIZE);
     assert(stack3);
+    stack3_size = MUTEX_TEST_STACK_SIZE;
     stack4 = malloc(sizeof(os_stack_t) * MUTEX_TEST_STACK_SIZE);
     assert(stack4);
+    stack4_size = MUTEX_TEST_STACK_SIZE;
 #endif
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/os_test.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/os_test.c b/kernel/os/test/src/os_test.c
index 7bb5028..2e5bf9d 100644
--- a/kernel/os/test/src/os_test.c
+++ b/kernel/os/test/src/os_test.c
@@ -30,6 +30,11 @@
 #include <sys/time.h>
 #include "os/os.h"
 
+uint32_t stack1_size;
+uint32_t stack2_size;
+uint32_t stack3_size;
+uint32_t stack4_size;
+
 /*
  * Most of this file is the driver for the kernel selftest running in sim
  * In the sim environment, we can initialize and restart mynewt at will

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/os_test_priv.h
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/os_test_priv.h 
b/kernel/os/test/src/os_test_priv.h
index dc676ff..c892ec8 100644
--- a/kernel/os/test/src/os_test_priv.h
+++ b/kernel/os/test/src/os_test_priv.h
@@ -42,18 +42,22 @@ extern "C" {
  */
 extern struct os_task task1;
 extern os_stack_t *stack1;
+extern uint32_t stack1_size;
 #define TASK1_PRIO (20) 
 
 extern struct os_task task2;
 extern os_stack_t *stack2;
+extern uint32_t stack2_size;
 #define TASK2_PRIO (21) 
 
 extern struct os_task task3;
 extern os_stack_t *stack3;
+extern uint32_t stack3_size;
 #define TASK3_PRIO (22) 
 
 extern struct os_task task4;
 extern os_stack_t *stack4;
+extern uint32_t stack4_size;
 #define TASK4_PRIO (23) 
 
 void os_test_restart(void);

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/sem_test.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/sem_test.c b/kernel/os/test/src/sem_test.c
index 1daf49f..98348b4 100644
--- a/kernel/os/test/src/sem_test.c
+++ b/kernel/os/test/src/sem_test.c
@@ -303,12 +303,16 @@ os_sem_test_init(void *arg)
 #if MYNEWT_VAL(SELFTEST)
     stack1 = malloc(sizeof(os_stack_t) * SEM_TEST_STACK_SIZE);
     assert(stack1);
+    stack1_size = SEM_TEST_STACK_SIZE;
     stack2 = malloc(sizeof(os_stack_t) * SEM_TEST_STACK_SIZE);
     assert(stack2);
+    stack2_size = SEM_TEST_STACK_SIZE;
     stack3 = malloc(sizeof(os_stack_t) * SEM_TEST_STACK_SIZE);
     assert(stack3);
+    stack3_size = SEM_TEST_STACK_SIZE;
     stack4 = malloc(sizeof(os_stack_t) * SEM_TEST_STACK_SIZE);
     assert(stack4);
+    stack4_size = SEM_TEST_STACK_SIZE;
 #endif
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_mutex_test_basic.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_mutex_test_basic.c 
b/kernel/os/test/src/testcases/os_mutex_test_basic.c
index 9fa1d9d..a0c63e4 100644
--- a/kernel/os/test/src/testcases/os_mutex_test_basic.c
+++ b/kernel/os/test/src/testcases/os_mutex_test_basic.c
@@ -23,5 +23,5 @@ TEST_CASE(os_mutex_test_basic)
     os_mutex_init(&g_mutex1);
 
     os_task_init(&task1, "task1", mutex_test_basic_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_mutex_test_case_1.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_mutex_test_case_1.c 
b/kernel/os/test/src/testcases/os_mutex_test_case_1.c
index ee326e8..a84549d 100644
--- a/kernel/os/test/src/testcases/os_mutex_test_case_1.c
+++ b/kernel/os/test/src/testcases/os_mutex_test_case_1.c
@@ -33,11 +33,11 @@ TEST_CASE(os_mutex_test_case_1)
     TEST_ASSERT(rc == 0);
 
     os_task_init(&task1, "task1", mutex_test1_task1_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 
-    os_task_init(&task2, "task2", mutex_task2_handler, NULL, TASK2_PRIO, 
-            OS_WAIT_FOREVER, stack2, sizeof(stack2));
+    os_task_init(&task2, "task2", mutex_task2_handler, NULL,
+                 TASK2_PRIO, OS_WAIT_FOREVER, stack2, stack2_size);
 
-    os_task_init(&task3, "task3", mutex_task3_handler, NULL, TASK3_PRIO, 
-            OS_WAIT_FOREVER, stack3, sizeof(stack3));
+    os_task_init(&task3, "task3", mutex_task3_handler, NULL,
+                 TASK3_PRIO, OS_WAIT_FOREVER, stack3, stack3_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_mutex_test_case_2.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_mutex_test_case_2.c 
b/kernel/os/test/src/testcases/os_mutex_test_case_2.c
index 757dd4c..eb806dd 100644
--- a/kernel/os/test/src/testcases/os_mutex_test_case_2.c
+++ b/kernel/os/test/src/testcases/os_mutex_test_case_2.c
@@ -27,15 +27,15 @@ TEST_CASE(os_mutex_test_case_2)
     os_mutex_init(&g_mutex1);
     os_mutex_init(&g_mutex2);
 
-    os_task_init(&task1, "task1", mutex_test2_task1_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, sizeof(stack1));
+    os_task_init(&task1, "task1", mutex_test2_task1_handler, NULL, TASK1_PRIO,
+                 OS_WAIT_FOREVER, stack1, stack1_size);
 
-    os_task_init(&task2, "task2", mutex_task2_handler, NULL, TASK2_PRIO, 
-            OS_WAIT_FOREVER, stack2, sizeof(stack2));
+    os_task_init(&task2, "task2", mutex_task2_handler, NULL, TASK2_PRIO,
+                 OS_WAIT_FOREVER, stack2, stack2_size);
 
-    os_task_init(&task3, "task3", mutex_task3_handler, NULL, TASK3_PRIO, 
-            OS_WAIT_FOREVER, stack3, sizeof(stack3));
+    os_task_init(&task3, "task3", mutex_task3_handler, NULL, TASK3_PRIO,
+                 OS_WAIT_FOREVER, stack3, stack3_size);
 
-    os_task_init(&task4, "task4", mutex_task4_handler, NULL, TASK4_PRIO, 
-            OS_WAIT_FOREVER, stack4, sizeof(stack4));
+    os_task_init(&task4, "task4", mutex_task4_handler, NULL, TASK4_PRIO,
+                 OS_WAIT_FOREVER, stack4, stack4_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_sem_test_basic.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_sem_test_basic.c 
b/kernel/os/test/src/testcases/os_sem_test_basic.c
index 7715f7d..bee6675 100644
--- a/kernel/os/test/src/testcases/os_sem_test_basic.c
+++ b/kernel/os/test/src/testcases/os_sem_test_basic.c
@@ -26,6 +26,5 @@ TEST_CASE(os_sem_test_basic)
     TEST_ASSERT(err == OS_OK);
 
     os_task_init(&task1, "task1", sem_test_basic_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1,
-                 sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_sem_test_case_1.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_sem_test_case_1.c 
b/kernel/os/test/src/testcases/os_sem_test_case_1.c
index c736e99..2417365 100644
--- a/kernel/os/test/src/testcases/os_sem_test_case_1.c
+++ b/kernel/os/test/src/testcases/os_sem_test_case_1.c
@@ -26,14 +26,11 @@ TEST_CASE(os_sem_test_case_1)
     TEST_ASSERT(err == OS_OK);
 
     os_task_init(&task1, "task1", sem_test_1_task1_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1,
-                 sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 
     os_task_init(&task2, "task2", sem_test_1_task2_handler, NULL,
-                 TASK2_PRIO, OS_WAIT_FOREVER, stack2,
-                 sizeof(stack2));
+                 TASK2_PRIO, OS_WAIT_FOREVER, stack2, stack2_size);
 
     os_task_init(&task3, "task3", sem_test_1_task3_handler, NULL,
-                 TASK3_PRIO, OS_WAIT_FOREVER, stack3,
-                 sizeof(stack3));
+                 TASK3_PRIO, OS_WAIT_FOREVER, stack3, stack3_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_sem_test_case_2.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_sem_test_case_2.c 
b/kernel/os/test/src/testcases/os_sem_test_case_2.c
index a816e06..47b838e 100644
--- a/kernel/os/test/src/testcases/os_sem_test_case_2.c
+++ b/kernel/os/test/src/testcases/os_sem_test_case_2.c
@@ -26,18 +26,14 @@ TEST_CASE(os_sem_test_case_2)
     TEST_ASSERT(err == OS_OK);
 
     os_task_init(&task1, "task1", sem_test_sleep_task_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1,
-                 sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 
     os_task_init(&task2, "task2", sem_test_2_task2_handler, NULL,
-                 TASK2_PRIO, OS_WAIT_FOREVER, stack2,
-                 sizeof(stack2));
+                 TASK2_PRIO, OS_WAIT_FOREVER, stack2, stack2_size);
 
     os_task_init(&task3, "task3", sem_test_2_task3_handler, NULL,
-                 TASK3_PRIO, OS_WAIT_FOREVER, stack3,
-                 sizeof(stack3));
+                 TASK3_PRIO, OS_WAIT_FOREVER, stack3, stack3_size);
 
     os_task_init(&task4, "task4", sem_test_2_task4_handler, NULL,
-                 TASK4_PRIO, OS_WAIT_FOREVER, stack4,
-                 sizeof(stack4));
+                 TASK4_PRIO, OS_WAIT_FOREVER, stack4, stack4_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_sem_test_case_3.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_sem_test_case_3.c 
b/kernel/os/test/src/testcases/os_sem_test_case_3.c
index 3b0a0ea..2108491 100644
--- a/kernel/os/test/src/testcases/os_sem_test_case_3.c
+++ b/kernel/os/test/src/testcases/os_sem_test_case_3.c
@@ -26,18 +26,14 @@ TEST_CASE(os_sem_test_case_3)
     TEST_ASSERT(err == OS_OK);
 
     os_task_init(&task1, "task1", sem_test_sleep_task_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1,
-                 sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 
     os_task_init(&task2, "task2", sem_test_3_task2_handler, NULL,
-                 TASK2_PRIO, OS_WAIT_FOREVER, stack2,
-                 sizeof(stack2));
+                 TASK2_PRIO, OS_WAIT_FOREVER, stack2, stack2_size);
 
     os_task_init(&task3, "task3", sem_test_3_task3_handler, NULL,
-                 TASK3_PRIO, OS_WAIT_FOREVER, stack3,
-                 sizeof(stack3));
+                 TASK3_PRIO, OS_WAIT_FOREVER, stack3, stack3_size);
 
     os_task_init(&task4, "task4", sem_test_3_task4_handler, NULL,
-                 TASK4_PRIO, OS_WAIT_FOREVER, stack4,
-                 sizeof(stack4));
+                 TASK4_PRIO, OS_WAIT_FOREVER, stack4, stack4_size);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/b774aa1b/kernel/os/test/src/testcases/os_sem_test_case_4.c
----------------------------------------------------------------------
diff --git a/kernel/os/test/src/testcases/os_sem_test_case_4.c 
b/kernel/os/test/src/testcases/os_sem_test_case_4.c
index 3a04a19..0ddd9b7 100644
--- a/kernel/os/test/src/testcases/os_sem_test_case_4.c
+++ b/kernel/os/test/src/testcases/os_sem_test_case_4.c
@@ -26,18 +26,14 @@ TEST_CASE(os_sem_test_case_4)
     TEST_ASSERT(err == OS_OK);
 
     os_task_init(&task1, "task1", sem_test_sleep_task_handler, NULL,
-                 TASK1_PRIO, OS_WAIT_FOREVER, stack1,
-                 sizeof(stack1));
+                 TASK1_PRIO, OS_WAIT_FOREVER, stack1, stack1_size);
 
     os_task_init(&task2, "task2", sem_test_4_task2_handler, NULL,
-                 TASK2_PRIO, OS_WAIT_FOREVER, stack2,
-                 sizeof(stack2));
+                 TASK2_PRIO, OS_WAIT_FOREVER, stack2, stack2_size);
 
     os_task_init(&task3, "task3", sem_test_4_task3_handler, NULL,
-                 TASK3_PRIO, OS_WAIT_FOREVER, stack3,
-                 sizeof(stack3));
+                 TASK3_PRIO, OS_WAIT_FOREVER, stack3, stack3_size);
 
     os_task_init(&task4, "task4", sem_test_4_task4_handler, NULL,
-                 TASK4_PRIO, OS_WAIT_FOREVER, stack4,
-                 sizeof(stack4));
+                 TASK4_PRIO, OS_WAIT_FOREVER, stack4, stack4_size);
 }

Reply via email to