diff options
Diffstat (limited to 'testsuites/sptests')
102 files changed, 436 insertions, 1184 deletions
diff --git a/testsuites/sptests/sp07/system.h b/testsuites/sptests/sp07/system.h index cc5f4eb6e7..bcd7b50d1c 100644 --- a/testsuites/sptests/sp07/system.h +++ b/testsuites/sptests/sp07/system.h @@ -111,7 +111,7 @@ TEST_EXTERN int Task_restarted[ RTEMS_ARRAY_SIZE( Task_id ) ]; TEST_EXTERN int Task_deleted[ RTEMS_ARRAY_SIZE( Task_id ) ]; -RTEMS_INLINE_ROUTINE void assert_extension_counts( const int *table, int tasks ) +static inline void assert_extension_counts( const int *table, int tasks ) { size_t i; diff --git a/testsuites/sptests/sp2038/init.c b/testsuites/sptests/sp2038/init.c index c280e79b7c..89462beb84 100644 --- a/testsuites/sptests/sp2038/init.c +++ b/testsuites/sptests/sp2038/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2011, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2011, 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sp2038/sp2038.doc b/testsuites/sptests/sp2038/sp2038.doc index 7f5d3ff7ae..056814a58e 100644 --- a/testsuites/sptests/sp2038/sp2038.doc +++ b/testsuites/sptests/sp2038/sp2038.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2011 embedded brains GmbH. All rights reserved. +# Copyright (c) 2011 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sp21/sp21.scn b/testsuites/sptests/sp21/sp21.scn index 6c099dfc13..87c798d5bd 100644 --- a/testsuites/sptests/sp21/sp21.scn +++ b/testsuites/sptests/sp21/sp21.scn @@ -25,8 +25,5 @@ rtems_io_register_driver - RTEMS_SUCCESSFUL - overwrite NULL rtems_io_register_driver - RTEMS_TOO_MANY - no slots rtems_io_register_driver - RTEMS_RESOURCE_IN_USE - major in use rtems_io_unregister_driver - RTEMS_SUCCESSFUL -rtems_io_lookup_name( "", &info ) - RTEMS_UNSATISFIED -rtems_io_lookup_name( "/dev", &info ) - RTEMS_UNSATISFIED -rtems_io_lookup_name( "/dev/null", &info ) - RTEMS_SUCCESSFUL ----- TESTING THE ZERO DRIVER CHECKS ----- *** END OF TEST 21 *** diff --git a/testsuites/sptests/sp31/task1.c b/testsuites/sptests/sp31/task1.c index 3bb56cd99d..09580ee457 100644 --- a/testsuites/sptests/sp31/task1.c +++ b/testsuites/sptests/sp31/task1.c @@ -4,7 +4,7 @@ * COPYRIGHT (c) 1989-2011. * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2009 embedded brains GmbH. + * Copyright (c) 2009 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sp37/init.c b/testsuites/sptests/sp37/init.c index 2ee21b592e..e8af725a75 100644 --- a/testsuites/sptests/sp37/init.c +++ b/testsuites/sptests/sp37/init.c @@ -40,6 +40,8 @@ #define CONFIGURE_INIT #include "system.h" +#include <rtems/sysinit.h> + const char rtems_test_name[] = "SP 37"; /* prototypes */ @@ -67,6 +69,19 @@ rtems_timer_service_routine test_isr_in_progress( #define TEST_ISR_EVENT RTEMS_EVENT_0 +static uint32_t boot_isr_level; + +static void set_boot_isr_level( void ) +{ + boot_isr_level = _ISR_Get_level(); +} + +RTEMS_SYSINIT_ITEM( + set_boot_isr_level, + RTEMS_SYSINIT_DEVICE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); + typedef struct { ISR_Level actual_level; rtems_id master_task_id; @@ -154,6 +169,9 @@ static void test_isr_level( void ) ISR_Level current = 0; ISR_Level last_proper_level; + /* Interrupts shall be disabled during system initialization */ + rtems_test_assert( boot_isr_level != 0 ); + _ISR_Set_level( current ); rtems_test_assert( _ISR_Get_level() == current ); diff --git a/testsuites/sptests/sp40/init.c b/testsuites/sptests/sp40/init.c index ae7aba0a63..523e074cc6 100644 --- a/testsuites/sptests/sp40/init.c +++ b/testsuites/sptests/sp40/init.c @@ -6,7 +6,7 @@ * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2009 embedded brains GmbH. + * Copyright (c) 2009 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sp68/init.c b/testsuites/sptests/sp68/init.c index 8e0bd1c8c8..6f8d02e945 100644 --- a/testsuites/sptests/sp68/init.c +++ b/testsuites/sptests/sp68/init.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2009-2015 embedded brains GmbH. + * Copyright (C) 2009, 2015 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sp68/sp68.doc b/testsuites/sptests/sp68/sp68.doc index 5402d5d3ea..91e385ef2f 100644 --- a/testsuites/sptests/sp68/sp68.doc +++ b/testsuites/sptests/sp68/sp68.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2009 embedded brains GmbH. +# Copyright (c) 2009 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spatomic01/init.c b/testsuites/sptests/spatomic01/init.c index 5c9599205a..58414b042a 100644 --- a/testsuites/sptests/spatomic01/init.c +++ b/testsuites/sptests/spatomic01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2015 embedded brains GmbH. All rights reserved. + * Copyright (C) 2013, 2015 embedded brains GmbH & Co. KG * * Copyright (c) 2013 Deng Hengyi. * diff --git a/testsuites/sptests/spcache01/init.c b/testsuites/sptests/spcache01/init.c index 4b64a1da75..89fe6794fe 100644 --- a/testsuites/sptests/spcache01/init.c +++ b/testsuites/sptests/spcache01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014, 2017 embedded brains GmbH. All rights reserved. + * Copyright (C) 2014, 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spclock_err01/init.c b/testsuites/sptests/spclock_err01/init.c index 889f03e8ae..b6d5f196af 100644 --- a/testsuites/sptests/spclock_err01/init.c +++ b/testsuites/sptests/spclock_err01/init.c @@ -226,4 +226,5 @@ rtems_task Init( print_time( "TA1 - current time - ", &time, "\n" ); TEST_END(); + rtems_test_exit( 0 ); } diff --git a/testsuites/sptests/spclock_err02/init.c b/testsuites/sptests/spclock_err02/init.c index 11061ccc58..91519fbf43 100644 --- a/testsuites/sptests/spclock_err02/init.c +++ b/testsuites/sptests/spclock_err02/init.c @@ -136,6 +136,7 @@ rtems_task Init( print_time( "TA1 - rtems_clock_get_tod - ", &time, " - RTEMS_SUCCESSFUL\n" ); TEST_END(); + rtems_test_exit( 0 ); } #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER diff --git a/testsuites/sptests/spconfig01/init.c b/testsuites/sptests/spconfig01/init.c index 8aa2b26857..90157028a9 100644 --- a/testsuites/sptests/spconfig01/init.c +++ b/testsuites/sptests/spconfig01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spconfig02/init.c b/testsuites/sptests/spconfig02/init.c index 91f687c8fb..f25ff5efe7 100644 --- a/testsuites/sptests/spconfig02/init.c +++ b/testsuites/sptests/spconfig02/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spconsole01/init.c b/testsuites/sptests/spconsole01/init.c index 36ab3c5d38..87924a35dc 100644 --- a/testsuites/sptests/spconsole01/init.c +++ b/testsuites/sptests/spconsole01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spcontext01/init.c b/testsuites/sptests/spcontext01/init.c index 5382e035b8..d8d0a2d3aa 100644 --- a/testsuites/sptests/spcontext01/init.c +++ b/testsuites/sptests/spcontext01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2013-2015 embedded brains GmbH. All rights reserved. + * Copyright (C) 2013, 2015 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spcpucounter01/init.c b/testsuites/sptests/spcpucounter01/init.c index fca5cda6ce..0022806ec6 100644 --- a/testsuites/sptests/spcpucounter01/init.c +++ b/testsuites/sptests/spcpucounter01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2014, 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spcxx01/init.cc b/testsuites/sptests/spcxx01/init.cc index b7be220092..0f1412f292 100644 --- a/testsuites/sptests/spcxx01/init.cc +++ b/testsuites/sptests/spcxx01/init.cc @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2018 embedded brains GmbH + * Copyright (C) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/speventsystem01/init.c b/testsuites/sptests/speventsystem01/init.c index 5ea56de474..063e161a71 100644 --- a/testsuites/sptests/speventsystem01/init.c +++ b/testsuites/sptests/speventsystem01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/speventtransient01/init.c b/testsuites/sptests/speventtransient01/init.c index 3c4d60098d..c07a77d710 100644 --- a/testsuites/sptests/speventtransient01/init.c +++ b/testsuites/sptests/speventtransient01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spextensions01/init.c b/testsuites/sptests/spextensions01/init.c index ceae2d3062..59a22293c1 100644 --- a/testsuites/sptests/spextensions01/init.c +++ b/testsuites/sptests/spextensions01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 embedded brains GmbH. All rights reserved. + * Copyright (C) 2016, 2017 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spfatal26/init.c b/testsuites/sptests/spfatal26/init.c index a23ff7dbce..892d4b941d 100644 --- a/testsuites/sptests/spfatal26/init.c +++ b/testsuites/sptests/spfatal26/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012, 2018 embedded brains GmbH. All rights reserved. + * Copyright (C) 2012, 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal28/init.c b/testsuites/sptests/spfatal28/init.c index 77ff9a7606..17da04ff7f 100644 --- a/testsuites/sptests/spfatal28/init.c +++ b/testsuites/sptests/spfatal28/init.c @@ -7,7 +7,7 @@ #include "../spfatal_support/spfatal.h" /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal29/init.c b/testsuites/sptests/spfatal29/init.c index 74a06488a7..6da87fdaab 100644 --- a/testsuites/sptests/spfatal29/init.c +++ b/testsuites/sptests/spfatal29/init.c @@ -7,7 +7,7 @@ #include "../spfatal_support/spfatal.h" /* - * Copyright (c) 2016 embedded brains GmbH. All rights reserved. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal30/init.c b/testsuites/sptests/spfatal30/init.c index eecfacd4ab..e6656e1694 100644 --- a/testsuites/sptests/spfatal30/init.c +++ b/testsuites/sptests/spfatal30/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal31/init.c b/testsuites/sptests/spfatal31/init.c index 6dfdbbb386..9d93988628 100644 --- a/testsuites/sptests/spfatal31/init.c +++ b/testsuites/sptests/spfatal31/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal32/init.c b/testsuites/sptests/spfatal32/init.c index 1a1e0bee79..48979cebd8 100644 --- a/testsuites/sptests/spfatal32/init.c +++ b/testsuites/sptests/spfatal32/init.c @@ -7,7 +7,7 @@ #include "../spfatal_support/spfatal.h" /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal33/init.c b/testsuites/sptests/spfatal33/init.c index a7218c596f..f60e3d38d9 100644 --- a/testsuites/sptests/spfatal33/init.c +++ b/testsuites/sptests/spfatal33/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal34/init.c b/testsuites/sptests/spfatal34/init.c index 5c2ab0e735..608a50fcdb 100644 --- a/testsuites/sptests/spfatal34/init.c +++ b/testsuites/sptests/spfatal34/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spfatal36/init.c b/testsuites/sptests/spfatal36/init.c new file mode 100644 index 0000000000..b5e0fbdeed --- /dev/null +++ b/testsuites/sptests/spfatal36/init.c @@ -0,0 +1,63 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2022 embedded brains GmbH & Co. KG + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "../spfatal_support/spfatal.h" + +#include <rtems/sysinit.h> +#include <rtems/score/heapimpl.h> +#include <rtems/score/wkspace.h> + +#define FATAL_ERROR_TEST_NAME "36" + +#define FATAL_ERROR_DESCRIPTION "failure in idle task storage allocation" + +#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_CORE + +#define FATAL_ERROR_EXPECTED_ERROR \ + INTERNAL_ERROR_NO_MEMORY_FOR_IDLE_TASK_STORAGE + +static void force_error( void ) +{ + RTEMS_UNREACHABLE(); +} + +static void empty_workspace( void ) +{ + (void) _Heap_Greedy_allocate( &_Workspace_Area, NULL, 0 ); +} + +RTEMS_SYSINIT_ITEM( + empty_workspace, + RTEMS_SYSINIT_IDLE_THREADS, + RTEMS_SYSINIT_ORDER_FIRST +); + +#include "../spfatal_support/spfatalimpl.h" diff --git a/testsuites/sptests/spfatal36/spfatal36.doc b/testsuites/sptests/spfatal36/spfatal36.doc new file mode 100644 index 0000000000..0719e8e01c --- /dev/null +++ b/testsuites/sptests/spfatal36/spfatal36.doc @@ -0,0 +1,11 @@ +This file describes the concepts tested by this test set. + +test set name: spfatal36 + +directives: + + - _Stack_Allocator_allocate_for_idle_workspace() + +concepts: + + - Provoke a memory allocation failure in the directive. diff --git a/testsuites/sptests/spglobalcon01/init.cc b/testsuites/sptests/spglobalcon01/init.cc index 661b828ddc..e81ae9b88b 100644 --- a/testsuites/sptests/spglobalcon01/init.cc +++ b/testsuites/sptests/spglobalcon01/init.cc @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spglobalcon02/init.c b/testsuites/sptests/spglobalcon02/init.c index 62d719cea3..bf7bcc080b 100644 --- a/testsuites/sptests/spglobalcon02/init.c +++ b/testsuites/sptests/spglobalcon02/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spheapprot/init.c b/testsuites/sptests/spheapprot/init.c index e448b91590..8cda04ba95 100644 --- a/testsuites/sptests/spheapprot/init.c +++ b/testsuites/sptests/spheapprot/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spheapprot/spheapprot.doc b/testsuites/sptests/spheapprot/spheapprot.doc index 0ac3545ece..24660789ca 100644 --- a/testsuites/sptests/spheapprot/spheapprot.doc +++ b/testsuites/sptests/spheapprot/spheapprot.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2010 embedded brains GmbH. All rights reserved. +# Copyright (c) 2010 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spinternalerror01/init.c b/testsuites/sptests/spinternalerror01/init.c index 092443fbf2..78d59b832d 100644 --- a/testsuites/sptests/spinternalerror01/init.c +++ b/testsuites/sptests/spinternalerror01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spinternalerror02/init.c b/testsuites/sptests/spinternalerror02/init.c index 08aeabd3a7..961321cb23 100644 --- a/testsuites/sptests/spinternalerror02/init.c +++ b/testsuites/sptests/spinternalerror02/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2012, 2020 embedded brains GmbH. All rights reserved. + * Copyright (C) 2012, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -49,7 +49,7 @@ static void test_internal_error_text(void) } while ( text != text_last ); rtems_test_assert( - error - 3 == INTERNAL_ERROR_RTEMS_INIT_TASK_CONSTRUCT_FAILED + error - 3 == INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL ); } diff --git a/testsuites/sptests/spintrcritical01/spintrcritical01impl.h b/testsuites/sptests/spintrcritical01/spintrcritical01impl.h index f963204647..8f18e08d0c 100644 --- a/testsuites/sptests/spintrcritical01/spintrcritical01impl.h +++ b/testsuites/sptests/spintrcritical01/spintrcritical01impl.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical08/init.c b/testsuites/sptests/spintrcritical08/init.c index fe9d696d01..d8cf13740b 100644 --- a/testsuites/sptests/spintrcritical08/init.c +++ b/testsuites/sptests/spintrcritical08/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical09/init.c b/testsuites/sptests/spintrcritical09/init.c index 206d336ecb..f63d19ac63 100644 --- a/testsuites/sptests/spintrcritical09/init.c +++ b/testsuites/sptests/spintrcritical09/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical10/init.c b/testsuites/sptests/spintrcritical10/init.c index b0f8f23075..d69af9cabd 100644 --- a/testsuites/sptests/spintrcritical10/init.c +++ b/testsuites/sptests/spintrcritical10/init.c @@ -4,7 +4,7 @@ * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2013, 2020 embedded brains GmbH. + * Copyright (C) 2013, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spintrcritical11/spintrcritical11impl.h b/testsuites/sptests/spintrcritical11/spintrcritical11impl.h index e3a029f086..73f0dd66ba 100644 --- a/testsuites/sptests/spintrcritical11/spintrcritical11impl.h +++ b/testsuites/sptests/spintrcritical11/spintrcritical11impl.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical13/spintrcritical13impl.h b/testsuites/sptests/spintrcritical13/spintrcritical13impl.h index 7d95551526..3b7604ac92 100644 --- a/testsuites/sptests/spintrcritical13/spintrcritical13impl.h +++ b/testsuites/sptests/spintrcritical13/spintrcritical13impl.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical15/init.c b/testsuites/sptests/spintrcritical15/init.c index 46c0805580..3295b6214b 100644 --- a/testsuites/sptests/spintrcritical15/init.c +++ b/testsuites/sptests/spintrcritical15/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical16/init.c b/testsuites/sptests/spintrcritical16/init.c index 80763391ea..612f92f4e1 100644 --- a/testsuites/sptests/spintrcritical16/init.c +++ b/testsuites/sptests/spintrcritical16/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical18/init.c b/testsuites/sptests/spintrcritical18/init.c index 0a8aadda35..61ff82df55 100644 --- a/testsuites/sptests/spintrcritical18/init.c +++ b/testsuites/sptests/spintrcritical18/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2012, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2012, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spintrcritical20/init.c b/testsuites/sptests/spintrcritical20/init.c index 81fc8cb34f..c1521c8969 100644 --- a/testsuites/sptests/spintrcritical20/init.c +++ b/testsuites/sptests/spintrcritical20/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2013, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2013, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spintrcritical21/init.c b/testsuites/sptests/spintrcritical21/init.c index 14b4d3f0d9..6c675e1669 100644 --- a/testsuites/sptests/spintrcritical21/init.c +++ b/testsuites/sptests/spintrcritical21/init.c @@ -3,7 +3,7 @@ /* * Classic API Signal to Task from ISR * - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * COPYRIGHT (c) 1989-2011. * On-Line Applications Research Corporation (OAR). diff --git a/testsuites/sptests/spintrcritical22/init.c b/testsuites/sptests/spintrcritical22/init.c index d38bbbf0b2..73c9c6226c 100644 --- a/testsuites/sptests/spintrcritical22/init.c +++ b/testsuites/sptests/spintrcritical22/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2014, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spintrcritical23/init.c b/testsuites/sptests/spintrcritical23/init.c index 1d52b8f9a1..ebc50fdb2d 100644 --- a/testsuites/sptests/spintrcritical23/init.c +++ b/testsuites/sptests/spintrcritical23/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2015, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spintrcritical24/init.c b/testsuites/sptests/spintrcritical24/init.c index 7392ee04e2..6f686b1564 100644 --- a/testsuites/sptests/spintrcritical24/init.c +++ b/testsuites/sptests/spintrcritical24/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2017, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/splinkersets01/content.c b/testsuites/sptests/splinkersets01/content.c index 2179342a50..5dedcb9060 100644 --- a/testsuites/sptests/splinkersets01/content.c +++ b/testsuites/sptests/splinkersets01/content.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/splinkersets01/init.c b/testsuites/sptests/splinkersets01/init.c index 87d9558a87..059b4e230c 100644 --- a/testsuites/sptests/splinkersets01/init.c +++ b/testsuites/sptests/splinkersets01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/splinkersets01/item-a.c b/testsuites/sptests/splinkersets01/item-a.c index d0f615a97d..305c952d83 100644 --- a/testsuites/sptests/splinkersets01/item-a.c +++ b/testsuites/sptests/splinkersets01/item-a.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/splinkersets01/item-ca.c b/testsuites/sptests/splinkersets01/item-ca.c index 9e09f68b33..e85c0c0855 100644 --- a/testsuites/sptests/splinkersets01/item-ca.c +++ b/testsuites/sptests/splinkersets01/item-ca.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/splinkersets01/sets.c b/testsuites/sptests/splinkersets01/sets.c index f7e1d222d4..a7b930dbf5 100644 --- a/testsuites/sptests/splinkersets01/sets.c +++ b/testsuites/sptests/splinkersets01/sets.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2015 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/splinkersets01/splinkersets01.h b/testsuites/sptests/splinkersets01/splinkersets01.h index 82d1b188e0..0581204765 100644 --- a/testsuites/sptests/splinkersets01/splinkersets01.h +++ b/testsuites/sptests/splinkersets01/splinkersets01.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spmisc01/init.c b/testsuites/sptests/spmisc01/init.c index d7658fc9b7..8c46245af9 100644 --- a/testsuites/sptests/spmisc01/init.c +++ b/testsuites/sptests/spmisc01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2018, 2019 embedded brains GmbH + * Copyright (C) 2018, 2019 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -122,9 +122,14 @@ static int obfuscate_variable(int i) return i; } +static int global_symbol_base; + RTEMS_DECLARE_GLOBAL_SYMBOL(a_global_symbol); -RTEMS_DEFINE_GLOBAL_SYMBOL(a_global_symbol, 0xabc); +RTEMS_DEFINE_GLOBAL_SYMBOL( + a_global_symbol, + RTEMS_SYMBOL_NAME(global_symbol_base) + 0xabc +); RTEMS_STATIC_ASSERT(0 != 1, zero_neq_one); @@ -243,7 +248,9 @@ static void Init(rtems_task_argument arg) unreachable(); rtems_test_assert(printflike_func("%i", 0) == 56); rtems_test_assert(obfuscate_variable(63) == 63); - rtems_test_assert((uintptr_t)a_global_symbol == 0xabc); + rtems_test_assert( + (uintptr_t) a_global_symbol - (uintptr_t) &global_symbol_base == 0xabc + ); rtems_test_assert(RTEMS_ARRAY_SIZE(array) == 3); rtems_test_assert(sizeof(zero_length_array_struct) == 4); container_of(); diff --git a/testsuites/sptests/spmisc01/spmisc01.h b/testsuites/sptests/spmisc01/spmisc01.h index 6dbf9ca23c..ee04e36cde 100644 --- a/testsuites/sptests/spmisc01/spmisc01.h +++ b/testsuites/sptests/spmisc01/spmisc01.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spmisc01/strong.c b/testsuites/sptests/spmisc01/strong.c index 6a3d9c8561..d330e5ed44 100644 --- a/testsuites/sptests/spmisc01/strong.c +++ b/testsuites/sptests/spmisc01/strong.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spmkdir/init.c b/testsuites/sptests/spmkdir/init.c index dd9b3aab7d..7eea58d86d 100644 --- a/testsuites/sptests/spmkdir/init.c +++ b/testsuites/sptests/spmkdir/init.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spmrsp01/init.c b/testsuites/sptests/spmrsp01/init.c index 40111dc806..a5c130e1c2 100644 --- a/testsuites/sptests/spmrsp01/init.c +++ b/testsuites/sptests/spmrsp01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spmutex01/init.c b/testsuites/sptests/spmutex01/init.c index f6e3a987f2..12590317c5 100644 --- a/testsuites/sptests/spmutex01/init.c +++ b/testsuites/sptests/spmutex01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015, 2017 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spnsext01/init.c b/testsuites/sptests/spnsext01/init.c index a786574032..b45da45a49 100644 --- a/testsuites/sptests/spnsext01/init.c +++ b/testsuites/sptests/spnsext01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2011 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spnsext01/spnsext01.doc b/testsuites/sptests/spnsext01/spnsext01.doc index 7e926c6899..27c9f0c32e 100644 --- a/testsuites/sptests/spnsext01/spnsext01.doc +++ b/testsuites/sptests/spnsext01/spnsext01.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2011 embedded brains GmbH. All rights reserved. +# Copyright (c) 2011 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spntp01/init.c b/testsuites/sptests/spntp01/init.c index eb5b1ca56c..f6f6252bcf 100644 --- a/testsuites/sptests/spntp01/init.c +++ b/testsuites/sptests/spntp01/init.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sppercpudata01/init.c b/testsuites/sptests/sppercpudata01/init.c index d76ba94d28..24ad75b607 100644 --- a/testsuites/sptests/sppercpudata01/init.c +++ b/testsuites/sptests/sppercpudata01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sppercpudata01/item.c b/testsuites/sptests/sppercpudata01/item.c index 4a6ee46c8b..295e2855ee 100644 --- a/testsuites/sptests/sppercpudata01/item.c +++ b/testsuites/sptests/sppercpudata01/item.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sppercpudata01/sppercpudata01.h b/testsuites/sptests/sppercpudata01/sppercpudata01.h index 1dde0071c8..2913d3456f 100644 --- a/testsuites/sptests/sppercpudata01/sppercpudata01.h +++ b/testsuites/sptests/sppercpudata01/sppercpudata01.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * Copyright (c) 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spprintk/init.c b/testsuites/sptests/spprintk/init.c index f8fe224086..4fc1c0cc97 100644 --- a/testsuites/sptests/spprintk/init.c +++ b/testsuites/sptests/spprintk/init.c @@ -32,7 +32,8 @@ #include "config.h" #endif -#include <rtems/score/io.h> +#include <rtems/base64.h> +#include <rtems/dev/io.h> /* * Undefined the RTEMS_PRINTFLIKE and make it nothing. The test code @@ -212,52 +213,52 @@ static void test_io_base64( test_context *ctx ) int n; clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 9, "\n", 0 ); + n = _Base64_Encode( put_char, ctx, buf, 9, "\n", 0 ); rtems_test_assert( n == 14 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZGVm\nZ2hp" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 8, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 8, "\n", 4 ); rtems_test_assert( n == 14 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZGVm\nZ2g=" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 7, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 7, "\n", 4 ); rtems_test_assert( n == 14 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZGVm\nZw==" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 6, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 6, "\n", 4 ); rtems_test_assert( n == 9 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZGVm" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 5, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 5, "\n", 4 ); rtems_test_assert( n == 9 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZGU=" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 4, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 4, "\n", 4 ); rtems_test_assert( n == 9 ); rtems_test_assert( strcmp( ctx->buf, "YWJj\nZA==" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 3, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 3, "\n", 4 ); rtems_test_assert( n == 4 ); rtems_test_assert( strcmp( ctx->buf, "YWJj" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 2, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 2, "\n", 4 ); rtems_test_assert( n == 4 ); rtems_test_assert( strcmp( ctx->buf, "YWI=" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 1, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 1, "\n", 4 ); rtems_test_assert( n == 4 ); rtems_test_assert( strcmp( ctx->buf, "YQ==" ) == 0 ); clear( ctx ); - n = _IO_Base64( put_char, ctx, buf, 0, "\n", 4 ); + n = _Base64_Encode( put_char, ctx, buf, 0, "\n", 4 ); rtems_test_assert( n == 0 ); } @@ -267,7 +268,7 @@ static void test_io_base64url( test_context *ctx ) int n; clear( ctx ); - n = _IO_Base64url( put_char, ctx, buf, sizeof( buf ), "\n", 0 ); + n = _Base64url_Encode( put_char, ctx, buf, sizeof( buf ), "\n", 0 ); rtems_test_assert( n == 9 ); rtems_test_assert( strcmp( ctx->buf, "AAA-\nAAA_" ) == 0 ); } diff --git a/testsuites/sptests/spprofiling01/init.c b/testsuites/sptests/spprofiling01/init.c index 8750f18a06..aa8a7b7098 100644 --- a/testsuites/sptests/spprofiling01/init.c +++ b/testsuites/sptests/spprofiling01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spscheduler01/init.c b/testsuites/sptests/spscheduler01/init.c index 577d294cf6..c2dfc954fc 100644 --- a/testsuites/sptests/spscheduler01/init.c +++ b/testsuites/sptests/spscheduler01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2014, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spsem03/init.c b/testsuites/sptests/spsem03/init.c index aef3f8cf7d..11e6cb6827 100644 --- a/testsuites/sptests/spsem03/init.c +++ b/testsuites/sptests/spsem03/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2014, 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spstdthreads01/init.c b/testsuites/sptests/spstdthreads01/init.c index 01dcc8e312..d1cacc1705 100644 --- a/testsuites/sptests/spstdthreads01/init.c +++ b/testsuites/sptests/spstdthreads01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2015 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spstkalloc02/init.c b/testsuites/sptests/spstkalloc02/init.c index 3613a6a563..30803bfc8e 100644 --- a/testsuites/sptests/spstkalloc02/init.c +++ b/testsuites/sptests/spstkalloc02/init.c @@ -9,7 +9,7 @@ */ /* - * Copyright (c) 2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2011 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -44,6 +44,7 @@ const char rtems_test_name[] = "SPSTKALLOC 2"; #include <stdio.h> #include <inttypes.h> +#include <rtems/malloc.h> #include <rtems/score/heapimpl.h> #define TASK_COUNT 5 @@ -56,6 +57,8 @@ static void task_stack_init(size_t stack_space_size); static void *task_stack_allocate(size_t stack_size); +static void *task_stack_allocate_for_idle(uint32_t unused, size_t *stack_size); + static void task_stack_free(void *addr); static void print_info(void) @@ -149,6 +152,7 @@ static rtems_task Init(rtems_task_argument argument) #define CONFIGURE_TASK_STACK_ALLOCATOR_INIT task_stack_init #define CONFIGURE_TASK_STACK_ALLOCATOR task_stack_allocate +#define CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE task_stack_allocate_for_idle #define CONFIGURE_TASK_STACK_DEALLOCATOR task_stack_free #define CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE #define CONFIGURE_TASK_STACK_FROM_ALLOCATOR(stack_size) \ @@ -183,6 +187,15 @@ static void *task_stack_allocate(size_t stack_size) return _Heap_Allocate(&task_stack_heap, stack_size); } +static void *task_stack_allocate_for_idle(uint32_t unused, size_t *stack_size) +{ + return rtems_heap_allocate_aligned_with_boundary( + *stack_size, + CPU_STACK_ALIGNMENT, + 0 + ); +} + static void task_stack_free(void *addr) { _Heap_Free(&task_stack_heap, addr); diff --git a/testsuites/sptests/spstkalloc02/spstkalloc02.doc b/testsuites/sptests/spstkalloc02/spstkalloc02.doc index f4c09b4558..96cdfb52c2 100644 --- a/testsuites/sptests/spstkalloc02/spstkalloc02.doc +++ b/testsuites/sptests/spstkalloc02/spstkalloc02.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2011 embedded brains GmbH. +# Copyright (c) 2011 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spstkalloc03/init.c b/testsuites/sptests/spstkalloc03/init.c index 6d6817bccb..5ee7de26ec 100644 --- a/testsuites/sptests/spstkalloc03/init.c +++ b/testsuites/sptests/spstkalloc03/init.c @@ -87,12 +87,12 @@ static void thread_stacks_free(void *addr) static void *thread_stacks_allocate_for_idle( uint32_t cpu, - size_t stack_size + size_t *stack_size ) { rtems_test_assert(thread_stacks_count == 0); thread_stacks_count++; - return allocate_helper(stack_size); + return allocate_helper(*stack_size); } /* diff --git a/testsuites/sptests/spstkalloc04/init.c b/testsuites/sptests/spstkalloc04/init.c index c5d2614f64..9678f6e00c 100644 --- a/testsuites/sptests/spstkalloc04/init.c +++ b/testsuites/sptests/spstkalloc04/init.c @@ -69,12 +69,12 @@ static void *allocate_helper(size_t size) static void *thread_stacks_allocate_for_idle( uint32_t cpu, - size_t stack_size + size_t *stack_size ) { rtems_test_assert(thread_stacks_count == 0); thread_stacks_count++; - return allocate_helper(stack_size); + return allocate_helper(*stack_size); } /* diff --git a/testsuites/sptests/spsysinit01/init.c b/testsuites/sptests/spsysinit01/init.c index 1f7c1ada25..f756dc7a23 100644 --- a/testsuites/sptests/spsysinit01/init.c +++ b/testsuites/sptests/spsysinit01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2020 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2020 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -908,7 +908,7 @@ static void do_posix_sem_open(void) sem_t *sem; int rv; - sem = sem_open("sem", O_CREAT | O_RDWR, S_IRWXU | S_IRWXG | S_IRWXO); + sem = sem_open("sem", O_CREAT | O_RDWR, S_IRWXU | S_IRWXG | S_IRWXO, 0); rtems_test_assert(sem != SEM_FAILED); rv = sem_close(sem); diff --git a/testsuites/sptests/spsyslock01/init.c b/testsuites/sptests/spsyslock01/init.c index 01f5ee3fba..74e3d67530 100644 --- a/testsuites/sptests/spsyslock01/init.c +++ b/testsuites/sptests/spsyslock01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptasknopreempt01/init.c b/testsuites/sptests/sptasknopreempt01/init.c index d92bd245e7..5828d602de 100644 --- a/testsuites/sptests/sptasknopreempt01/init.c +++ b/testsuites/sptests/sptasknopreempt01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2015, 2022 embedded brains GmbH + * Copyright (C) 2015, 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spthread01/init.c b/testsuites/sptests/spthread01/init.c index 7cb7d08428..4baf0dba2f 100644 --- a/testsuites/sptests/spthread01/init.c +++ b/testsuites/sptests/spthread01/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/spthreadlife01/init.c b/testsuites/sptests/spthreadlife01/init.c index b2c6634820..c33e8fef35 100644 --- a/testsuites/sptests/spthreadlife01/init.c +++ b/testsuites/sptests/spthreadlife01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014, 2018 embedded brains GmbH. All rights reserved. + * Copyright (C) 2014, 2018 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spthreadq01/init.c b/testsuites/sptests/spthreadq01/init.c index 01977fe00d..bb6423ec4f 100644 --- a/testsuites/sptests/spthreadq01/init.c +++ b/testsuites/sptests/spthreadq01/init.c @@ -4,7 +4,7 @@ * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2016 embedded brains GmbH. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptimecounter01/init.c b/testsuites/sptests/sptimecounter01/init.c index 20a40b4072..ff5fe25a2d 100644 --- a/testsuites/sptests/sptimecounter01/init.c +++ b/testsuites/sptests/sptimecounter01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015, 2019 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2019 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptimecounter01/sptimecounter01.doc b/testsuites/sptests/sptimecounter01/sptimecounter01.doc index 3271e45c88..85a236e68f 100644 --- a/testsuites/sptests/sptimecounter01/sptimecounter01.doc +++ b/testsuites/sptests/sptimecounter01/sptimecounter01.doc @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause -# Copyright (c) 2015 embedded brains GmbH. All rights reserved. +# Copyright (c) 2015 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptimecounter02/init.c b/testsuites/sptests/sptimecounter02/init.c index e13f9713a7..ff05f147de 100644 --- a/testsuites/sptests/sptimecounter02/init.c +++ b/testsuites/sptests/sptimecounter02/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (C) 2015, 2024 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -61,6 +61,8 @@ const char rtems_test_name[] = "SPTIMECOUNTER 2"; typedef struct { rtems_test_parallel_context base; + const char *test_sep; + const char *counter_sep; struct timecounter tc_null; uint32_t binuptime_per_job[CPU_COUNT]; sbintime_t duration_per_job[CPU_COUNT]; @@ -90,6 +92,45 @@ static void install_tc_null(timecounter_context *ctx) rtems_timecounter_install(tc_cpu); } +static void test_print_results( + const char *driver, + timecounter_context *ctx, + size_t active_workers +) +{ + const char *value_sep; + size_t i; + + if (active_workers == 1) { + printf( + "%s{\n" + " \"timecounter\": \"%s\",\n" + " \"counter\": [", + ctx->test_sep, + driver + ); + ctx->test_sep = ", "; + ctx->counter_sep = "\n "; + } + + printf("%s[", ctx->counter_sep); + ctx->counter_sep = "],\n "; + value_sep = ""; + + for (i = 0; i < active_workers; ++i) { + printf( + "%s%" PRIu32, + value_sep, + ctx->binuptime_per_job[i] + ); + value_sep = ", "; + } + + if (active_workers == rtems_scheduler_get_processor_maximum()) { + printf("]\n ]\n }"); + } +} + static rtems_interval test_bintime_init( rtems_test_parallel_context *base, void *arg, @@ -133,25 +174,14 @@ static void test_bintime_fini( timecounter_context *ctx = (timecounter_context *) base; size_t i; - printf(" <BinuptimeTest activeWorker=\"%zu\">\n", active_workers); - for (i = 0; i < active_workers; ++i) { sbintime_t error; - printf( - " <Counter worker=\"%zu\">%" PRIu32 "</Counter>\n" - " <Duration worker=\"%zu\" unit=\"sbintime\">%" PRId64 "</Duration>\n", - i + 1, - ctx->binuptime_per_job[i], - i + 1, - ctx->duration_per_job[i] - ); - error = DURATION_IN_SECONDS * SBT_1S - ctx->duration_per_job[i]; rtems_test_assert(error * error < SBT_1MS * SBT_1MS); } - printf(" </BinuptimeTest>\n"); + test_print_results("Clock Driver", ctx, active_workers); } static rtems_interval test_bintime_null_init( @@ -192,20 +222,7 @@ static void test_bintime_null_fini( size_t active_workers ) { - timecounter_context *ctx = (timecounter_context *) base; - size_t i; - - printf(" <BinuptimeNullTest activeWorker=\"%zu\">\n", active_workers); - - for (i = 0; i < active_workers; ++i) { - printf( - " <Counter worker=\"%zu\">%" PRIu32 "</Counter>\n", - i + 1, - ctx->binuptime_per_job[i] - ); - } - - printf(" </BinuptimeNullTest>\n"); + test_print_results("Null", (timecounter_context *) base, active_workers); } static const rtems_test_parallel_job timecounter_jobs[] = { @@ -231,8 +248,9 @@ static void Init(rtems_task_argument arg) TEST_BEGIN(); - printf("<SPTimecounter01>\n"); + printf("*** BEGIN OF JSON DATA ***\n[\n "); + ctx->test_sep = ""; rtems_test_parallel( &ctx->base, NULL, @@ -240,6 +258,8 @@ static void Init(rtems_task_argument arg) RTEMS_ARRAY_SIZE(timecounter_jobs) ); + printf("\n]\n*** END OF JSON DATA ***\n"); + /* Check for all functions available in the bsd.h user space */ rtems_bsd_bintime(&bt); @@ -255,8 +275,6 @@ static void Init(rtems_task_argument arg) rtems_bsd_getmicrouptime(&tv); rtems_bsd_getnanouptime(&ts); - printf("</SPTimecounter01>\n"); - TEST_END(); rtems_test_exit(0); } diff --git a/testsuites/sptests/sptimecounter02/sptimecounter02.py b/testsuites/sptests/sptimecounter02/sptimecounter02.py index c0cf42bfa0..198255c140 100755 --- a/testsuites/sptests/sptimecounter02/sptimecounter02.py +++ b/testsuites/sptests/sptimecounter02/sptimecounter02.py @@ -1,9 +1,6 @@ -#!/usr/bin/env python - # SPDX-License-Identifier: BSD-2-Clause -# -# Copyright (c) 2016 embedded brains GmbH. All rights reserved. +# Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -25,37 +22,38 @@ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -# +import json import re -import libxml2 -from libxml2 import xmlNode -import matplotlib.pyplot as plt -data = open('sptimecounter02.scn').read() -data = re.sub(r'\*\*\*.*\*\*\*', '', data) -doc = libxml2.parseDoc(data) -ctx = doc.xpathNewContext() - -plt.title('Timestamp Performance') -plt.xlabel('Active Workers') -plt.ylabel('Operation Count') - -def m(n): - return int(n.getContent()) - -def getCounterSums(variant): - w = 1 - y = [] - while True: - c = map(m, ctx.xpathEval('/SPTimecounter01/' + variant + '[@activeWorker="' + str(w) + '"]/Counter')) - if not c: - break - y.append(sum(c)) - w = w + 1 - return y - -y = getCounterSums('BinuptimeTest') -x = range(1, len(y) + 1) -plt.xticks(x) -plt.plot(x, y, marker = 'o') -plt.show() +import matplotlib.pyplot as plt # type: ignore +from matplotlib import ticker # type: ignore + + +def _plot(data: dict) -> None: + _, axes = plt.subplots() + axes.set_title("Timestamp Performance") + axes.set_xlabel("Active Workers") + axes.set_ylabel("Operation Count") + x = list(range(1, len(data[0]["counter"]) + 1)) + axes.xaxis.set_major_locator(ticker.FixedLocator(x)) + for samples in data: + y = [sum(values) for values in samples["counter"]] + axes.plot(x, + y, + label=samples["timecounter"], + marker="o") + axes.legend(loc="best") + plt.savefig("sptimecounter02.png") + plt.savefig("sptimecounter02.pdf") + plt.close() + + +_JSON_DATA = re.compile( + r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)" + r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL) + +with open("sptimecounter02.scn", "r", encoding="utf-8") as src: + match = _JSON_DATA.search(src.read()) + data = json.loads(match.group(1)) + +_plot(data) diff --git a/testsuites/sptests/sptimecounter02/sptimecounter02.scn b/testsuites/sptests/sptimecounter02/sptimecounter02.scn index 0ad38c6f4a..6acc521873 100644 --- a/testsuites/sptests/sptimecounter02/sptimecounter02.scn +++ b/testsuites/sptests/sptimecounter02/sptimecounter02.scn @@ -1,1000 +1,40 @@ + + SIS - SPARC/RISCV instruction simulator 2.30, copyright Jiri Gaisler 2020 + Bug-reports to jiri@gaisler.se + + GR740/LEON4 emulation enabled, 4 cpus online, delta 50 clocks + + Loaded build/sparc/gr740/testsuites/sptests/sptimecounter02.exe, entry 0x00000000 + + *** BEGIN OF TEST SPTIMECOUNTER 2 *** -<SPTimecounter01> - <BinuptimeTest activeWorker="1"> - <Counter worker="1">5433429</Counter> - <Duration worker="1" unit="sbintime">4291225979</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="2"> - <Counter worker="1">3832225</Counter> - <Duration worker="1" unit="sbintime">4290792130</Duration> - <Counter worker="2">3834316</Counter> - <Duration worker="2" unit="sbintime">4290790869</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="3"> - <Counter worker="1">2557440</Counter> - <Duration worker="1" unit="sbintime">4294943244</Duration> - <Counter worker="2">2559261</Counter> - <Duration worker="2" unit="sbintime">4294946681</Duration> - <Counter worker="3">2559529</Counter> - <Duration worker="3" unit="sbintime">4294943817</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="4"> - <Counter worker="1">1916358</Counter> - <Duration worker="1" unit="sbintime">4291303174</Duration> - <Counter worker="2">1918101</Counter> - <Duration worker="2" unit="sbintime">4291303746</Duration> - <Counter worker="3">1918236</Counter> - <Duration worker="3" unit="sbintime">4291301112</Duration> - <Counter worker="4">1918182</Counter> - <Duration worker="4" unit="sbintime">4291303861</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="5"> - <Counter worker="1">1437861</Counter> - <Duration worker="1" unit="sbintime">4292771136</Duration> - <Counter worker="2">1439416</Counter> - <Duration worker="2" unit="sbintime">4292769991</Duration> - <Counter worker="3">1439361</Counter> - <Duration worker="3" unit="sbintime">4292774000</Duration> - <Counter worker="4">1439373</Counter> - <Duration worker="4" unit="sbintime">4292773427</Duration> - <Counter worker="5">1919046</Counter> - <Duration worker="5" unit="sbintime">4292771480</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="6"> - <Counter worker="1">1278255</Counter> - <Duration worker="1" unit="sbintime">4292980616</Duration> - <Counter worker="2">1279690</Counter> - <Duration worker="2" unit="sbintime">4292981762</Duration> - <Counter worker="3">1279546</Counter> - <Duration worker="3" unit="sbintime">4292978440</Duration> - <Counter worker="4">1279558</Counter> - <Duration worker="4" unit="sbintime">4292978096</Duration> - <Counter worker="5">1279611</Counter> - <Duration worker="5" unit="sbintime">4292980043</Duration> - <Counter worker="6">1279619</Counter> - <Duration worker="6" unit="sbintime">4292976150</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="7"> - <Counter worker="1">1022765</Counter> - <Duration worker="1" unit="sbintime">4294000413</Duration> - <Counter worker="2">1024240</Counter> - <Duration worker="2" unit="sbintime">4294002246</Duration> - <Counter worker="3">1024022</Counter> - <Duration worker="3" unit="sbintime">4293998007</Duration> - <Counter worker="4">1024036</Counter> - <Duration worker="4" unit="sbintime">4293998924</Duration> - <Counter worker="5">1024020</Counter> - <Duration worker="5" unit="sbintime">4293998809</Duration> - <Counter worker="6">1024010</Counter> - <Duration worker="6" unit="sbintime">4293999382</Duration> - <Counter worker="7">1535866</Counter> - <Duration worker="7" unit="sbintime">4293999955</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="8"> - <Counter worker="1">958721</Counter> - <Duration worker="1" unit="sbintime">4293767683</Duration> - <Counter worker="2">960000</Counter> - <Duration worker="2" unit="sbintime">4293768599</Duration> - <Counter worker="3">960007</Counter> - <Duration worker="3" unit="sbintime">4293764018</Duration> - <Counter worker="4">960007</Counter> - <Duration worker="4" unit="sbintime">4293764132</Duration> - <Counter worker="5">960030</Counter> - <Duration worker="5" unit="sbintime">4293764705</Duration> - <Counter worker="6">960042</Counter> - <Duration worker="6" unit="sbintime">4293764590</Duration> - <Counter worker="7">960019</Counter> - <Duration worker="7" unit="sbintime">4293768026</Duration> - <Counter worker="8">959998</Counter> - <Duration worker="8" unit="sbintime">4293763446</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="9"> - <Counter worker="1">942346</Counter> - <Duration worker="1" unit="sbintime">4292128953</Duration> - <Counter worker="2">943991</Counter> - <Duration worker="2" unit="sbintime">4292136282</Duration> - <Counter worker="3">940622</Counter> - <Duration worker="3" unit="sbintime">4292123913</Duration> - <Counter worker="4">940597</Counter> - <Duration worker="4" unit="sbintime">4292128494</Duration> - <Counter worker="5">941505</Counter> - <Duration worker="5" unit="sbintime">4292126203</Duration> - <Counter worker="6">941481</Counter> - <Duration worker="6" unit="sbintime">4292126204</Duration> - <Counter worker="7">944352</Counter> - <Duration worker="7" unit="sbintime">4292126089</Duration> - <Counter worker="8">944344</Counter> - <Duration worker="8" unit="sbintime">4292126204</Duration> - <Counter worker="9">5373049</Counter> - <Duration worker="9" unit="sbintime">4292132044</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="10"> - <Counter worker="1">958924</Counter> - <Duration worker="1" unit="sbintime">4292784422</Duration> - <Counter worker="2">960306</Counter> - <Duration worker="2" unit="sbintime">4292785452</Duration> - <Counter worker="3">958656</Counter> - <Duration worker="3" unit="sbintime">4292782704</Duration> - <Counter worker="4">958632</Counter> - <Duration worker="4" unit="sbintime">4292782704</Duration> - <Counter worker="5">960299</Counter> - <Duration worker="5" unit="sbintime">4292781444</Duration> - <Counter worker="6">960321</Counter> - <Duration worker="6" unit="sbintime">4292786026</Duration> - <Counter worker="7">959742</Counter> - <Duration worker="7" unit="sbintime">4292778810</Duration> - <Counter worker="8">959726</Counter> - <Duration worker="8" unit="sbintime">4292783162</Duration> - <Counter worker="9">3835189</Counter> - <Duration worker="9" unit="sbintime">4292783734</Duration> - <Counter worker="10">3835159</Counter> - <Duration worker="10" unit="sbintime">4292782475</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="11"> - <Counter worker="1">958317</Counter> - <Duration worker="1" unit="sbintime">4292020376</Duration> - <Counter worker="2">959720</Counter> - <Duration worker="2" unit="sbintime">4292020490</Duration> - <Counter worker="3">959141</Counter> - <Duration worker="3" unit="sbintime">4292016024</Duration> - <Counter worker="4">959171</Counter> - <Duration worker="4" unit="sbintime">4292020376</Duration> - <Counter worker="5">959183</Counter> - <Duration worker="5" unit="sbintime">4292018199</Duration> - <Counter worker="6">959176</Counter> - <Duration worker="6" unit="sbintime">4292022666</Duration> - <Counter worker="7">960245</Counter> - <Duration worker="7" unit="sbintime">4292020376</Duration> - <Counter worker="8">960256</Counter> - <Duration worker="8" unit="sbintime">4292024041</Duration> - <Counter worker="9">2556834</Counter> - <Duration worker="9" unit="sbintime">4292019460</Duration> - <Counter worker="10">2556892</Counter> - <Duration worker="10" unit="sbintime">4292018314</Duration> - <Counter worker="11">2556777</Counter> - <Duration worker="11" unit="sbintime">4292018543</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="12"> - <Counter worker="1">958527</Counter> - <Duration worker="1" unit="sbintime">4291119807</Duration> - <Counter worker="2">959937</Counter> - <Duration worker="2" unit="sbintime">4291119807</Duration> - <Counter worker="3">959932</Counter> - <Duration worker="3" unit="sbintime">4291120379</Duration> - <Counter worker="4">959924</Counter> - <Duration worker="4" unit="sbintime">4291120380</Duration> - <Counter worker="5">959389</Counter> - <Duration worker="5" unit="sbintime">4291120838</Duration> - <Counter worker="6">959393</Counter> - <Duration worker="6" unit="sbintime">4291123701</Duration> - <Counter worker="7">958279</Counter> - <Duration worker="7" unit="sbintime">4291118204</Duration> - <Counter worker="8">958288</Counter> - <Duration worker="8" unit="sbintime">4291118089</Duration> - <Counter worker="9">1917514</Counter> - <Duration worker="9" unit="sbintime">4291120609</Duration> - <Counter worker="10">1917516</Counter> - <Duration worker="10" unit="sbintime">4291118318</Duration> - <Counter worker="11">1917496</Counter> - <Duration worker="11" unit="sbintime">4291119463</Duration> - <Counter worker="12">1917477</Counter> - <Duration worker="12" unit="sbintime">4291116829</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="13"> - <Counter worker="1">957469</Counter> - <Duration worker="1" unit="sbintime">4291772986</Duration> - <Counter worker="2">958901</Counter> - <Duration worker="2" unit="sbintime">4291772184</Duration> - <Counter worker="3">959855</Counter> - <Duration worker="3" unit="sbintime">4291766114</Duration> - <Counter worker="4">959906</Counter> - <Duration worker="4" unit="sbintime">4291770695</Duration> - <Counter worker="5">959953</Counter> - <Duration worker="5" unit="sbintime">4291779743</Duration> - <Counter worker="6">959977</Counter> - <Duration worker="6" unit="sbintime">4291769092</Duration> - <Counter worker="7">959389</Counter> - <Duration worker="7" unit="sbintime">4291770810</Duration> - <Counter worker="8">959385</Counter> - <Duration worker="8" unit="sbintime">4291766228</Duration> - <Counter worker="9">1438521</Counter> - <Duration worker="9" unit="sbintime">4291768748</Duration> - <Counter worker="10">1438502</Counter> - <Duration worker="10" unit="sbintime">4291768977</Duration> - <Counter worker="11">1438548</Counter> - <Duration worker="11" unit="sbintime">4291766687</Duration> - <Counter worker="12">1438497</Counter> - <Duration worker="12" unit="sbintime">4291770237</Duration> - <Counter worker="13">1917953</Counter> - <Duration worker="13" unit="sbintime">4291765999</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="14"> - <Counter worker="1">958554</Counter> - <Duration worker="1" unit="sbintime">4293977506</Duration> - <Counter worker="2">959986</Counter> - <Duration worker="2" unit="sbintime">4293974643</Duration> - <Counter worker="3">959942</Counter> - <Duration worker="3" unit="sbintime">4293976246</Duration> - <Counter worker="4">959946</Counter> - <Duration worker="4" unit="sbintime">4293971894</Duration> - <Counter worker="5">959422</Counter> - <Duration worker="5" unit="sbintime">4293972467</Duration> - <Counter worker="6">959466</Counter> - <Duration worker="6" unit="sbintime">4293976819</Duration> - <Counter worker="7">960436</Counter> - <Duration worker="7" unit="sbintime">4293975216</Duration> - <Counter worker="8">960437</Counter> - <Duration worker="8" unit="sbintime">4293975216</Duration> - <Counter worker="9">1280753</Counter> - <Duration worker="9" unit="sbintime">4293970749</Duration> - <Counter worker="10">1280760</Counter> - <Duration worker="10" unit="sbintime">4293974529</Duration> - <Counter worker="11">1278618</Counter> - <Duration worker="11" unit="sbintime">4293975445</Duration> - <Counter worker="12">1278603</Counter> - <Duration worker="12" unit="sbintime">4293971665</Duration> - <Counter worker="13">1278806</Counter> - <Duration worker="13" unit="sbintime">4293971894</Duration> - <Counter worker="14">1278798</Counter> - <Duration worker="14" unit="sbintime">4293975673</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="15"> - <Counter worker="1">958175</Counter> - <Duration worker="1" unit="sbintime">4291365823</Duration> - <Counter worker="2">959788</Counter> - <Duration worker="2" unit="sbintime">4291366969</Duration> - <Counter worker="3">959270</Counter> - <Duration worker="3" unit="sbintime">4291360783</Duration> - <Counter worker="4">959251</Counter> - <Duration worker="4" unit="sbintime">4291365250</Duration> - <Counter worker="5">958544</Counter> - <Duration worker="5" unit="sbintime">4291366854</Duration> - <Counter worker="6">958536</Counter> - <Duration worker="6" unit="sbintime">4291362502</Duration> - <Counter worker="7">959264</Counter> - <Duration worker="7" unit="sbintime">4291364105</Duration> - <Counter worker="8">959249</Counter> - <Duration worker="8" unit="sbintime">4291368571</Duration> - <Counter worker="9">1021329</Counter> - <Duration worker="9" unit="sbintime">4291362960</Duration> - <Counter worker="10">1021315</Counter> - <Duration worker="10" unit="sbintime">4291366854</Duration> - <Counter worker="11">1022881</Counter> - <Duration worker="11" unit="sbintime">4291367426</Duration> - <Counter worker="12">1022857</Counter> - <Duration worker="12" unit="sbintime">4291365135</Duration> - <Counter worker="13">1022969</Counter> - <Duration worker="13" unit="sbintime">4291365135</Duration> - <Counter worker="14">1022963</Counter> - <Duration worker="14" unit="sbintime">4291364677</Duration> - <Counter worker="15">1536939</Counter> - <Duration worker="15" unit="sbintime">4291362960</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="16"> - <Counter worker="1">958710</Counter> - <Duration worker="1" unit="sbintime">4294622324</Duration> - <Counter worker="2">960272</Counter> - <Duration worker="2" unit="sbintime">4294611444</Duration> - <Counter worker="3">960318</Counter> - <Duration worker="3" unit="sbintime">4294610413</Duration> - <Counter worker="4">960325</Counter> - <Duration worker="4" unit="sbintime">4294610298</Duration> - <Counter worker="5">957982</Counter> - <Duration worker="5" unit="sbintime">4294606977</Duration> - <Counter worker="6">958010</Counter> - <Duration worker="6" unit="sbintime">4294611558</Duration> - <Counter worker="7">960811</Counter> - <Duration worker="7" unit="sbintime">4294608122</Duration> - <Counter worker="8">960866</Counter> - <Duration worker="8" unit="sbintime">4294608123</Duration> - <Counter worker="9">956789</Counter> - <Duration worker="9" unit="sbintime">4294606175</Duration> - <Counter worker="10">956816</Counter> - <Duration worker="10" unit="sbintime">4294610757</Duration> - <Counter worker="11">961812</Counter> - <Duration worker="11" unit="sbintime">4294611787</Duration> - <Counter worker="12">961815</Counter> - <Duration worker="12" unit="sbintime">4294610069</Duration> - <Counter worker="13">959509</Counter> - <Duration worker="13" unit="sbintime">4294610183</Duration> - <Counter worker="14">959511</Counter> - <Duration worker="14" unit="sbintime">4294610070</Duration> - <Counter worker="15">960164</Counter> - <Duration worker="15" unit="sbintime">4294612474</Duration> - <Counter worker="16">960191</Counter> - <Duration worker="16" unit="sbintime">4294607893</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="17"> - <Counter worker="1">944571</Counter> - <Duration worker="1" unit="sbintime">4290823168</Duration> - <Counter worker="2">946274</Counter> - <Duration worker="2" unit="sbintime">4290823855</Duration> - <Counter worker="3">945546</Counter> - <Duration worker="3" unit="sbintime">4290821565</Duration> - <Counter worker="4">945535</Counter> - <Duration worker="4" unit="sbintime">4290821564</Duration> - <Counter worker="5">943940</Counter> - <Duration worker="5" unit="sbintime">4290819274</Duration> - <Counter worker="6">943961</Counter> - <Duration worker="6" unit="sbintime">4290823741</Duration> - <Counter worker="7">945996</Counter> - <Duration worker="7" unit="sbintime">4290821565</Duration> - <Counter worker="8">945999</Counter> - <Duration worker="8" unit="sbintime">4290821564</Duration> - <Counter worker="9">944038</Counter> - <Duration worker="9" unit="sbintime">4290823969</Duration> - <Counter worker="10">944031</Counter> - <Duration worker="10" unit="sbintime">4290819503</Duration> - <Counter worker="11">944055</Counter> - <Duration worker="11" unit="sbintime">4290824543</Duration> - <Counter worker="12">944036</Counter> - <Duration worker="12" unit="sbintime">4290820076</Duration> - <Counter worker="13">945985</Counter> - <Duration worker="13" unit="sbintime">4290821221</Duration> - <Counter worker="14">945985</Counter> - <Duration worker="14" unit="sbintime">4290821221</Duration> - <Counter worker="15">946541</Counter> - <Duration worker="15" unit="sbintime">4290819503</Duration> - <Counter worker="16">946539</Counter> - <Duration worker="16" unit="sbintime">4290819388</Duration> - <Counter worker="17">5319165</Counter> - <Duration worker="17" unit="sbintime">4290821221</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="18"> - <Counter worker="1">957435</Counter> - <Duration worker="1" unit="sbintime">4292140979</Duration> - <Counter worker="2">959052</Counter> - <Duration worker="2" unit="sbintime">4292138230</Duration> - <Counter worker="3">959020</Counter> - <Duration worker="3" unit="sbintime">4292138115</Duration> - <Counter worker="4">959034</Counter> - <Duration worker="4" unit="sbintime">4292138230</Duration> - <Counter worker="5">959057</Counter> - <Duration worker="5" unit="sbintime">4292137199</Duration> - <Counter worker="6">959078</Counter> - <Duration worker="6" unit="sbintime">4292136969</Duration> - <Counter worker="7">959758</Counter> - <Duration worker="7" unit="sbintime">4292139375</Duration> - <Counter worker="8">959770</Counter> - <Duration worker="8" unit="sbintime">4292139261</Duration> - <Counter worker="9">959102</Counter> - <Duration worker="9" unit="sbintime">4292136855</Duration> - <Counter worker="10">959101</Counter> - <Duration worker="10" unit="sbintime">4292141322</Duration> - <Counter worker="11">957493</Counter> - <Duration worker="11" unit="sbintime">4292141322</Duration> - <Counter worker="12">957490</Counter> - <Duration worker="12" unit="sbintime">4292136741</Duration> - <Counter worker="13">960923</Counter> - <Duration worker="13" unit="sbintime">4292141895</Duration> - <Counter worker="14">960933</Counter> - <Duration worker="14" unit="sbintime">4292139146</Duration> - <Counter worker="15">958227</Counter> - <Duration worker="15" unit="sbintime">4292139032</Duration> - <Counter worker="16">958201</Counter> - <Duration worker="16" unit="sbintime">4292134565</Duration> - <Counter worker="17">3833107</Counter> - <Duration worker="17" unit="sbintime">4292138229</Duration> - <Counter worker="18">3833100</Counter> - <Duration worker="18" unit="sbintime">4292137085</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="19"> - <Counter worker="1">959131</Counter> - <Duration worker="1" unit="sbintime">4295003603</Duration> - <Counter worker="2">960752</Counter> - <Duration worker="2" unit="sbintime">4295005321</Duration> - <Counter worker="3">958958</Counter> - <Duration worker="3" unit="sbintime">4295009444</Duration> - <Counter worker="4">958960</Counter> - <Duration worker="4" unit="sbintime">4295001312</Duration> - <Counter worker="5">960052</Counter> - <Duration worker="5" unit="sbintime">4295001771</Duration> - <Counter worker="6">960086</Counter> - <Duration worker="6" unit="sbintime">4295001885</Duration> - <Counter worker="7">960031</Counter> - <Duration worker="7" unit="sbintime">4295003603</Duration> - <Counter worker="8">960043</Counter> - <Duration worker="8" unit="sbintime">4294999021</Duration> - <Counter worker="9">961650</Counter> - <Duration worker="9" unit="sbintime">4295005435</Duration> - <Counter worker="10">961687</Counter> - <Duration worker="10" unit="sbintime">4295001885</Duration> - <Counter worker="11">960613</Counter> - <Duration worker="11" unit="sbintime">4295011276</Duration> - <Counter worker="12">960593</Counter> - <Duration worker="12" unit="sbintime">4295000854</Duration> - <Counter worker="13">959538</Counter> - <Duration worker="13" unit="sbintime">4295001427</Duration> - <Counter worker="14">959574</Counter> - <Duration worker="14" unit="sbintime">4295001427</Duration> - <Counter worker="15">956810</Counter> - <Duration worker="15" unit="sbintime">4295003717</Duration> - <Counter worker="16">956818</Counter> - <Duration worker="16" unit="sbintime">4295003603</Duration> - <Counter worker="17">2557866</Counter> - <Duration worker="17" unit="sbintime">4295002687</Duration> - <Counter worker="18">2557901</Counter> - <Duration worker="18" unit="sbintime">4295000969</Duration> - <Counter worker="19">2557791</Counter> - <Duration worker="19" unit="sbintime">4295000968</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="20"> - <Counter worker="1">956818</Counter> - <Duration worker="1" unit="sbintime">4290849167</Duration> - <Counter worker="2">958477</Counter> - <Duration worker="2" unit="sbintime">4290849052</Duration> - <Counter worker="3">959502</Counter> - <Duration worker="3" unit="sbintime">4290848594</Duration> - <Counter worker="4">959493</Counter> - <Duration worker="4" unit="sbintime">4290848594</Duration> - <Counter worker="5">959067</Counter> - <Duration worker="5" unit="sbintime">4290848021</Duration> - <Counter worker="6">959118</Counter> - <Duration worker="6" unit="sbintime">4290848021</Duration> - <Counter worker="7">958349</Counter> - <Duration worker="7" unit="sbintime">4290853175</Duration> - <Counter worker="8">958323</Counter> - <Duration worker="8" unit="sbintime">4290846303</Duration> - <Counter worker="9">957048</Counter> - <Duration worker="9" unit="sbintime">4290847563</Duration> - <Counter worker="10">957074</Counter> - <Duration worker="10" unit="sbintime">4290847678</Duration> - <Counter worker="11">960084</Counter> - <Duration worker="11" unit="sbintime">4290846418</Duration> - <Counter worker="12">960074</Counter> - <Duration worker="12" unit="sbintime">4290846418</Duration> - <Counter worker="13">959020</Counter> - <Duration worker="13" unit="sbintime">4290845846</Duration> - <Counter worker="14">959039</Counter> - <Duration worker="14" unit="sbintime">4290850426</Duration> - <Counter worker="15">958126</Counter> - <Duration worker="15" unit="sbintime">4290845960</Duration> - <Counter worker="16">958095</Counter> - <Duration worker="16" unit="sbintime">4290845845</Duration> - <Counter worker="17">1916573</Counter> - <Duration worker="17" unit="sbintime">4290848136</Duration> - <Counter worker="18">1916534</Counter> - <Duration worker="18" unit="sbintime">4290845845</Duration> - <Counter worker="19">1916572</Counter> - <Duration worker="19" unit="sbintime">4290848136</Duration> - <Counter worker="20">1916533</Counter> - <Duration worker="20" unit="sbintime">4290845845</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="21"> - <Counter worker="1">958421</Counter> - <Duration worker="1" unit="sbintime">4294761939</Duration> - <Counter worker="2">960077</Counter> - <Duration worker="2" unit="sbintime">4294760221</Duration> - <Counter worker="3">959148</Counter> - <Duration worker="3" unit="sbintime">4294754953</Duration> - <Counter worker="4">959141</Counter> - <Duration worker="4" unit="sbintime">4294759649</Duration> - <Counter worker="5">959688</Counter> - <Duration worker="5" unit="sbintime">4294754494</Duration> - <Counter worker="6">959736</Counter> - <Duration worker="6" unit="sbintime">4294759076</Duration> - <Counter worker="7">960425</Counter> - <Duration worker="7" unit="sbintime">4294760221</Duration> - <Counter worker="8">960396</Counter> - <Duration worker="8" unit="sbintime">4294755755</Duration> - <Counter worker="9">958447</Counter> - <Duration worker="9" unit="sbintime">4294756213</Duration> - <Counter worker="10">958469</Counter> - <Duration worker="10" unit="sbintime">4294756327</Duration> - <Counter worker="11">960168</Counter> - <Duration worker="11" unit="sbintime">4294759076</Duration> - <Counter worker="12">960140</Counter> - <Duration worker="12" unit="sbintime">4294754495</Duration> - <Counter worker="13">961301</Counter> - <Duration worker="13" unit="sbintime">4294767323</Duration> - <Counter worker="14">961331</Counter> - <Duration worker="14" unit="sbintime">4294756785</Duration> - <Counter worker="15">958210</Counter> - <Duration worker="15" unit="sbintime">4294757358</Duration> - <Counter worker="16">958203</Counter> - <Duration worker="16" unit="sbintime">4294757358</Duration> - <Counter worker="17">1439060</Counter> - <Duration worker="17" unit="sbintime">4294757931</Duration> - <Counter worker="18">1439023</Counter> - <Duration worker="18" unit="sbintime">4294758159</Duration> - <Counter worker="19">1439103</Counter> - <Duration worker="19" unit="sbintime">4294758045</Duration> - <Counter worker="20">1439064</Counter> - <Duration worker="20" unit="sbintime">4294757930</Duration> - <Counter worker="21">1918367</Counter> - <Duration worker="21" unit="sbintime">4294758045</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="22"> - <Counter worker="1">958582</Counter> - <Duration worker="1" unit="sbintime">4291633485</Duration> - <Counter worker="2">960264</Counter> - <Duration worker="2" unit="sbintime">4291633599</Duration> - <Counter worker="3">958919</Counter> - <Duration worker="3" unit="sbintime">4291636921</Duration> - <Counter worker="4">958961</Counter> - <Duration worker="4" unit="sbintime">4291632912</Duration> - <Counter worker="5">958913</Counter> - <Duration worker="5" unit="sbintime">4291634631</Duration> - <Counter worker="6">958982</Counter> - <Duration worker="6" unit="sbintime">4291634630</Duration> - <Counter worker="7">957838</Counter> - <Duration worker="7" unit="sbintime">4291633027</Duration> - <Counter worker="8">957849</Counter> - <Duration worker="8" unit="sbintime">4291632912</Duration> - <Counter worker="9">958935</Counter> - <Duration worker="9" unit="sbintime">4291632340</Duration> - <Counter worker="10">958978</Counter> - <Duration worker="10" unit="sbintime">4291632455</Duration> - <Counter worker="11">958040</Counter> - <Duration worker="11" unit="sbintime">4291631194</Duration> - <Counter worker="12">958060</Counter> - <Duration worker="12" unit="sbintime">4291635203</Duration> - <Counter worker="13">958031</Counter> - <Duration worker="13" unit="sbintime">4291634745</Duration> - <Counter worker="14">958035</Counter> - <Duration worker="14" unit="sbintime">4291630163</Duration> - <Counter worker="15">959809</Counter> - <Duration worker="15" unit="sbintime">4291635776</Duration> - <Counter worker="16">959833</Counter> - <Duration worker="16" unit="sbintime">4291631309</Duration> - <Counter worker="17">1278240</Counter> - <Duration worker="17" unit="sbintime">4291631194</Duration> - <Counter worker="18">1278239</Counter> - <Duration worker="18" unit="sbintime">4291634745</Duration> - <Counter worker="19">1278855</Counter> - <Duration worker="19" unit="sbintime">4291629591</Duration> - <Counter worker="20">1278855</Counter> - <Duration worker="20" unit="sbintime">4291632913</Duration> - <Counter worker="21">1277332</Counter> - <Duration worker="21" unit="sbintime">4291632912</Duration> - <Counter worker="22">1277327</Counter> - <Duration worker="22" unit="sbintime">4291635891</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="23"> - <Counter worker="1">958870</Counter> - <Duration worker="1" unit="sbintime">4294362908</Duration> - <Counter worker="2">960652</Counter> - <Duration worker="2" unit="sbintime">4294358327</Duration> - <Counter worker="3">957192</Counter> - <Duration worker="3" unit="sbintime">4294358327</Duration> - <Counter worker="4">957194</Counter> - <Duration worker="4" unit="sbintime">4294362793</Duration> - <Counter worker="5">960437</Counter> - <Duration worker="5" unit="sbintime">4294358900</Duration> - <Counter worker="6">960480</Counter> - <Duration worker="6" unit="sbintime">4294359014</Duration> - <Counter worker="7">958820</Counter> - <Duration worker="7" unit="sbintime">4294362908</Duration> - <Counter worker="8">958835</Counter> - <Duration worker="8" unit="sbintime">4294360045</Duration> - <Counter worker="9">956488</Counter> - <Duration worker="9" unit="sbintime">4294360617</Duration> - <Counter worker="10">956549</Counter> - <Duration worker="10" unit="sbintime">4294356151</Duration> - <Counter worker="11">961870</Counter> - <Duration worker="11" unit="sbintime">4294356151</Duration> - <Counter worker="12">961835</Counter> - <Duration worker="12" unit="sbintime">4294360732</Duration> - <Counter worker="13">961302</Counter> - <Duration worker="13" unit="sbintime">4294361191</Duration> - <Counter worker="14">961345</Counter> - <Duration worker="14" unit="sbintime">4294356724</Duration> - <Counter worker="15">956489</Counter> - <Duration worker="15" unit="sbintime">4294360045</Duration> - <Counter worker="16">956506</Counter> - <Duration worker="16" unit="sbintime">4294360160</Duration> - <Counter worker="17">1021387</Counter> - <Duration worker="17" unit="sbintime">4294356952</Duration> - <Counter worker="18">1021417</Counter> - <Duration worker="18" unit="sbintime">4294360961</Duration> - <Counter worker="19">1021929</Counter> - <Duration worker="19" unit="sbintime">4294359243</Duration> - <Counter worker="20">1021926</Counter> - <Duration worker="20" unit="sbintime">4294359930</Duration> - <Counter worker="21">1024098</Counter> - <Duration worker="21" unit="sbintime">4294358327</Duration> - <Counter worker="22">1024083</Counter> - <Duration worker="22" unit="sbintime">4294358098</Duration> - <Counter worker="23">1537525</Counter> - <Duration worker="23" unit="sbintime">4294361076</Duration> - </BinuptimeTest> - <BinuptimeTest activeWorker="24"> - <Counter worker="1">958462</Counter> - <Duration worker="1" unit="sbintime">4294344239</Duration> - <Counter worker="2">960113</Counter> - <Duration worker="2" unit="sbintime">4294339773</Duration> - <Counter worker="3">959461</Counter> - <Duration worker="3" unit="sbintime">4294341949</Duration> - <Counter worker="4">959473</Counter> - <Duration worker="4" unit="sbintime">4294344812</Duration> - <Counter worker="5">958912</Counter> - <Duration worker="5" unit="sbintime">4294341490</Duration> - <Counter worker="6">958938</Counter> - <Duration worker="6" unit="sbintime">4294341376</Duration> - <Counter worker="7">958935</Counter> - <Duration worker="7" unit="sbintime">4294340230</Duration> - <Counter worker="8">958921</Counter> - <Duration worker="8" unit="sbintime">4294340345</Duration> - <Counter worker="9">959876</Counter> - <Duration worker="9" unit="sbintime">4294341491</Duration> - <Counter worker="10">959892</Counter> - <Duration worker="10" unit="sbintime">4294337138</Duration> - <Counter worker="11">959045</Counter> - <Duration worker="11" unit="sbintime">4294338284</Duration> - <Counter worker="12">959020</Counter> - <Duration worker="12" unit="sbintime">4294342636</Duration> - <Counter worker="13">961635</Counter> - <Duration worker="13" unit="sbintime">4294341033</Duration> - <Counter worker="14">961646</Counter> - <Duration worker="14" unit="sbintime">4294343782</Duration> - <Counter worker="15">956010</Counter> - <Duration worker="15" unit="sbintime">4294338856</Duration> - <Counter worker="16">956016</Counter> - <Duration worker="16" unit="sbintime">4294343208</Duration> - <Counter worker="17">960207</Counter> - <Duration worker="17" unit="sbintime">4294339887</Duration> - <Counter worker="18">960171</Counter> - <Duration worker="18" unit="sbintime">4294339772</Duration> - <Counter worker="19">960089</Counter> - <Duration worker="19" unit="sbintime">4294340346</Duration> - <Counter worker="20">960077</Counter> - <Duration worker="20" unit="sbintime">4294340346</Duration> - <Counter worker="21">957194</Counter> - <Duration worker="21" unit="sbintime">4294339315</Duration> - <Counter worker="22">957184</Counter> - <Duration worker="22" unit="sbintime">4294339200</Duration> - <Counter worker="23">959119</Counter> - <Duration worker="23" unit="sbintime">4294344812</Duration> - <Counter worker="24">959094</Counter> - <Duration worker="24" unit="sbintime">4294341948</Duration> - </BinuptimeTest> - <BinuptimeNullTest activeWorker="1"> - <Counter worker="1">19386783</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="2"> - <Counter worker="1">18966996</Counter> - <Counter worker="2">18976413</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="3"> - <Counter worker="1">18974430</Counter> - <Counter worker="2">18983328</Counter> - <Counter worker="3">19416623</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="4"> - <Counter worker="1">19008674</Counter> - <Counter worker="2">19018198</Counter> - <Counter worker="3">19008964</Counter> - <Counter worker="4">19008692</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="5"> - <Counter worker="1">19020812</Counter> - <Counter worker="2">19030365</Counter> - <Counter worker="3">19005570</Counter> - <Counter worker="4">19005064</Counter> - <Counter worker="5">19403356</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="6"> - <Counter worker="1">19022252</Counter> - <Counter worker="2">19032184</Counter> - <Counter worker="3">18989113</Counter> - <Counter worker="4">18988868</Counter> - <Counter worker="5">19032006</Counter> - <Counter worker="6">19033563</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="7"> - <Counter worker="1">19030040</Counter> - <Counter worker="2">19040103</Counter> - <Counter worker="3">19027768</Counter> - <Counter worker="4">19027395</Counter> - <Counter worker="5">19032442</Counter> - <Counter worker="6">19034065</Counter> - <Counter worker="7">19412449</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="8"> - <Counter worker="1">19025699</Counter> - <Counter worker="2">19035838</Counter> - <Counter worker="3">19004615</Counter> - <Counter worker="4">19004706</Counter> - <Counter worker="5">19030244</Counter> - <Counter worker="6">19032199</Counter> - <Counter worker="7">19024756</Counter> - <Counter worker="8">19023713</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="9"> - <Counter worker="1">19013669</Counter> - <Counter worker="2">19023620</Counter> - <Counter worker="3">19002201</Counter> - <Counter worker="4">19002347</Counter> - <Counter worker="5">19045897</Counter> - <Counter worker="6">19048005</Counter> - <Counter worker="7">19008510</Counter> - <Counter worker="8">19007710</Counter> - <Counter worker="9">19395234</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="10"> - <Counter worker="1">19027122</Counter> - <Counter worker="2">19037161</Counter> - <Counter worker="3">19009823</Counter> - <Counter worker="4">19010172</Counter> - <Counter worker="5">19038718</Counter> - <Counter worker="6">19040747</Counter> - <Counter worker="7">19031970</Counter> - <Counter worker="8">19031243</Counter> - <Counter worker="9">19073032</Counter> - <Counter worker="10">19074455</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="11"> - <Counter worker="1">19028856</Counter> - <Counter worker="2">19038950</Counter> - <Counter worker="3">19011087</Counter> - <Counter worker="4">19010918</Counter> - <Counter worker="5">19042804</Counter> - <Counter worker="6">19044814</Counter> - <Counter worker="7">19009000</Counter> - <Counter worker="8">19008045</Counter> - <Counter worker="9">19062056</Counter> - <Counter worker="10">19063324</Counter> - <Counter worker="11">19425237</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="12"> - <Counter worker="1">19000686</Counter> - <Counter worker="2">19010524</Counter> - <Counter worker="3">19011200</Counter> - <Counter worker="4">19011161</Counter> - <Counter worker="5">19040651</Counter> - <Counter worker="6">19042336</Counter> - <Counter worker="7">19008991</Counter> - <Counter worker="8">19008322</Counter> - <Counter worker="9">19057966</Counter> - <Counter worker="10">19059942</Counter> - <Counter worker="11">19025294</Counter> - <Counter worker="12">19024237</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="13"> - <Counter worker="1">19035788</Counter> - <Counter worker="2">19045670</Counter> - <Counter worker="3">19019672</Counter> - <Counter worker="4">19019535</Counter> - <Counter worker="5">19057435</Counter> - <Counter worker="6">19059507</Counter> - <Counter worker="7">19015462</Counter> - <Counter worker="8">19015005</Counter> - <Counter worker="9">19075133</Counter> - <Counter worker="10">19076837</Counter> - <Counter worker="11">19015711</Counter> - <Counter worker="12">19014041</Counter> - <Counter worker="13">19397278</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="14"> - <Counter worker="1">19042430</Counter> - <Counter worker="2">19052163</Counter> - <Counter worker="3">18991353</Counter> - <Counter worker="4">18991104</Counter> - <Counter worker="5">19055723</Counter> - <Counter worker="6">19057975</Counter> - <Counter worker="7">19037925</Counter> - <Counter worker="8">19037320</Counter> - <Counter worker="9">19093382</Counter> - <Counter worker="10">19095573</Counter> - <Counter worker="11">19013959</Counter> - <Counter worker="12">19012664</Counter> - <Counter worker="13">19047902</Counter> - <Counter worker="14">19049501</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="15"> - <Counter worker="1">19031341</Counter> - <Counter worker="2">19041295</Counter> - <Counter worker="3">19021603</Counter> - <Counter worker="4">19021349</Counter> - <Counter worker="5">19070154</Counter> - <Counter worker="6">19072132</Counter> - <Counter worker="7">19012455</Counter> - <Counter worker="8">19011763</Counter> - <Counter worker="9">19078313</Counter> - <Counter worker="10">19081070</Counter> - <Counter worker="11">19007359</Counter> - <Counter worker="12">19006010</Counter> - <Counter worker="13">19079061</Counter> - <Counter worker="14">19080701</Counter> - <Counter worker="15">19419748</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="16"> - <Counter worker="1">19026392</Counter> - <Counter worker="2">19036011</Counter> - <Counter worker="3">19020535</Counter> - <Counter worker="4">19020505</Counter> - <Counter worker="5">19027761</Counter> - <Counter worker="6">19029769</Counter> - <Counter worker="7">19007387</Counter> - <Counter worker="8">19006701</Counter> - <Counter worker="9">19079449</Counter> - <Counter worker="10">19081866</Counter> - <Counter worker="11">19016942</Counter> - <Counter worker="12">19015669</Counter> - <Counter worker="13">19053837</Counter> - <Counter worker="14">19056122</Counter> - <Counter worker="15">19017232</Counter> - <Counter worker="16">19015864</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="17"> - <Counter worker="1">19024720</Counter> - <Counter worker="2">19034397</Counter> - <Counter worker="3">19010358</Counter> - <Counter worker="4">19009952</Counter> - <Counter worker="5">19045360</Counter> - <Counter worker="6">19047250</Counter> - <Counter worker="7">19015505</Counter> - <Counter worker="8">19014894</Counter> - <Counter worker="9">19067467</Counter> - <Counter worker="10">19069766</Counter> - <Counter worker="11">19001455</Counter> - <Counter worker="12">19000148</Counter> - <Counter worker="13">19062397</Counter> - <Counter worker="14">19064161</Counter> - <Counter worker="15">18988213</Counter> - <Counter worker="16">18986839</Counter> - <Counter worker="17">19392710</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="18"> - <Counter worker="1">19014459</Counter> - <Counter worker="2">19024385</Counter> - <Counter worker="3">19004536</Counter> - <Counter worker="4">19004360</Counter> - <Counter worker="5">19059651</Counter> - <Counter worker="6">19061446</Counter> - <Counter worker="7">18995175</Counter> - <Counter worker="8">18994526</Counter> - <Counter worker="9">19069645</Counter> - <Counter worker="10">19072049</Counter> - <Counter worker="11">19020094</Counter> - <Counter worker="12">19018465</Counter> - <Counter worker="13">19084049</Counter> - <Counter worker="14">19085700</Counter> - <Counter worker="15">19010799</Counter> - <Counter worker="16">19009469</Counter> - <Counter worker="17">19062621</Counter> - <Counter worker="18">19062665</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="19"> - <Counter worker="1">19027369</Counter> - <Counter worker="2">19037193</Counter> - <Counter worker="3">19017667</Counter> - <Counter worker="4">19017624</Counter> - <Counter worker="5">19025425</Counter> - <Counter worker="6">19027799</Counter> - <Counter worker="7">19017922</Counter> - <Counter worker="8">19017381</Counter> - <Counter worker="9">19029266</Counter> - <Counter worker="10">19031825</Counter> - <Counter worker="11">19025025</Counter> - <Counter worker="12">19023564</Counter> - <Counter worker="13">19057381</Counter> - <Counter worker="14">19059412</Counter> - <Counter worker="15">19025461</Counter> - <Counter worker="16">19023734</Counter> - <Counter worker="17">19049991</Counter> - <Counter worker="18">19051542</Counter> - <Counter worker="19">19418712</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="20"> - <Counter worker="1">19042934</Counter> - <Counter worker="2">19052696</Counter> - <Counter worker="3">19038771</Counter> - <Counter worker="4">19038516</Counter> - <Counter worker="5">19033526</Counter> - <Counter worker="6">19035338</Counter> - <Counter worker="7">19043236</Counter> - <Counter worker="8">19042713</Counter> - <Counter worker="9">19086859</Counter> - <Counter worker="10">19089153</Counter> - <Counter worker="11">19022766</Counter> - <Counter worker="12">19021740</Counter> - <Counter worker="13">19061402</Counter> - <Counter worker="14">19063648</Counter> - <Counter worker="15">19019723</Counter> - <Counter worker="16">19018344</Counter> - <Counter worker="17">19049944</Counter> - <Counter worker="18">19051860</Counter> - <Counter worker="19">19024515</Counter> - <Counter worker="20">19024160</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="21"> - <Counter worker="1">19024204</Counter> - <Counter worker="2">19034080</Counter> - <Counter worker="3">19000776</Counter> - <Counter worker="4">19000755</Counter> - <Counter worker="5">19051386</Counter> - <Counter worker="6">19053223</Counter> - <Counter worker="7">18986331</Counter> - <Counter worker="8">18985787</Counter> - <Counter worker="9">19090476</Counter> - <Counter worker="10">19093070</Counter> - <Counter worker="11">19014901</Counter> - <Counter worker="12">19013812</Counter> - <Counter worker="13">19076062</Counter> - <Counter worker="14">19077825</Counter> - <Counter worker="15">19009098</Counter> - <Counter worker="16">19007749</Counter> - <Counter worker="17">19068241</Counter> - <Counter worker="18">19070586</Counter> - <Counter worker="19">18985454</Counter> - <Counter worker="20">18984893</Counter> - <Counter worker="21">19400999</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="22"> - <Counter worker="1">19031656</Counter> - <Counter worker="2">19041556</Counter> - <Counter worker="3">19002695</Counter> - <Counter worker="4">19002754</Counter> - <Counter worker="5">19077008</Counter> - <Counter worker="6">19078695</Counter> - <Counter worker="7">18989542</Counter> - <Counter worker="8">18988653</Counter> - <Counter worker="9">19044533</Counter> - <Counter worker="10">19046959</Counter> - <Counter worker="11">19004288</Counter> - <Counter worker="12">19003156</Counter> - <Counter worker="13">19062162</Counter> - <Counter worker="14">19064009</Counter> - <Counter worker="15">19034105</Counter> - <Counter worker="16">19032889</Counter> - <Counter worker="17">19067368</Counter> - <Counter worker="18">19070169</Counter> - <Counter worker="19">19008530</Counter> - <Counter worker="20">19008397</Counter> - <Counter worker="21">19037841</Counter> - <Counter worker="22">19040158</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="23"> - <Counter worker="1">19019317</Counter> - <Counter worker="2">19029201</Counter> - <Counter worker="3">19010298</Counter> - <Counter worker="4">19010487</Counter> - <Counter worker="5">19030794</Counter> - <Counter worker="6">19032697</Counter> - <Counter worker="7">19001815</Counter> - <Counter worker="8">19001431</Counter> - <Counter worker="9">19067361</Counter> - <Counter worker="10">19069729</Counter> - <Counter worker="11">19001399</Counter> - <Counter worker="12">19000051</Counter> - <Counter worker="13">19070247</Counter> - <Counter worker="14">19072221</Counter> - <Counter worker="15">19020770</Counter> - <Counter worker="16">19019396</Counter> - <Counter worker="17">19085756</Counter> - <Counter worker="18">19088597</Counter> - <Counter worker="19">19014748</Counter> - <Counter worker="20">19014660</Counter> - <Counter worker="21">19044229</Counter> - <Counter worker="22">19046314</Counter> - <Counter worker="23">19421247</Counter> - </BinuptimeNullTest> - <BinuptimeNullTest activeWorker="24"> - <Counter worker="1">19016838</Counter> - <Counter worker="2">19026664</Counter> - <Counter worker="3">18978854</Counter> - <Counter worker="4">18978559</Counter> - <Counter worker="5">19034822</Counter> - <Counter worker="6">19036646</Counter> - <Counter worker="7">19006174</Counter> - <Counter worker="8">19005608</Counter> - <Counter worker="9">19042579</Counter> - <Counter worker="10">19044966</Counter> - <Counter worker="11">19007697</Counter> - <Counter worker="12">19006331</Counter> - <Counter worker="13">19053232</Counter> - <Counter worker="14">19054892</Counter> - <Counter worker="15">18999211</Counter> - <Counter worker="16">18997906</Counter> - <Counter worker="17">19065292</Counter> - <Counter worker="18">19067828</Counter> - <Counter worker="19">19014259</Counter> - <Counter worker="20">19013886</Counter> - <Counter worker="21">19047296</Counter> - <Counter worker="22">19048410</Counter> - <Counter worker="23">19017171</Counter> - <Counter worker="24">19016766</Counter> - </BinuptimeNullTest> -</SPTimecounter01> +*** TEST VERSION: 6.0.0.105c3e541c26113503080c65006ad775d31fca3d +*** TEST STATE: EXPECTED_PASS +*** TEST BUILD: RTEMS_SMP +*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448) +*** BEGIN OF JSON DATA *** +[ + { + "timecounter": "Clock Driver", + "counter": [ + [523086], + [523088, 528231], + [523088, 528232, 528231], + [523088, 528215, 528215, 527992] + ] + }, { + "timecounter": "Null", + "counter": [ + [528630], + [528662, 533818], + [528684, 533839, 533840], + [528664, 533821, 533821, 533582] + ] + } +] +*** END OF JSON DATA *** + *** END OF TEST SPTIMECOUNTER 2 *** + +cpu 0 in error mode (tt = 0x80) + 400337050 00009120: 91d02000 ta 0x0 diff --git a/testsuites/sptests/sptimecounter03/init.c b/testsuites/sptests/sptimecounter03/init.c index dfcd9a0219..d1a9d58886 100644 --- a/testsuites/sptests/sptimecounter03/init.c +++ b/testsuites/sptests/sptimecounter03/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2015 embedded brains GmbH. All rights reserved. + * Copyright (c) 2015 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -41,7 +41,7 @@ const char rtems_test_name[] = "SPTIMECOUNTER 3"; #define CPU_COUNT 32 -static rtems_test_parallel_context ctx;; +static rtems_test_parallel_context ctx; static rtems_interval test_binuptime_init( rtems_test_parallel_context *ctx, diff --git a/testsuites/sptests/sptimecounter04/init.c b/testsuites/sptests/sptimecounter04/init.c index 4d903e75f8..2a8910b980 100644 --- a/testsuites/sptests/sptimecounter04/init.c +++ b/testsuites/sptests/sptimecounter04/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptimerserver01/init.c b/testsuites/sptests/sptimerserver01/init.c index 1121886bc7..b921806424 100644 --- a/testsuites/sptests/sptimerserver01/init.c +++ b/testsuites/sptests/sptimerserver01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2016 embedded brains GmbH. All rights reserved. + * Copyright (c) 2016 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptls01/init.c b/testsuites/sptests/sptls01/init.c index efd0fb4c6c..d6beeedf90 100644 --- a/testsuites/sptests/sptls01/init.c +++ b/testsuites/sptests/sptls01/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2014, 2022 embedded brains GmbH + * Copyright (C) 2014, 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -30,7 +30,11 @@ #endif #include <rtems/bspIo.h> +#include <rtems/stackchk.h> #include <rtems/sysinit.h> +#include <rtems/score/cpuimpl.h> +#include <rtems/score/threadimpl.h> +#include <rtems/score/tls.h> #include "tmacros.h" @@ -55,6 +59,7 @@ static void task(rtems_task_argument arg) rtems_status_code sc; check_tls_item(123); + tls_item = 42; sc = rtems_event_transient_send(master_task); rtems_test_assert(sc == RTEMS_SUCCESSFUL); @@ -63,10 +68,47 @@ static void task(rtems_task_argument arg) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } +static void check_tls_size(void) +{ + const volatile TLS_Configuration *config; + uintptr_t tls_size; + + config = &_TLS_Configuration; + tls_size = (uintptr_t) config->size; + + if (tls_size != 1) { + printk( + "WARNING: The thread-local storage size is %" PRIuPTR ". It should be\n" + "exactly one for this test. Check the BSP implementation. The BSP\n" + "should not pull in thread-local storage objects such as errno for\n" + "this test.\n", + tls_size + ); + rtems_test_assert(tls_size == 1); + } +} + +static Thread_Control *get_thread(rtems_id id) +{ + Thread_Control *the_thread; + ISR_lock_Context lock_context; + + the_thread = _Thread_Get(id, &lock_context); + _ISR_lock_ISR_enable(&lock_context); + return the_thread; +} + static void test(void) { rtems_id id; rtems_status_code sc; + Thread_Control *self; + Thread_Control *other; + char *self_tp; + char *other_tp; + uintptr_t tls_item_offset; + char *self_tls_item; + char *other_tls_item; master_task = rtems_task_self(); @@ -89,9 +131,22 @@ static void test(void) sc = rtems_task_start(id, task, 0); rtems_test_assert(sc == RTEMS_SUCCESSFUL); + self = get_thread(master_task); + other = get_thread(id); + self_tp = _CPU_Get_TLS_thread_pointer(&self->Registers); + other_tp = _CPU_Get_TLS_thread_pointer(&other->Registers); + tls_item_offset = (uintptr_t) (&tls_item - self_tp); + self_tls_item = self_tp + tls_item_offset; + other_tls_item = other_tp + tls_item_offset; + rtems_test_assert(*self_tls_item == 5); + rtems_test_assert(*other_tls_item == 123); + sc = rtems_event_transient_receive(RTEMS_WAIT, RTEMS_NO_TIMEOUT); rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rtems_test_assert(*self_tls_item == 5); + rtems_test_assert(*other_tls_item == 42); + sc = rtems_task_delete(id); rtems_test_assert(sc == RTEMS_SUCCESSFUL); @@ -100,6 +155,7 @@ static void test(void) static void test_idle_during_system_init(void) { + rtems_print_printer_printk(&rtems_test_printer); TEST_BEGIN(); check_tls_item(123); @@ -109,6 +165,8 @@ static void Init(rtems_task_argument arg) { test(); + rtems_test_assert(!rtems_stack_checker_is_blown()); + check_tls_size(); TEST_END(); rtems_test_exit(0); @@ -121,7 +179,21 @@ RTEMS_SYSINIT_ITEM( ); #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER + +/* + * Avoid a dependency on errno which might be a thread-local object. This test + * assumes that no thread-local storage object other than tls_item is present. + */ +#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + +/* + * This test requires full control over the present thread-local objects. In + * certain Newlib configurations, the Newlib reentrancy support may add + * thread-local objects. + */ +#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + +#define CONFIGURE_STACK_CHECKER_ENABLED #define CONFIGURE_MAXIMUM_TASKS 2 diff --git a/testsuites/sptests/sptls02/init.cc b/testsuites/sptests/sptls02/init.cc index 712358f978..28ce872d76 100644 --- a/testsuites/sptests/sptls02/init.cc +++ b/testsuites/sptests/sptls02/init.cc @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2014, 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -36,6 +36,7 @@ #include <rtems.h> #include <rtems/libcsupport.h> +#include <rtems/stackchk.h> #include <tmacros.h> @@ -47,7 +48,7 @@ alignas(256) static thread_local long a256 = 256; static thread_local long i0; -alignas(512) static thread_local long a512; +alignas(RTEMS_MINIMUM_STACK_SIZE) static thread_local long a; int seven() { @@ -60,7 +61,7 @@ static void clobber() i123 = 0xdead0001; a256 = 0xdead0002; i0 = 0xdead0003; - a512 = 0xdead0004; + a = 0xdead0004; } static long f456(bool clobber) @@ -168,10 +169,14 @@ static void checkTLSValues() rtems_test_assert(extern_int == 7); rtems_test_assert(i123 == 123); rtems_test_assert(a256 == 256); - rtems_test_assert((a256 & 255) == 0); + uintptr_t addr = reinterpret_cast<uintptr_t>(&a256); + RTEMS_OBFUSCATE_VARIABLE(addr); + rtems_test_assert((addr % 256) == 0); rtems_test_assert(i0 == 0); - rtems_test_assert(a512 == 0); - rtems_test_assert((a512 & 511) == 0); + rtems_test_assert(a == 0); + addr = reinterpret_cast<uintptr_t>(&a); + RTEMS_OBFUSCATE_VARIABLE(addr); + rtems_test_assert((addr % 512) == 0); rtems_test_assert(f456(false) == 456); rtems_test_assert(f0(false) == 0); rtems_test_assert(C::c789() == 789); @@ -288,6 +293,7 @@ extern "C" void Init(rtems_task_argument arg) testWorkerTask(); rtems_test_assert(rtems_resource_snapshot_check(&snapshot)); + rtems_test_assert(!rtems_stack_checker_is_blown()); TEST_END(); @@ -297,6 +303,8 @@ extern "C" void Init(rtems_task_argument arg) #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER +#define CONFIGURE_STACK_CHECKER_ENABLED + #define CONFIGURE_MAXIMUM_TASKS 2 #define CONFIGURE_MAXIMUM_SEMAPHORES 3 diff --git a/testsuites/sptests/sptls02/sptls02.h b/testsuites/sptests/sptls02/sptls02.h index b89750915d..4d9dfd5489 100644 --- a/testsuites/sptests/sptls02/sptls02.h +++ b/testsuites/sptests/sptls02/sptls02.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptls02/var.cc b/testsuites/sptests/sptls02/var.cc index ca885deb62..5f927d043b 100644 --- a/testsuites/sptests/sptls02/var.cc +++ b/testsuites/sptests/sptls02/var.cc @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptls03/init.c b/testsuites/sptests/sptls03/init.c index 6625327f45..4d564c0f85 100644 --- a/testsuites/sptests/sptls03/init.c +++ b/testsuites/sptests/sptls03/init.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -29,6 +29,7 @@ #include "config.h" #endif +#include <rtems/stackchk.h> #include <rtems/score/thread.h> #include "tmacros.h" @@ -55,6 +56,7 @@ static void Init(rtems_task_argument arg) test(); + rtems_test_assert(!rtems_stack_checker_is_blown()); TEST_END(); rtems_test_exit(0); @@ -75,6 +77,8 @@ static void Init(rtems_task_argument arg) */ #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY +#define CONFIGURE_STACK_CHECKER_ENABLED + #define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION diff --git a/testsuites/sptests/sptls04/init.c b/testsuites/sptests/sptls04/init.c index 79ab5a5a9a..bbbe81b9d1 100644 --- a/testsuites/sptests/sptls04/init.c +++ b/testsuites/sptests/sptls04/init.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * Copyright (c) 2017 embedded brains GmbH & Co. KG * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/testsuites/sptests/sptls04/sptls04.h b/testsuites/sptests/sptls04/sptls04.h index 9aa737ecb0..70e7f2a923 100644 --- a/testsuites/sptests/sptls04/sptls04.h +++ b/testsuites/sptests/sptls04/sptls04.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2022 embedded brains GmbH + * Copyright (C) 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/sptls04/tls.c b/testsuites/sptests/sptls04/tls.c index ce91518fd0..ee473bca25 100644 --- a/testsuites/sptests/sptls04/tls.c +++ b/testsuites/sptests/sptls04/tls.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* - * Copyright (C) 2022 embedded brains GmbH + * Copyright (C) 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/testsuites/sptests/spunlimited01/init.c b/testsuites/sptests/spunlimited01/init.c index ce64324768..dc0496d441 100644 --- a/testsuites/sptests/spunlimited01/init.c +++ b/testsuites/sptests/spunlimited01/init.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2022 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions |