mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 02:14:37 +00:00
zdtm: Add shm hugetlb test
Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
This commit is contained in:
parent
d22e472cf2
commit
87a5694b4a
4 changed files with 26 additions and 3 deletions
|
|
@ -436,6 +436,7 @@ TST = \
|
|||
umask00 \
|
||||
cmdlinenv00 \
|
||||
shm-unaligned \
|
||||
shm-hugetlb \
|
||||
|
||||
TST_STATE = \
|
||||
conntracks \
|
||||
|
|
@ -475,6 +476,9 @@ cmdlinenv00.pid: cmdlinenv00
|
|||
shm-unaligned.pid: shm-unaligned
|
||||
$(<D)/$(<F) --pidfile=$@ --outfile=$<.out --shmem_size=5000
|
||||
|
||||
shm-hugetlb.pid: shm-hugetlb
|
||||
$(<D)/$(<F) --pidfile=$@ --outfile=$<.out --shmem_size=4194304
|
||||
|
||||
env00.pid: env00
|
||||
$(<D)/$(<F) --pidfile=$@ --outfile=$<.out --envname=ENV_00_TEST
|
||||
umask00.pid: umask00
|
||||
|
|
@ -636,6 +640,7 @@ scm03-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
|||
pty-console: CFLAGS += -D ZDTM_DEV_CONSOLE
|
||||
|
||||
shm-unaligned: CFLAGS += -DZDTM_SHM_UNALIGNED
|
||||
shm-hugetlb: CFLAGS += -DZDTM_HUGETLB
|
||||
|
||||
s390x_regs_check: LDFLAGS += -pthread
|
||||
s390x_gs_threads: LDFLAGS += -pthread
|
||||
|
|
|
|||
1
test/zdtm/static/shm-hugetlb.c
Symbolic link
1
test/zdtm/static/shm-hugetlb.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
shm.c
|
||||
1
test/zdtm/static/shm-hugetlb.desc
Normal file
1
test/zdtm/static/shm-hugetlb.desc
Normal file
|
|
@ -0,0 +1 @@
|
|||
{'flavor': 'ns', 'flags': 'suid'}
|
||||
|
|
@ -56,13 +56,17 @@ static int get_shm_seg(int key, size_t size, unsigned int flags)
|
|||
|
||||
static int prepare_shm(int key, size_t size)
|
||||
{
|
||||
int id;
|
||||
int id, flag = 0;
|
||||
|
||||
id = get_shm_seg(key, shmem_size, IPC_CREAT | IPC_EXCL);
|
||||
#ifdef ZDTM_HUGETLB
|
||||
flag = SHM_HUGETLB;
|
||||
#endif
|
||||
|
||||
id = get_shm_seg(key, size, IPC_CREAT | IPC_EXCL | flag);
|
||||
if (id == -1) {
|
||||
return -1;
|
||||
}
|
||||
if (fill_shm_seg(id, shmem_size) < 0)
|
||||
if (fill_shm_seg(id, size) < 0)
|
||||
return -1;
|
||||
return id;
|
||||
}
|
||||
|
|
@ -105,6 +109,7 @@ int main(int argc, char **argv)
|
|||
int shm;
|
||||
int fail_count = 0;
|
||||
int ret = -1;
|
||||
dev_t dev;
|
||||
|
||||
void *mem;
|
||||
uint32_t crc = INIT_CRC;
|
||||
|
|
@ -133,6 +138,12 @@ int main(int argc, char **argv)
|
|||
goto out;
|
||||
}
|
||||
|
||||
dev = get_mapping_dev(mem);
|
||||
if (dev == (dev_t)-1) {
|
||||
fail("Can't get mapping dev");
|
||||
return -1;
|
||||
}
|
||||
|
||||
test_daemon();
|
||||
test_waitsig();
|
||||
|
||||
|
|
@ -155,6 +166,11 @@ int main(int argc, char **argv)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (dev != get_mapping_dev(mem)) {
|
||||
fail("Mapping dev mismatch");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (shmdt(mem) < 0) {
|
||||
pr_perror("Can't detach shm");
|
||||
return -1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue