blob: 611a24c60ddef21cfabd1977a09551bb6b993b4b [file] [log] [blame]
François Degrosbf7bb592019-07-12 09:49:52 +10001// Copyright 2019 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "cros-disks/error_logger.h"
6
7#include <sstream>
8#include <string>
9
10#include <gtest/gtest.h>
11
12namespace cros_disks {
13namespace {
14
François Degros1c4bffb2019-09-10 11:31:54 +100015static_assert(!FORMAT_ERROR_NONE,
16 "FORMAT_ERROR_NONE must convert to false in boolean context");
17
18static_assert(!MOUNT_ERROR_NONE,
19 "MOUNT_ERROR_NONE must convert to false in boolean context");
20
Omid Tourzan73547ea2020-08-28 13:00:39 +100021static_assert(!PARTITION_ERROR_NONE,
22 "PARTITION_ERROR_NONE must convert to false in boolean context");
23
François Degros1c4bffb2019-09-10 11:31:54 +100024static_assert(!RENAME_ERROR_NONE,
25 "RENAME_ERROR_NONE must convert to false in boolean context");
26
François Degrosbf7bb592019-07-12 09:49:52 +100027template <typename T>
28std::string ToString(T error) {
29 std::ostringstream out;
30 out << error << std::flush;
31 return out.str();
32}
33
34TEST(ErrorLogger, FormatErrorType) {
35 EXPECT_EQ(ToString(FORMAT_ERROR_NONE), "FORMAT_ERROR_NONE");
36 EXPECT_EQ(ToString(FORMAT_ERROR_UNKNOWN), "FORMAT_ERROR_UNKNOWN");
37 EXPECT_EQ(ToString(FORMAT_ERROR_INTERNAL), "FORMAT_ERROR_INTERNAL");
38 EXPECT_EQ(ToString(FORMAT_ERROR_INVALID_DEVICE_PATH),
39 "FORMAT_ERROR_INVALID_DEVICE_PATH");
40 EXPECT_EQ(ToString(FORMAT_ERROR_DEVICE_BEING_FORMATTED),
41 "FORMAT_ERROR_DEVICE_BEING_FORMATTED");
42 EXPECT_EQ(ToString(FORMAT_ERROR_UNSUPPORTED_FILESYSTEM),
43 "FORMAT_ERROR_UNSUPPORTED_FILESYSTEM");
44 EXPECT_EQ(ToString(FORMAT_ERROR_FORMAT_PROGRAM_NOT_FOUND),
45 "FORMAT_ERROR_FORMAT_PROGRAM_NOT_FOUND");
46 EXPECT_EQ(ToString(FORMAT_ERROR_FORMAT_PROGRAM_FAILED),
47 "FORMAT_ERROR_FORMAT_PROGRAM_FAILED");
48 EXPECT_EQ(ToString(FORMAT_ERROR_DEVICE_NOT_ALLOWED),
49 "FORMAT_ERROR_DEVICE_NOT_ALLOWED");
50 EXPECT_EQ(ToString(FORMAT_ERROR_INVALID_OPTIONS),
51 "FORMAT_ERROR_INVALID_OPTIONS");
52 EXPECT_EQ(ToString(FORMAT_ERROR_LONG_NAME), "FORMAT_ERROR_LONG_NAME");
53 EXPECT_EQ(ToString(FORMAT_ERROR_INVALID_CHARACTER),
54 "FORMAT_ERROR_INVALID_CHARACTER");
55 EXPECT_EQ(ToString(FormatErrorType(987654)), "FORMAT_ERROR_987654");
56}
57
58TEST(ErrorLogger, MountErrorType) {
59 EXPECT_EQ(ToString(MOUNT_ERROR_NONE), "MOUNT_ERROR_NONE");
60 EXPECT_EQ(ToString(MOUNT_ERROR_UNKNOWN), "MOUNT_ERROR_UNKNOWN");
61 EXPECT_EQ(ToString(MOUNT_ERROR_INTERNAL), "MOUNT_ERROR_INTERNAL");
62 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_ARGUMENT),
63 "MOUNT_ERROR_INVALID_ARGUMENT");
64 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_PATH), "MOUNT_ERROR_INVALID_PATH");
65 EXPECT_EQ(ToString(MOUNT_ERROR_PATH_ALREADY_MOUNTED),
66 "MOUNT_ERROR_PATH_ALREADY_MOUNTED");
67 EXPECT_EQ(ToString(MOUNT_ERROR_PATH_NOT_MOUNTED),
68 "MOUNT_ERROR_PATH_NOT_MOUNTED");
69 EXPECT_EQ(ToString(MOUNT_ERROR_DIRECTORY_CREATION_FAILED),
70 "MOUNT_ERROR_DIRECTORY_CREATION_FAILED");
71 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_MOUNT_OPTIONS),
72 "MOUNT_ERROR_INVALID_MOUNT_OPTIONS");
73 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_UNMOUNT_OPTIONS),
74 "MOUNT_ERROR_INVALID_UNMOUNT_OPTIONS");
75 EXPECT_EQ(ToString(MOUNT_ERROR_INSUFFICIENT_PERMISSIONS),
76 "MOUNT_ERROR_INSUFFICIENT_PERMISSIONS");
77 EXPECT_EQ(ToString(MOUNT_ERROR_MOUNT_PROGRAM_NOT_FOUND),
78 "MOUNT_ERROR_MOUNT_PROGRAM_NOT_FOUND");
79 EXPECT_EQ(ToString(MOUNT_ERROR_MOUNT_PROGRAM_FAILED),
80 "MOUNT_ERROR_MOUNT_PROGRAM_FAILED");
François Degroscc436622020-07-10 14:40:19 +100081 EXPECT_EQ(ToString(MOUNT_ERROR_NEED_PASSWORD), "MOUNT_ERROR_NEED_PASSWORD");
François Degrosbf7bb592019-07-12 09:49:52 +100082 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_DEVICE_PATH),
83 "MOUNT_ERROR_INVALID_DEVICE_PATH");
84 EXPECT_EQ(ToString(MOUNT_ERROR_UNKNOWN_FILESYSTEM),
85 "MOUNT_ERROR_UNKNOWN_FILESYSTEM");
86 EXPECT_EQ(ToString(MOUNT_ERROR_UNSUPPORTED_FILESYSTEM),
87 "MOUNT_ERROR_UNSUPPORTED_FILESYSTEM");
88 EXPECT_EQ(ToString(MOUNT_ERROR_INVALID_ARCHIVE),
89 "MOUNT_ERROR_INVALID_ARCHIVE");
90 EXPECT_EQ(ToString(MOUNT_ERROR_UNSUPPORTED_ARCHIVE),
91 "MOUNT_ERROR_UNSUPPORTED_ARCHIVE");
92 EXPECT_EQ(ToString(MountErrorType(987654)), "MOUNT_ERROR_987654");
93}
94
Omid Tourzan73547ea2020-08-28 13:00:39 +100095TEST(ErrorLogger, PartitionErrorType) {
96 EXPECT_EQ(ToString(PARTITION_ERROR_NONE), "PARTITION_ERROR_NONE");
97 EXPECT_EQ(ToString(PARTITION_ERROR_UNKNOWN), "PARTITION_ERROR_UNKNOWN");
98 EXPECT_EQ(ToString(PARTITION_ERROR_INTERNAL), "PARTITION_ERROR_INTERNAL");
99 EXPECT_EQ(ToString(PARTITION_ERROR_INVALID_DEVICE_PATH),
100 "PARTITION_ERROR_INVALID_DEVICE_PATH");
101 EXPECT_EQ(ToString(PARTITION_ERROR_DEVICE_BEING_PARTITIONED),
102 "PARTITION_ERROR_DEVICE_BEING_PARTITIONED");
103 EXPECT_EQ(ToString(PARTITION_ERROR_PROGRAM_NOT_FOUND),
104 "PARTITION_ERROR_PROGRAM_NOT_FOUND");
105 EXPECT_EQ(ToString(PARTITION_ERROR_PROGRAM_FAILED),
106 "PARTITION_ERROR_PROGRAM_FAILED");
107 EXPECT_EQ(ToString(PARTITION_ERROR_DEVICE_NOT_ALLOWED),
108 "PARTITION_ERROR_DEVICE_NOT_ALLOWED");
109 EXPECT_EQ(ToString(PartitionErrorType(987654)), "PARTITION_ERROR_987654");
110}
111
François Degrosbf7bb592019-07-12 09:49:52 +1000112TEST(ErrorLogger, RenameErrorType) {
113 EXPECT_EQ(ToString(RENAME_ERROR_NONE), "RENAME_ERROR_NONE");
114 EXPECT_EQ(ToString(RENAME_ERROR_UNKNOWN), "RENAME_ERROR_UNKNOWN");
115 EXPECT_EQ(ToString(RENAME_ERROR_INTERNAL), "RENAME_ERROR_INTERNAL");
116 EXPECT_EQ(ToString(RENAME_ERROR_INVALID_DEVICE_PATH),
117 "RENAME_ERROR_INVALID_DEVICE_PATH");
118 EXPECT_EQ(ToString(RENAME_ERROR_DEVICE_BEING_RENAMED),
119 "RENAME_ERROR_DEVICE_BEING_RENAMED");
120 EXPECT_EQ(ToString(RENAME_ERROR_UNSUPPORTED_FILESYSTEM),
121 "RENAME_ERROR_UNSUPPORTED_FILESYSTEM");
122 EXPECT_EQ(ToString(RENAME_ERROR_RENAME_PROGRAM_NOT_FOUND),
123 "RENAME_ERROR_RENAME_PROGRAM_NOT_FOUND");
124 EXPECT_EQ(ToString(RENAME_ERROR_RENAME_PROGRAM_FAILED),
125 "RENAME_ERROR_RENAME_PROGRAM_FAILED");
126 EXPECT_EQ(ToString(RENAME_ERROR_DEVICE_NOT_ALLOWED),
127 "RENAME_ERROR_DEVICE_NOT_ALLOWED");
128 EXPECT_EQ(ToString(RENAME_ERROR_LONG_NAME), "RENAME_ERROR_LONG_NAME");
129 EXPECT_EQ(ToString(RENAME_ERROR_INVALID_CHARACTER),
130 "RENAME_ERROR_INVALID_CHARACTER");
131 EXPECT_EQ(ToString(RenameErrorType(987654)), "RENAME_ERROR_987654");
132}
133
134} // namespace
135} // namespace cros_disks