[IOT-2334][IOT-2335] Fixed presence sample app crash issue
[platform/upstream/iotivity.git] / plugins / unittests / plugininterfacetest.cpp
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 #include "iotivity_config.h"
22
23 #include "plugininterface.h"
24 #include "gtest/gtest.h"
25 #include <sys/types.h>
26 #include <sys/stat.h>
27 #include <errno.h>
28 #include <fcntl.h>
29 #include <unistd.h>
30 #include <stdlib.h>
31
32 //-----------------------------------------------------------------------------
33 // Includes
34 //-----------------------------------------------------------------------------
35 #include <stdio.h>
36 #include <string.h>
37
38 #include <iostream>
39 #include <stdint.h>
40
41 #include "gtest_helper.h"
42
43 namespace itst = iotivity::test;
44
45 //-----------------------------------------------------------------------------
46 // Private variables
47 //-----------------------------------------------------------------------------
48
49 std::chrono::seconds const SHORT_TEST_TIMEOUT = std::chrono::seconds(5);
50
51 //-----------------------------------------------------------------------------
52 //  Tests
53 //-----------------------------------------------------------------------------
54
55 // Plugin Interface API PIStartPlugin()
56 TEST(PITests, StartPluginTest)
57 {
58     itst::DeadmanTimer killSwitch(SHORT_TEST_TIMEOUT);
59     EXPECT_EQ(OC_STACK_INVALID_PARAM, PIStartPlugin(NULL, PLUGIN_UNKNOWN, NULL));
60     EXPECT_EQ(OC_STACK_INVALID_PARAM, PIStartPlugin("", PLUGIN_UNKNOWN, NULL));
61     EXPECT_EQ(OC_STACK_INVALID_PARAM, PIStartPlugin("", PLUGIN_UNKNOWN, NULL));
62 // Note: The following test is invalid for unit tests. Please do not enable tests which
63 //       actually enable hardware radios.
64 //    EXPECT_EQ(OC_STACK_INVALID_PARAM, PIStartPlugin("/dev/ttyUSB0", PLUGIN_ZIGBEE, NULL));
65 }
66
67 // Plugin Interface API PIStopPlugin()
68 TEST(PITests, StopPluginTest)
69 {
70     itst::DeadmanTimer killSwitch(SHORT_TEST_TIMEOUT);
71     EXPECT_EQ(OC_STACK_INVALID_PARAM, PIStopPlugin(NULL));
72 }
73
74 // Plugin Interface API PIProcess()
75 TEST(PITests, ProcessTest)
76 {
77     itst::DeadmanTimer killSwitch(SHORT_TEST_TIMEOUT);
78     EXPECT_EQ(OC_STACK_INVALID_PARAM, PIProcess(NULL));
79 }
80
81
82