133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair/* 233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Copyright (C) 2017 The Android Open Source Project 333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Licensed under the Apache License, Version 2.0 (the "License"); 533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * you may not use this file except in compliance with the License. 633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * You may obtain a copy of the License at 733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * http://www.apache.org/licenses/LICENSE-2.0 933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 1033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Unless required by applicable law or agreed to in writing, software 1133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * distributed under the License is distributed on an "AS IS" BASIS, 1233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * See the License for the specific language governing permissions and 1433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * limitations under the License. 1533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair */ 1633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 17357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair#include "serviceutils/PriorityDumper.h" 1833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include <vector> 2033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include <gmock/gmock.h> 2233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include <gtest/gtest.h> 2333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include <utils/String16.h> 2533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include <utils/Vector.h> 2633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairusing namespace android; 2833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairusing ::testing::ElementsAreArray; 3033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairusing ::testing::Mock; 3133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairusing ::testing::Test; 3233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 3333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairclass PriorityDumperMock : public PriorityDumper { 3433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairpublic: 356a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpCritical, status_t(int, const Vector<String16>&, bool)); 366a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpHigh, status_t(int, const Vector<String16>&, bool)); 376a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpNormal, status_t(int, const Vector<String16>&, bool)); 386a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpAll, status_t(int, const Vector<String16>&, bool)); 3933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair}; 4033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 4133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairclass DumpAllMock : public PriorityDumper { 4233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairpublic: 436a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpCritical, status_t(int, const Vector<String16>&, bool)); 446a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpHigh, status_t(int, const Vector<String16>&, bool)); 456a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair MOCK_METHOD3(dumpNormal, status_t(int, const Vector<String16>&, bool)); 4633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair}; 4733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 4833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairclass PriorityDumperTest : public Test { 4933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairpublic: 5033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair PriorityDumperTest() : dumper_(), dumpAlldumper_(), fd(1) {} 5133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair PriorityDumperMock dumper_; 5233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair DumpAllMock dumpAlldumper_; 5333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair int fd; 5433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair}; 5533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 5633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairstatic void addAll(Vector<String16>& av, const std::vector<std::string>& v) { 5733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair for (auto element : v) { 5833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair av.add(String16(element.c_str())); 5933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } 6033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 6133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 6233fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, noArgsPassed) { 6333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 646a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(args), /*asProto=*/false)); 65357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 6633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 6733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 6833fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, noPriorityArgsPassed) { 6933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 7033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"bunch", "of", "args"}); 716a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(args), /*asProto=*/false)); 72357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 7333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 7433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 7533fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, priorityArgsOnly) { 7633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 7733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority", "CRITICAL"}); 7833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> strippedArgs; 796a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpCritical(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 80357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 8133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 8233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 8333fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, dumpCritical) { 8433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 8533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority", "CRITICAL", "args", "left", "behind"}); 8633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> strippedArgs; 8733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 8833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 896a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpCritical(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 906a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 916a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 926a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 936a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, dumpCriticalInMiddle) { 946a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 956a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"args", "left", "--dump-priority", "CRITICAL", "behind"}); 966a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 976a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 986a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 996a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpCritical(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 100357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 10133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 10233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 10333fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, dumpHigh) { 10433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 10533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority", "HIGH", "args", "left", "behind"}); 10633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> strippedArgs; 10733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 10833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1096a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpHigh(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 1106a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1116a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 1126a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1136a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, dumpHighInEnd) { 1146a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 1156a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"args", "left", "behind", "--dump-priority", "HIGH"}); 1166a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1176a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 1186a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1196a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpHigh(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 120357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 12133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 12233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 12333fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, dumpNormal) { 12433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 12533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority", "NORMAL", "args", "left", "behind"}); 12633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> strippedArgs; 12733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 12833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1296a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpNormal(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 130357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 13133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 13233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 13333fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, dumpAll) { 13433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 13533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"args", "left", "behind"}); 13633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1376a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumpAlldumper_, dumpCritical(fd, ElementsAreArray(args), /*asProto=*/false)); 1386a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumpAlldumper_, dumpHigh(fd, ElementsAreArray(args), /*asProto=*/false)); 1396a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumpAlldumper_, dumpNormal(fd, ElementsAreArray(args), /*asProto=*/false)); 14033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 141357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumpAlldumper_.priorityDump(fd, args); 14233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 14333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 14433fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, priorityArgWithPriorityMissing) { 14533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 14633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority"}); 1476a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1486a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 14933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 150357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 15133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 15233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 15333fd3be6088bfacaf659108bad67d24103494aa1Vishnu NairTEST_F(PriorityDumperTest, priorityArgWithInvalidPriority) { 15433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> args; 15533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair addAll(args, {"--dump-priority", "REALLY_HIGH"}); 1566a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1576a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/false)); 1586a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1596a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1606a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 1616a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1626a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArg) { 1636a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 1646a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--proto"}); 1656a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1666a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 1676a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1686a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1696a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 1706a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1716a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArgWithPriorityArgs) { 1726a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 1736a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--proto", "args", "--dump-priority", "NORMAL", "left", "behind"}); 1746a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1756a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 1766a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpNormal(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 1776a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1786a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1796a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 1806a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1816a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArgWithPriorityArgsInReverseOrder) { 1826a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 1836a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--dump-priority", "NORMAL", "--proto", "args", "left", "behind"}); 1846a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1856a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 1866a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpNormal(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 1876a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1886a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1896a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 1906a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1916a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArgInMiddle) { 1926a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 1936a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--unknown", "args", "--proto", "args", "left", "behind"}); 1946a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 1956a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"--unknown", "args", "args", "left", "behind"}); 1966a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 1976a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 1986a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 1996a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 2006a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 2016a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArgAtEnd) { 2026a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 2036a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--unknown", "args", "args", "left", "behind", "--proto"}); 2046a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 2056a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"--unknown", "args", "args", "left", "behind"}); 2066a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 2076a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 2086a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair dumper_.priorityDump(fd, args); 2096a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair} 2106a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair 2116a40853e06f5274d84b0fc66e349a36510d1497fVishnu NairTEST_F(PriorityDumperTest, protoArgWithInvalidPriorityType) { 2126a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> args; 2136a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(args, {"--dump-priority", "NOT_SO_HIGH", "--proto", "args", "left", "behind"}); 2146a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair Vector<String16> strippedArgs; 2156a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair addAll(strippedArgs, {"args", "left", "behind"}); 2166a40853e06f5274d84b0fc66e349a36510d1497fVishnu Nair EXPECT_CALL(dumper_, dumpAll(fd, ElementsAreArray(strippedArgs), /*asProto=*/true)); 21733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 218357988777218502ed68a56a0c8b247ba64b74721Vishnu Nair dumper_.priorityDump(fd, args); 21933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair}