37 строки
987 B
C
37 строки
987 B
C
/*
|
|
* Copyright 2020 The Emscripten Authors. All rights reserved.
|
|
* Emscripten is available under two separate licenses, the MIT license and the
|
|
* University of Illinois/NCSA Open Source License. Both these licenses can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
#include <assert.h>
|
|
|
|
int main(void) {
|
|
#ifdef ENV_NODE
|
|
#ifndef _W_EXITCODE
|
|
# define _W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
|
#endif
|
|
assert(system(NULL) == 1);
|
|
assert(system("") == 0);
|
|
assert(system("'something like this does not exist (hopefully)'") == _W_EXITCODE(127, 0));
|
|
assert(system("false") == _W_EXITCODE(1, 0));
|
|
assert(system("true") == _W_EXITCODE(0, 0));
|
|
assert(system("kill $$") == _W_EXITCODE(0, 15));
|
|
system("echo OK");
|
|
#else
|
|
assert(system(NULL) == 0);
|
|
assert(system("") == -1);
|
|
assert(errno == EAGAIN);
|
|
assert(system("true") == -1);
|
|
assert(errno == EAGAIN);
|
|
#ifdef REPORT_RESULT
|
|
REPORT_RESULT(0);
|
|
#endif
|
|
#endif
|
|
return 0;
|
|
}
|