11ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius/*
21ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * Copyright (C) 2016 The Android Open Source Project
31ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius *
41ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * Licensed under the Apache License, Version 2.0 (the "License");
51ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * you may not use this file except in compliance with the License.
61ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * You may obtain a copy of the License at
71ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius *
81ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius *      http://www.apache.org/licenses/LICENSE-2.0
91ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius *
101ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * Unless required by applicable law or agreed to in writing, software
111ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * distributed under the License is distributed on an "AS IS" BASIS,
121ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * See the License for the specific language governing permissions and
141ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius * limitations under the License.
151ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius */
161ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius
171ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius#include <android-base/logging.h>
181ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius
191ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius#include "wifi_hidl_test_utils.h"
201ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius
21e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhangclass WifiVtsHidlEnvironment_1_0 : public WifiHidlEnvironment {
22e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang   public:
23e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    // get the test environment singleton
24e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    static WifiVtsHidlEnvironment_1_0* Instance() {
25e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang        static WifiVtsHidlEnvironment_1_0* instance =
26e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang            new WifiVtsHidlEnvironment_1_0;
27e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang        return instance;
28e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    }
29e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang
30e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    virtual void registerTestServices() override {
31e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang        registerTestService<android::hardware::wifi::V1_0::IWifi>();
32e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    }
33e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang
34e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang   private:
35e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    WifiVtsHidlEnvironment_1_0() {}
36e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang};
37e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang
38e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao ZhangWifiHidlEnvironment* gEnv = WifiVtsHidlEnvironment_1_0::Instance();
39b14c7560f7317a89ddf4b9e8eceaf16cb3339fd1Etan Cohen
401ae4cbbb82d778a8945c78a569331c1616842befRoshan Piusint main(int argc, char** argv) {
41e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim    ::testing::AddGlobalTestEnvironment(gEnv);
421ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius    ::testing::InitGoogleTest(&argc, argv);
43e768fb9cea24dc184490c2dac6058c5f08d60313Zhuoyao Zhang    gEnv->init(&argc, argv);
44e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim    int status = gEnv->initFromOptions(argc, argv);
45e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim    if (status == 0) {
46e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim        status = RUN_ALL_TESTS();
47e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim        LOG(INFO) << "Test result = " << status;
48e034df064094614ac5a35ddc09be6a5894d115c3Keun Soo Yim    }
491ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius    return status;
501ae4cbbb82d778a8945c78a569331c1616842befRoshan Pius}
51