1 /*
2  * Copyright (C) 2015 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include <string>
18 
19 #include <base/files/file_path.h>
20 #include <brillo/key_value_store.h>
21 #include <gtest/gtest.h>
22 
23 namespace {
24 
25 // Name of the checked-in configuration file containing log-collection commands.
26 const char kConfigFile[] = "/system/etc/crash_reporter_logs.conf";
27 
28 // Signature name for crash_reporter user collection.
29 // kConfigFile is expected to contain this entry.
30 const char kUserCollectorSignature[] = "crash_reporter-user-collection";
31 
32 }  // namespace
33 
34 // Tests that the config file is parsable and that Chrome is listed.
TEST(CrashReporterLogsTest,ReadConfig)35 TEST(CrashReporterLogsTest, ReadConfig) {
36   brillo::KeyValueStore store;
37   ASSERT_TRUE(store.Load(base::FilePath(kConfigFile)));
38   std::string command;
39   EXPECT_TRUE(store.GetString(kUserCollectorSignature, &command));
40   EXPECT_FALSE(command.empty());
41 }
42