mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-20 08:47:19 +08:00

This test uses the test itself as an input to stating regular files. This gets funky though: when we run check in parallel, the output object dir is the subdir that matches the .exp file. When we run with -j1, the output object dir is the sim builddir itself. The old test would append argv[0] to find the file, while the new test uses basename on it. Each method works in only one of the aforementioned build scenarios. Rather than complicate this any more, switch to a different file that we know will always exist: the Makefile.
32 lines
660 B
C
32 lines
660 B
C
/* Simulator options:
|
|
#sim: --sysroot=$pwd
|
|
*/
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
#include <unistd.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
int main (int argc, char *argv[])
|
|
{
|
|
/* Pick a regular file we know will always be in the sim builddir. */
|
|
char path[1024] = "/Makefile";
|
|
struct stat buf;
|
|
|
|
if (stat (".", &buf) != 0
|
|
|| !S_ISDIR (buf.st_mode))
|
|
{
|
|
fprintf (stderr, "cwd is not a directory\n");
|
|
return 1;
|
|
}
|
|
if (stat (path, &buf) != 0
|
|
|| !S_ISREG (buf.st_mode))
|
|
{
|
|
fprintf (stderr, "%s: is not a regular file\n", path);
|
|
return 1;
|
|
}
|
|
printf ("pass\n");
|
|
exit (0);
|
|
}
|