report/deploy/app_tests.ini
So a few months back, I got loaned out to a QA team to help out with a big project that requires coordinating across a bunch of teams - and consequently testing a bunch of different applications that may or may not actually work together directly. Trying to make the best of the situation, I requested access to the new team’s Git repos and started cloning them to try to look at their existing test cases to get an understanding of what the apps do. This is going just fine until I get to the Cheetah* team’s repo, where I find a file path that is so long, Git will not let me pull the file. It’s just a text file, but it’s somehow bizarrely nested in 30 subdirectories that are named in an alternating fashion.
(This is obviously not an actual screenshot from my work laptop - it is merely an illustration of the ridiculousness of this file’s path.)
Flash forward a week. While digging through the Cheetah team’s documentation on Confluence to find anything useful (because of course no one pointed me in the right direction), I found their developer setup guide. The most curious thing I found on this page was a note about a Git command to make pulling very long file paths/names possible. I remembered that insanely long file path and laugh sighed. Then I forgot about it...
Flash forward 4 months. A senior dev who normally works on the Cheetah team and who has similarly been sort of loaned out to help with this big project has been helping me set up a Jenkins Pipeline to deploy an app and run regression tests. Let’s call this dev “Josh” and let’s call this app “DC.” I haven’t had a single clean run of this Pipeline since Josh handed it over a few weeks back. It’s been frustrating, but I’m getting to a point where I’ve seen most of the errors that can occur... and then I get a new more different error: /report/deploy/app_tests.ini is not a valid defaults path. I ask Josh if he’s seen this error before and he tells me that I may have to move the app_tests.ini to a different directory because it might be that the framework doesn’t like that there are two ini files in the same directory (test_report.ini also lives in that same directory). So he tells me to move it:
report/deploy/report/deploy/app_tests.ini
And change the Ansible playbook accordingly.
So, two things:
1. The app I normally do QA for has several ini files in the same directory all the time. This should not be a problem.
2. If there’s one thing I’ve learned so far, it’s that 99% of the time you get an exception on a file/path, it’s because you’ve spelled the file name/path wrong, specified the wrong name/path, or the target file just isn’t there.
This was a case of “the target file just isn’t there” - because the parent directory of report/deploy was actually missing from the jar file. As I reported my findings to Josh, suddenly the vision of that ridiculous file path flashed into my memory. And this is how I learned the standard procedure on Cheetah team is that if it at first it doesn’t succeed, just nest it two directories down.
*Not the actual team name obviously.


















