tests: add sysinfo.test

* tests/sysinfo.c: New file.
* tests/sysinfo.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sysinfo.
(TESTS): Add sysinfo.test.
* tests/.gitignore: Add sysinfo.
This commit is contained in:
Elvira Khabirova 2015-08-03 06:30:49 +03:00 committed by Dmitry V. Levin
parent 0ec7e21155
commit 22d997e538
4 changed files with 56 additions and 0 deletions

1
tests/.gitignore vendored
View File

@ -45,6 +45,7 @@ stack-fcall
stat
stat32
statfs
sysinfo
time
uid
uid16

View File

@ -58,6 +58,7 @@ check_PROGRAMS = \
stat \
stat32 \
statfs \
sysinfo \
time \
uid \
uid16 \
@ -123,6 +124,7 @@ TESTS = \
stat32-v.test \
stat64-v.test \
statfs.test \
sysinfo.test \
memfd_create.test \
mmap.test \
mmap64.test \

40
tests/sysinfo.c Normal file
View File

@ -0,0 +1,40 @@
#include <stdio.h>
#include <sys/sysinfo.h>
int
main (void)
{
struct sysinfo si;
if (sysinfo(&si) == -1)
return 77;
printf("sysinfo({uptime=%llu"
", loads=[%llu, %llu, %llu]"
", totalram=%llu"
", freeram=%llu"
", sharedram=%llu"
", bufferram=%llu"
", totalswap=%llu"
", freeswap=%llu"
", procs=%u"
", totalhigh=%llu"
", freehigh=%llu"
", mem_unit=%u"
"}) = 0\n",
(unsigned long long) si.uptime
, (unsigned long long) si.loads[0]
, (unsigned long long) si.loads[1]
, (unsigned long long) si.loads[2]
, (unsigned long long) si.totalram
, (unsigned long long) si.freeram
, (unsigned long long) si.sharedram
, (unsigned long long) si.bufferram
, (unsigned long long) si.totalswap
, (unsigned long long) si.freeswap
, (unsigned) si.procs
, (unsigned long long) si.totalhigh
, (unsigned long long) si.freehigh
, si.mem_unit
);
puts("+++ exited with 0 +++");
return 0;
}

13
tests/sysinfo.test Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
# Check decoding of sysinfo syscall
. "${srcdir=.}/init.sh"
run_prog > /dev/null
OUT="$LOG.out"
run_strace -esysinfo $args > "$OUT"
match_diff "$OUT" "$LOG"
rm -f "$OUT"
exit 0