Fix timer test
authorbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 13 Aug 2008 12:06:56 +0000 (12:06 +0000)
committerbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 13 Aug 2008 12:06:56 +0000 (12:06 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1638 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/drv/timer.c
bertos/emul/timer_posix.c
bertos/rules.mk
bertos/run_tests.sh

index f49f6a86ba24799b1c0a252136ea5d8a2d42b46e..333d6cd83282ed7886b728b43c68861cbeeb697d 100644 (file)
@@ -27,8 +27,7 @@
  * the GNU General Public License.
  *
  * Copyright 2003, 2004, 2005, 2006 Develer S.r.l. (http://www.develer.com/)
- * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
- *
+ * Copyright 2000, 2008 Bernie Innocenti <bernie@codewiz.org>
  * -->
  *
  * \brief Hardware independent timer driver (implementation)
index b83480571ac8c830f903a8707429bf8e720875a4..c372bae1c8b6db7b51a70dfeac34e40cb9bc2bfc 100644 (file)
  * invalidate any other reasons why the executable file might be covered by
  * the GNU General Public License.
  *
- * Copyright 2005,2008 Develer S.r.l. (http://www.develer.com/)
- *
+ * Copyright 2005, 2008 Develer S.r.l. (http://www.develer.com/)
  * -->
  *
  * \version $Id$
  *
  * \author Bernie Innocenti <bernie@codewiz.org>
- *
  * \brief Low-level timer module for Qt emulator (implementation).
  */
 #include <cfg/compiler.h> // hptime.t
@@ -61,7 +59,7 @@ static void timer_hw_init(void)
        sigaction(SIGALRM, &sa, NULL);
 
        // Setup POSIX realtime timer to interrupt every 1/TIMER_TICKS_PER_SEC.
-       static struct itimerval itv =
+       static const struct itimerval itv =
        {
                { 0, 1000000 / TIMER_TICKS_PER_SEC }, /* it_interval */
                { 0, 1000000 / TIMER_TICKS_PER_SEC }  /* it_value */
@@ -69,6 +67,16 @@ static void timer_hw_init(void)
        setitimer(ITIMER_REAL, &itv, NULL);
 }
 
+static void timer_hw_cleanup(void)
+{
+       static const struct itimerval itv =
+       {
+               { 0, 0 }, /* it_interval */
+               { 0, 0 }  /* it_value */
+       };
+       setitimer(ITIMER_REAL, &itv, NULL);
+}
+
 INLINE hptime_t timer_hw_hpread(void)
 {
        return hptime_get();
index beb8f04723f3c6c41f9391f961bbc851c68da7f6..f898fcd94940f32e55456cec3970acfc2861908b 100644 (file)
@@ -63,7 +63,7 @@ tags:
 .PHONY: check
 check:
        $L "Running testsuite"
-       $Q ./run_tests.sh
+       $Q bertos/run_tests.sh
 
 define build_target
 
index 77689f48353b5a93f9057802fcc20cc55f44d582..349dc9ef4ea613098305fb3d3ac12e9847d2382d 100755 (executable)
@@ -11,7 +11,7 @@
 VERBOSE=1
 
 CC=gcc
-CFLAGS="-W -Wall -Wextra -I. -Iemul -std=gnu99 -fno-builtin -D_DEBUG -D_TEST -DARCH=ARCH_EMUL"
+CFLAGS="-W -Wall -Wextra -Ibertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -D_TEST -DARCH=ARCH_EMUL"
 
 CXX=g++
 CXXFLAGS="$CFLAGS"
@@ -22,14 +22,14 @@ for test in $TESTS; do
        [ $VERBOSE -gt 0 ] && echo "Running $test..."
        case "$test" in
        *.cpp)
-               $CXX $CXXFLAGS $test -o test || exit 1
-               ./test || exit 1
-               rm -f test
+               $CXX $CXXFLAGS $test -o images/testcase || exit 1
+               ./testcase || echo "FAILED: $test"
+               rm -f testcase
        ;;
        *.c)
-               $CC $CFLAGS $test -o test || exit 1
-               ./test || exit 1
-               rm -f test
+               $CC $CFLAGS $test -o testcase || exit 1
+               ./testcase || echo "FAILED: $test"
+               rm -f testcase
        ;;
        esac
 done