ez8-co / emock

🐞 下一代C/C++跨平台mock库 (Next generation cross-platform mock library for C/C++)
Apache License 2.0
118 stars 35 forks source link

Mock sleep, crash #11

Closed mmxcraft closed 4 years ago

mmxcraft commented 4 years ago

I use Emock to mock sleep, it will crash at exit.

TEST_F(MockExpect, mockSleep) { EMOCK(sleep).stubs().will(returnValue(1)); sleep(5);

GlobalMockObject::verify();

}

call stack: Program received signal SIGSEGV, Segmentation fault. GIexit (status=status@entry=0) at ../sysdeps/unix/sysv/linux/_exit.c:27 27 ../sysdeps/unix/sysv/linux/_exit.c: No such file or directory. (gdb) where

0 GIexit (status=status@entry=0) at ../sysdeps/unix/sysv/linux/_exit.c:27

1 0x00007ffff6c051c2 in __run_exit_handlers (status=0, listp=, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:132

2 0x00007ffff6c051ea in __GI_exit (status=) at exit.c:139

3 0x00007ffff6be3b9e in __libc_start_main (main=0x5555555609da <main(int, char**)>, argc=2, argv=0x7fffffffe498, init=, fini=, rtld_fini=, stack_end=0x7fffffffe488)

at ../csu/libc-start.c:344

4 0x00005555555608fa in _start ()

my system: Ubuntu18, g++ 7.3

orca-zhang commented 4 years ago

Sorry, functions that uses syscall has not been supported yet. : (

mmxcraft commented 4 years ago

Thanks, got it.