{
.name = "x86_64",
.platform = "x86",
- .compatible = { "i686", NULL },
.personality = PER_LINUX,
.magic = "7f454c4602010100000000000000000002003e00",
},
- {
- .name = "i686",
- .platform = "x86",
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002000300",
- },
// ARM
{
.personality = PER_LINUX,
.magic = "7f454c460201010000000000000000000200b700",
},
- {
- .name = "armv7hl",
- .platform = "arm",
- .compatible = { "armv7l", "armv6l", "armv5tejl", "armv5tel", NULL },
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002002800",
- },
- {
- .name = "armv7l",
- .platform = "arm",
- .compatible = { "armv6l", "armv5tejl", "armv5tel", NULL },
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002002800",
- },
- {
- .name = "armv6l",
- .platform = "arm",
- .compatible = { "armv5tejl", "armv5tel", NULL },
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002002800",
- },
- {
- .name = "armv5tejl",
- .platform = "arm",
- .compatible = { "armv5tel", NULL },
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002002800",
- },
- {
- .name = "armv5tel",
- .platform = "arm",
- .personality = PER_LINUX32,
- .magic = "7f454c4601010100000000000000000002002800",
- },
// RISC-V
{
r = pakfire_arch_supported("x86_64");
ASSERT(r);
- r = pakfire_arch_supported("i686");
- ASSERT(r);
-
// Check non-existant architecture
r = pakfire_arch_supported("ABC");
ASSERT(!r);
return EXIT_SUCCESS;
}
-static int test_compatible(const struct test* t) {
- int r;
-
- // x86_64 can build i686
- r = pakfire_arch_is_compatible("x86_64", "i686");
- ASSERT(r);
-
- // i686 can NOT build i686
- r = pakfire_arch_is_compatible("i686", "x86_64");
- ASSERT(!r);
-
- // x86_64 can build itself
- r = pakfire_arch_is_compatible("x86_64", "x86_64");
- ASSERT(r);
-
- // x86_64 can NOT build a non-existant architecture
- r = pakfire_arch_is_compatible("x86_64", "ABC");
- ASSERT(!r);
-
- // A non-existant architecture cannot build anything
- r = pakfire_arch_is_compatible("ABC", "x86_64");
- ASSERT(!r);
-
- return EXIT_SUCCESS;
-
-FAIL:
- return EXIT_SUCCESS;
-}
-
static int test_machine(const struct test* t) {
char machine[128];
int r;
int main(int argc, const char* argv[]) {
testsuite_add_test(test_native);
testsuite_add_test(test_supported);
- testsuite_add_test(test_compatible);
testsuite_add_test(test_machine);
return testsuite_run(argc, argv);