From 68c9f88f2ccf5bf4d67fb938ccf8f98dfad2a327 Mon Sep 17 00:00:00 2001 From: Mark Charlebois Date: Fri, 24 Jul 2015 18:35:09 -0700 Subject: [PATCH] uORB: fixed copyright on unit tests Signed-off-by: Mark Charlebois --- .../uorb_unittests/uORBCommunicatorMock.cpp | 59 ++--- .../uORBCommunicatorMockLoopback.cpp | 59 ++--- .../uORBCommunicatorMockLoopback.hpp | 59 ++--- unittests/uorb_unittests/uORBGtestTopics.hpp | 59 ++--- unittests/uorb_unittests/uORB_test.cpp | 206 ------------------ 5 files changed, 128 insertions(+), 314 deletions(-) delete mode 100644 unittests/uorb_unittests/uORB_test.cpp diff --git a/unittests/uorb_unittests/uORBCommunicatorMock.cpp b/unittests/uorb_unittests/uORBCommunicatorMock.cpp index d824d9da07..f964c095e6 100644 --- a/unittests/uorb_unittests/uORBCommunicatorMock.cpp +++ b/unittests/uorb_unittests/uORBCommunicatorMock.cpp @@ -1,30 +1,35 @@ -//============================================================================= -// File: uORB_test.cpp -// -// @@-COPYRIGHT-START-@@ -// -// Copyright 2014 Qualcomm Technologies, Inc. All rights reserved. -// Confidential & Proprietary - Qualcomm Technologies, Inc. ("QTI") -// -// The party receiving this software directly from QTI (the "Recipient") -// may use this software as reasonably necessary solely for the purposes -// set forth in the agreement between the Recipient and QTI (the -// "Agreement"). The software may be used in source code form solely by -// the Recipient's employees (if any) authorized by the Agreement. Unless -// expressly authorized in the Agreement, the Recipient may not sublicense, -// assign, transfer or otherwise provide the source code to any third -// party. Qualcomm Technologies, Inc. retains all ownership rights in and -// to the software -// -// This notice supersedes any other QTI notices contained within the software -// except copyright notices indicating different years of publication for -// different portions of the software. This notice does not supersede the -// application of any third party copyright notice to that third party's -// code. -// -// @@-COPYRIGHT-END-@@ -// -//============================================================================= +/**************************************************************************** + * + * Copyright (c) 2015 Mark Charlebois. All rights reserved. + * + * 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. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * 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. + * + ****************************************************************************/ #include "uORBCommunicatorMock.hpp" #include "uORB/uORB.h" diff --git a/unittests/uorb_unittests/uORBCommunicatorMockLoopback.cpp b/unittests/uorb_unittests/uORBCommunicatorMockLoopback.cpp index 5e717bab98..8bb4260590 100644 --- a/unittests/uorb_unittests/uORBCommunicatorMockLoopback.cpp +++ b/unittests/uorb_unittests/uORBCommunicatorMockLoopback.cpp @@ -1,30 +1,35 @@ -//============================================================================= -// File: uORB_test.cpp -// -// @@-COPYRIGHT-START-@@ -// -// Copyright 2014 Qualcomm Technologies, Inc. All rights reserved. -// Confidential & Proprietary - Qualcomm Technologies, Inc. ("QTI") -// -// The party receiving this software directly from QTI (the "Recipient") -// may use this software as reasonably necessary solely for the purposes -// set forth in the agreement between the Recipient and QTI (the -// "Agreement"). The software may be used in source code form solely by -// the Recipient's employees (if any) authorized by the Agreement. Unless -// expressly authorized in the Agreement, the Recipient may not sublicense, -// assign, transfer or otherwise provide the source code to any third -// party. Qualcomm Technologies, Inc. retains all ownership rights in and -// to the software -// -// This notice supersedes any other QTI notices contained within the software -// except copyright notices indicating different years of publication for -// different portions of the software. This notice does not supersede the -// application of any third party copyright notice to that third party's -// code. -// -// @@-COPYRIGHT-END-@@ -// -//============================================================================= +/**************************************************************************** + * + * Copyright (c) 2015 Mark Charlebois. All rights reserved. + * + * 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. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * 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. + * + ****************************************************************************/ #include "uORBCommunicatorMockLoopback.hpp" #include "uORB/uORB.h" diff --git a/unittests/uorb_unittests/uORBCommunicatorMockLoopback.hpp b/unittests/uorb_unittests/uORBCommunicatorMockLoopback.hpp index 265d277d87..96a6375bb4 100644 --- a/unittests/uorb_unittests/uORBCommunicatorMockLoopback.hpp +++ b/unittests/uorb_unittests/uORBCommunicatorMockLoopback.hpp @@ -1,30 +1,35 @@ -//============================================================================= -// File: uORB_test.cpp -// -// @@-COPYRIGHT-START-@@ -// -// Copyright 2014 Qualcomm Technologies, Inc. All rights reserved. -// Confidential & Proprietary - Qualcomm Technologies, Inc. ("QTI") -// -// The party receiving this software directly from QTI (the "Recipient") -// may use this software as reasonably necessary solely for the purposes -// set forth in the agreement between the Recipient and QTI (the -// "Agreement"). The software may be used in source code form solely by -// the Recipient's employees (if any) authorized by the Agreement. Unless -// expressly authorized in the Agreement, the Recipient may not sublicense, -// assign, transfer or otherwise provide the source code to any third -// party. Qualcomm Technologies, Inc. retains all ownership rights in and -// to the software -// -// This notice supersedes any other QTI notices contained within the software -// except copyright notices indicating different years of publication for -// different portions of the software. This notice does not supersede the -// application of any third party copyright notice to that third party's -// code. -// -// @@-COPYRIGHT-END-@@ -// -//============================================================================= +/**************************************************************************** + * + * Copyright (c) 2015 Mark Charlebois. All rights reserved. + * + * 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. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * 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. + * + ****************************************************************************/ #ifndef _uORBCommunicatorMockLoopback_hpp_ #define _uORBCommunicatorMockLoopback_hpp_ diff --git a/unittests/uorb_unittests/uORBGtestTopics.hpp b/unittests/uorb_unittests/uORBGtestTopics.hpp index 94822f54d5..0616afe83e 100644 --- a/unittests/uorb_unittests/uORBGtestTopics.hpp +++ b/unittests/uorb_unittests/uORBGtestTopics.hpp @@ -1,30 +1,35 @@ -//============================================================================= -// File: uORB_test.cpp -// -// @@-COPYRIGHT-START-@@ -// -// Copyright 2014 Qualcomm Technologies, Inc. All rights reserved. -// Confidential & Proprietary - Qualcomm Technologies, Inc. ("QTI") -// -// The party receiving this software directly from QTI (the "Recipient") -// may use this software as reasonably necessary solely for the purposes -// set forth in the agreement between the Recipient and QTI (the -// "Agreement"). The software may be used in source code form solely by -// the Recipient's employees (if any) authorized by the Agreement. Unless -// expressly authorized in the Agreement, the Recipient may not sublicense, -// assign, transfer or otherwise provide the source code to any third -// party. Qualcomm Technologies, Inc. retains all ownership rights in and -// to the software -// -// This notice supersedes any other QTI notices contained within the software -// except copyright notices indicating different years of publication for -// different portions of the software. This notice does not supersede the -// application of any third party copyright notice to that third party's -// code. -// -// @@-COPYRIGHT-END-@@ -// -//============================================================================= +/**************************************************************************** + * + * Copyright (c) 2015 Mark Charlebois. All rights reserved. + * + * 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. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * 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. + * + ****************************************************************************/ #ifndef _uORBGtestTopics_hpp_ #define _uORBGtestTopics_hpp_ diff --git a/unittests/uorb_unittests/uORB_test.cpp b/unittests/uorb_unittests/uORB_test.cpp deleted file mode 100644 index 43ed366df0..0000000000 --- a/unittests/uorb_unittests/uORB_test.cpp +++ /dev/null @@ -1,206 +0,0 @@ -//============================================================================= -// File: uORB_test.cpp -// -// @@-COPYRIGHT-START-@@ -// -// Copyright 2014 Qualcomm Technologies, Inc. All rights reserved. -// Confidential & Proprietary - Qualcomm Technologies, Inc. ("QTI") -// -// The party receiving this software directly from QTI (the "Recipient") -// may use this software as reasonably necessary solely for the purposes -// set forth in the agreement between the Recipient and QTI (the -// "Agreement"). The software may be used in source code form solely by -// the Recipient's employees (if any) authorized by the Agreement. Unless -// expressly authorized in the Agreement, the Recipient may not sublicense, -// assign, transfer or otherwise provide the source code to any third -// party. Qualcomm Technologies, Inc. retains all ownership rights in and -// to the software -// -// This notice supersedes any other QTI notices contained within the software -// except copyright notices indicating different years of publication for -// different portions of the software. This notice does not supersede the -// application of any third party copyright notice to that third party's -// code. -// -// @@-COPYRIGHT-END-@@ -// -//============================================================================= - -#include -#include -#include -#include -#include -#include -#include -#include "uORB/uORB.h" -#include "utils/general.h" -#include "utils/logging.h" - -#include - -#define LOG_TAG "uORB_test.cpp" - -//#ifdef INCLUDE_ANDROID_UNIT_TEST_UORB -namespace uORB_test -{ - - struct orb_test - { - int val; - }; - ORB_DEFINE(orb_test, struct orb_test); - - pal::Semaphore sub_semaphore; - static int pfd, sfd; - static struct orb_test t; - bool threadTestPassed = false; - - TEST( uORBTest, pub_sub_initialization ) - { - struct orb_test u; - bool updated; - - t.val = 0; - ASSERT_NE( ( pfd = orb_advertise(ORB_ID(orb_test), &t) ), 0 ) << "Failed to advertize uORB Topic orb_test: errno: " << errno; - IPRINTF( "publist handle: 0x%08x", pfd ); - - - ASSERT_NE( ( sfd = orb_subscribe(ORB_ID(orb_test), (void *)&sub_semaphore) ), 0 ) << "Subscribe failed: %d" << errno; - IPRINTF( "subscribe fd: %d", sfd ); - - u.val = 1; - - ASSERT_EQ( orb_copy(ORB_ID(orb_test), sfd, &u), OK ) << "copy(1) failed: " << errno; - - ASSERT_EQ( u.val, t.val ) << "copy(1) mismatch: " << u.val << " expected " << t.val; - - ASSERT_EQ(orb_check(sfd, &updated), OK ) << "check(1) failed"; - - ASSERT_FALSE( updated ) << "spurious updated flag"; - - ASSERT_EQ(orb_unsubscribe(sfd), OK ); - close(pfd); - } - - - void test_subscriber_thread(void *this_ptr) - { - struct orb_test u; - bool updated; - pal::Semaphore *sub_semaphore = (pal::Semaphore *)this_ptr; - assert(sub_semaphore != nullptr); - - IPRINTF( "waiting for new subscriber data"); - sub_semaphore->wait(); - - if (OK != orb_check(sfd, &updated)) - { - EPRINTF("check(2) failed"); - return; - } - - if (!updated) - { - EPRINTF("missing updated flag"); - return; - } - - if (OK != orb_copy(ORB_ID(orb_test), sfd, &u)) - { - EPRINTF("copy(2) failed: %d", errno); - return; - } - - if (u.val != t.val) - { - EPRINTF("copy(2) mismatch: %d expected %d", u.val, t.val); - return; - } - threadTestPassed = true; - } - - - TEST( uORB, pub_sub_withThread ) - { - pal::Thread sub_thread; - - threadTestPassed = false; - - // advertize the topic first if it is not created. - t.val = 1; - ASSERT_NE( (pfd = orb_advertise(ORB_ID(orb_test), &t) ), 0 ) << "Failed to advertize uORB Topic orb_test: errno: " << errno; - IPRINTF( "publist handle: 0x%08x", pfd ); - - ASSERT_NE( ( sfd = orb_subscribe(ORB_ID(orb_test), (void *)&sub_semaphore) ), 0 ) << "Subscribe failed: %d" << errno; - IPRINTF( "subscribe fd: %d", sfd ); - - sub_thread.create(test_subscriber_thread, (void *)&sub_semaphore); - - t.val = 2; - IPRINTF("try publish, creating new thread to await the results"); - - ASSERT_EQ(orb_publish(ORB_ID(orb_test), pfd, &t), OK) << "publish failed"; - - ASSERT_EQ( t.val, 2 ); - - IPRINTF("waiting for the subscriber thread to exit"); - sub_thread.wait(); - - ASSERT_TRUE( threadTestPassed ); - - ASSERT_EQ(orb_unsubscribe(sfd), OK ); - close(pfd); - } - - - -#if 0 - /* this is a hacky test that exploits the sensors app to test rate-limiting */ - - sfd = orb_subscribe(ORB_ID(sensor_combined)); - - hrt_abstime start, end; - unsigned count; - - start = hrt_absolute_time(); - count = 0; - - do - { - orb_check(sfd, &updated); - - if (updated) - { - orb_copy(ORB_ID(sensor_combined), sfd, nullptr); - count++; - } - }while (count < 100); - - end = hrt_absolute_time(); - test_note("full-speed, 100 updates in %llu", end - start); - - orb_set_interval(sfd, 10); - - start = hrt_absolute_time(); - count = 0; - - do - { - orb_check(sfd, &updated); - - if (updated) - { - orb_copy(ORB_ID(sensor_combined), sfd, nullptr); - count++; - } - }while (count < 100); - - end = hrt_absolute_time(); - test_note("100Hz, 100 updates in %llu", end - start); - - orb_unsubscribe(sfd); -#endif - -} -