37 lines
565 B
Nix
37 lines
565 B
Nix
{
|
|
runCommand,
|
|
gcc,
|
|
sparse,
|
|
writeText,
|
|
}:
|
|
let
|
|
src = writeText "CODE.c" ''
|
|
#include <stdio.h>
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
return EXIT_SUCCESS;
|
|
}
|
|
'';
|
|
in
|
|
runCommand "${sparse.pname}-tests"
|
|
{
|
|
buildInputs = [
|
|
gcc
|
|
sparse
|
|
];
|
|
meta.timeout = 3;
|
|
}
|
|
''
|
|
set -eu
|
|
${sparse}/bin/cgcc ${src} > output 2>&1 || ret=$?
|
|
if [[ -z $(<output) ]]; then
|
|
mv output $out
|
|
else
|
|
echo "Test build returned $ret"
|
|
cat output
|
|
exit 1
|
|
fi
|
|
''
|