Files
clang-p2996/lldb/test/API/macosx/find-dsym/deep-bundle/main.c
Jonas Devlieghere 37ec83fcfc [lldb] Use file to synchronize TestDeepBundle and TestBundleWithDotInFilename
Currently these two tests use an arbitrary wait of 5 seconds for the
inferior to finish setting up. When the test machine is under heavy load
this sometimes is insufficient leading to spurious test failures. This
patch adds synchronization trough a token on the file system. In
addition to making the test more reliable it also makes it much faster
because we no longer have to wait the full 5 seconds if the setup was
completed faster than that.

Differential revision: https://reviews.llvm.org/D85915
2020-08-14 08:32:21 -07:00

30 lines
845 B
C

#include <MyFramework/MyFramework.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int setup_is_complete = 0;
int main(int argc, const char **argv)
{
char command[8192];
sprintf (command,
"/bin/rm -rf %s/MyFramework %s/MyFramework.framework %s/MyFramework.framework.dSYM",
argv[1], argv[1], argv[1]);
system (command);
FILE *fp = fopen (argv[2], "w");
fclose (fp);
setup_is_complete = 1;
// At this point we want lldb to attach to the process. If lldb attaches
// before we've removed the framework we're running against, it will be
// easy for lldb to find the binary & dSYM without using target.exec-search-paths,
// which is the point of this test.
for (int loop_limiter = 0; loop_limiter < 100; loop_limiter++)
sleep (1);
return foo();
}