/* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <utility> #include "androidfw/PosixUtils.h" #include "TestHelpers.h" using ::testing::IsNull; using ::testing::NotNull; namespace android { namespace util { TEST(PosixUtilsTest, AbsolutePathToBinary) { const auto result = ExecuteBinary({"/bin/date", "--help"}); ASSERT_THAT(result, NotNull()); ASSERT_EQ(result->status, 0); ASSERT_EQ(result->stdout.find("usage: date "), 0); } TEST(PosixUtilsTest, RelativePathToBinary) { const auto result = ExecuteBinary({"date", "--help"}); ASSERT_THAT(result, NotNull()); ASSERT_EQ(result->status, 0); ASSERT_EQ(result->stdout.find("usage: date "), 0); } TEST(PosixUtilsTest, BadParameters) { const auto result = ExecuteBinary({"/bin/date", "--this-parameter-is-not-supported"}); ASSERT_THAT(result, NotNull()); ASSERT_NE(result->status, 0); } TEST(PosixUtilsTest, NoSuchBinary) { const auto result = ExecuteBinary({"/this/binary/does/not/exist"}); ASSERT_THAT(result, IsNull()); } } // android } // util