-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathuname.cpp
47 lines (39 loc) · 1.04 KB
/
uname.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "faasm/faasm.h"
#include <cstring>
#include <stdio.h>
#include <sys/utsname.h>
/**
* Checks uname gives info back
*/
int _check_value(const char* fieldName,
const char* actual,
const char* expected)
{
if (strcmp(actual, expected) != 0) {
printf("uname field %s not as expected (actual=%s expected=%s)\n",
fieldName,
actual,
expected);
return 1;
}
return 0;
}
int main(int argc, char* argv[])
{
// Make the call
utsname u{};
uname(&u);
// Check the result
int res = 0;
res += _check_value("sysname", u.sysname, "wasi");
res += _check_value("release", u.release, "0.0.0");
res += _check_value("version", u.version, "0.0.0");
res += _check_value("machine", u.machine, "wasm32");
res += _check_value("domainname", u.domainname, "(none)");
res += _check_value("nodename", u.nodename, "(none)");
if (res > 0) {
printf("ERROR - uname check failed\n");
return 1;
}
return 0;
}