Skip to content

Commit

Permalink
zdtm/static: test the offset migration of ELF files
Browse files Browse the repository at this point in the history
Signed-off-by: Michal Clapinski <[email protected]>
  • Loading branch information
mclapinski authored and avagin committed Oct 22, 2023
1 parent e867e59 commit cd11de3
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
1 change: 1 addition & 0 deletions test/zdtm/static/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ TST_NOFILE := \
sigtrap \
sigtrap01 \
change_mnt_context \
fd_offset \
# jobctl00 \
PKG_CONFIG ?= pkg-config
Expand Down
42 changes: 42 additions & 0 deletions test/zdtm/static/fd_offset.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#include <fcntl.h>

#include "zdtmtst.h"
#include "lock.h"

const char *test_doc = "Check that criu properly restores offsets on ELF files";
const char *test_author = "Michal Clapinski <[email protected]>";

void check_offset(int fd)
{
int offset = lseek(fd, 0, SEEK_CUR);
if (offset < 0) {
fail("lseek");
exit(1);
}
if (offset != 0) {
fail("wrong offset; expected: 0, got: %d", offset);
exit(1);
}
}

int main(int argc, char **argv)
{
int fd;

test_init(argc, argv);

fd = open("/proc/self/exe", O_RDONLY);
if (fd < 0) {
fail("open");
exit(1);
}
check_offset(fd);

test_daemon();
test_waitsig();

check_offset(fd);

pass();
return 0;
}

0 comments on commit cd11de3

Please sign in to comment.