summaryrefslogtreecommitdiffstats
path: root/src/test/test-architecture.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/test-architecture.c')
-rw-r--r--src/test/test-architecture.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/test/test-architecture.c b/src/test/test-architecture.c
index 8731e1c..6b7777d 100644
--- a/src/test/test-architecture.c
+++ b/src/test/test-architecture.c
@@ -3,6 +3,7 @@
#include "architecture.h"
#include "errno-util.h"
#include "log.h"
+#include "path-util.h"
#include "tests.h"
#include "virt.h"
@@ -13,18 +14,18 @@ int main(int argc, char *argv[]) {
test_setup_logging(LOG_INFO);
- assert_se(architecture_from_string("") < 0);
- assert_se(architecture_from_string(NULL) < 0);
- assert_se(architecture_from_string("hoge") < 0);
- assert_se(architecture_to_string(-1) == NULL);
- assert_se(architecture_from_string(architecture_to_string(0)) == 0);
- assert_se(architecture_from_string(architecture_to_string(1)) == 1);
+ ASSERT_LT(architecture_from_string(""), 0);
+ ASSERT_LT(architecture_from_string(NULL), 0);
+ ASSERT_LT(architecture_from_string("hoge"), 0);
+ ASSERT_NULL(architecture_to_string(-1));
+ ASSERT_EQ(architecture_from_string(architecture_to_string(0)), 0);
+ ASSERT_EQ(architecture_from_string(architecture_to_string(1)), 1);
v = detect_virtualization();
if (ERRNO_IS_NEG_PRIVILEGE(v))
return log_tests_skipped("Cannot detect virtualization");
- assert_se(v >= 0);
+ ASSERT_OK(v);
log_info("virtualization=%s id=%s",
VIRTUALIZATION_IS_CONTAINER(v) ? "container" :
@@ -32,22 +33,34 @@ int main(int argc, char *argv[]) {
virtualization_to_string(v));
a = uname_architecture();
- assert_se(a >= 0);
+ ASSERT_OK(a);
p = architecture_to_string(a);
assert_se(p);
log_info("uname architecture=%s", p);
- assert_se(architecture_from_string(p) == a);
+ ASSERT_EQ(architecture_from_string(p), a);
a = native_architecture();
- assert_se(a >= 0);
+ ASSERT_OK(a);
p = architecture_to_string(a);
assert_se(p);
log_info("native architecture=%s", p);
- assert_se(architecture_from_string(p) == a);
+ ASSERT_EQ(architecture_from_string(p), a);
log_info("primary library architecture=" LIB_ARCH_TUPLE);
+ for (Architecture i = 0; i < _ARCHITECTURE_MAX; i++) {
+ const char *n = ASSERT_PTR(architecture_to_string(i));
+
+ /* Let's validate that all architecture names we define are good for inclusion in .v/
+ * filename patterns which use "." and "_" as field separators in the filenames. */
+ assert(filename_part_is_valid(n));
+ assert(!strchr(n, '_'));
+ assert(!strchr(n, '.'));
+
+ log_info("Good for inclusion in .v/ filenames: %s", n);
+ }
+
return 0;
}