summaryrefslogtreecommitdiff
path: root/test/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils.cpp')
-rw-r--r--test/utils.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/utils.cpp b/test/utils.cpp
new file mode 100644
index 00000000..9fe0d477
--- /dev/null
+++ b/test/utils.cpp
@@ -0,0 +1,53 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2018, Google Inc.
+ *
+ * utils.cpp - Miscellaneous utility tests
+ */
+
+#include <iostream>
+#include <sstream>
+
+#include "test.h"
+#include "utils.h"
+
+using namespace std;
+using namespace libcamera;
+
+class UtilsTest : public Test
+{
+protected:
+ int run()
+ {
+ std::ostringstream os;
+ std::string ref;
+
+ os << utils::hex(static_cast<int32_t>(0x42)) << " ";
+ ref += "0x00000042 ";
+ os << utils::hex(static_cast<uint32_t>(0x42)) << " ";
+ ref += "0x00000042 ";
+ os << utils::hex(static_cast<int64_t>(0x42)) << " ";
+ ref += "0x0000000000000042 ";
+ os << utils::hex(static_cast<uint64_t>(0x42)) << " ";
+ ref += "0x0000000000000042 ";
+ os << utils::hex(static_cast<int32_t>(0x42), 4) << " ";
+ ref += "0x0042 ";
+ os << utils::hex(static_cast<uint32_t>(0x42), 1) << " ";
+ ref += "0x42 ";
+ os << utils::hex(static_cast<int64_t>(0x42), 4) << " ";
+ ref += "0x0042 ";
+ os << utils::hex(static_cast<uint64_t>(0x42), 1) << " ";
+ ref += "0x42 ";
+
+ std::string s = os.str();
+ if (s != ref) {
+ cerr << "utils::hex() test failed, expected '" << ref
+ << "', got '" << s << "'";
+ return TestFail;
+ }
+
+ return TestPass;
+ }
+};
+
+TEST_REGISTER(UtilsTest)