François Degros | bf7bb59 | 2019-07-12 09:49:52 +1000 | [diff] [blame] | 1 | // 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 | |
| 12 | namespace cros_disks { |
| 13 | namespace { |
| 14 | |
François Degros | 1c4bffb | 2019-09-10 11:31:54 +1000 | [diff] [blame] | 15 | static_assert(!FORMAT_ERROR_NONE, |
| 16 | "FORMAT_ERROR_NONE must convert to false in boolean context"); |
| 17 | |
| 18 | static_assert(!MOUNT_ERROR_NONE, |
| 19 | "MOUNT_ERROR_NONE must convert to false in boolean context"); |
| 20 | |
Omid Tourzan | 73547ea | 2020-08-28 13:00:39 +1000 | [diff] [blame] | 21 | static_assert(!PARTITION_ERROR_NONE, |
| 22 | "PARTITION_ERROR_NONE must convert to false in boolean context"); |
| 23 | |
François Degros | 1c4bffb | 2019-09-10 11:31:54 +1000 | [diff] [blame] | 24 | static_assert(!RENAME_ERROR_NONE, |
| 25 | "RENAME_ERROR_NONE must convert to false in boolean context"); |
| 26 | |
François Degros | bf7bb59 | 2019-07-12 09:49:52 +1000 | [diff] [blame] | 27 | template <typename T> |
| 28 | std::string ToString(T error) { |
| 29 | std::ostringstream out; |
| 30 | out << error << std::flush; |
| 31 | return out.str(); |
| 32 | } |
| 33 | |
| 34 | TEST(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 | |
| 58 | TEST(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 Degros | cc43662 | 2020-07-10 14:40:19 +1000 | [diff] [blame] | 81 | EXPECT_EQ(ToString(MOUNT_ERROR_NEED_PASSWORD), "MOUNT_ERROR_NEED_PASSWORD"); |
François Degros | bf7bb59 | 2019-07-12 09:49:52 +1000 | [diff] [blame] | 82 | 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 Tourzan | 73547ea | 2020-08-28 13:00:39 +1000 | [diff] [blame] | 95 | TEST(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 Degros | bf7bb59 | 2019-07-12 09:49:52 +1000 | [diff] [blame] | 112 | TEST(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 |