return check('hello.c exists') .exists('hello.c'); }, 'compiles': ['exists', function(check) { return check('hello.c compiles') .run('clang -‐o hello hello.c -‐lcs50 -‐lm') .exit(0); }], 'prints': ['compiles', function(check) { return check('prints "hello, world\\n"') .run('clang -‐o hello hello.c -‐lcs50 -‐lm') .exit(0) .run('./hello') .stdout(/hello, world\n/); }], 'returns': ['compiles', function(check) { return check('main returns 0') .run('clang -‐o hello hello.c -‐lcs50 -‐lm') .exit(0) .run('./hello') .stdout() .exit(0); }] };