* Run "1_setup.sh" * Start up Sourcetrail * Click "New Project" * Enter a project name * Set "./working_copy" as project location * Click "Add Source Group" * Select "C++" -> C/C++ from Compilation Database" * Click "Next" * Pick "compile_commands.json" at "Compilation Database" * Click "show source files" button * Validate "Source Files" list contains "src/main.cpp" * Click "OK" * Validate "Header Files & Directories to Index" contains "src" entry * Add "**/Foo.h" to "Excluded Files & Directories" * Pick any file at "Precompiled Header File" * Validate dialog appears that asks NOT to specify PCH input file * Click "Cancel" * Clear "Precompiled Header File" * Click "Create" * Validate "All files" is the only option selectable * Click "Start" * Validate Project indexed without error * Click "OK" * Press "Refresh" button * Validate "Updated files" is selected * Validate "source files to index" shows "0" * Click "Cancel" * Run "2_update.sh" * Press "Refresh" button * Validate "Files to clear" shows "3" * Validate "source files to index" shows "1" * Click "Start" * Validate Project indexed without error * Click "OK" * Close Sourcetrail * Run "3_teardown.sh"