in ccmlib/common.py [0:0]
def get_stress_bin(install_dir):
candidates = [
os.path.join(install_dir, 'contrib', 'stress', 'bin', 'stress'),
os.path.join(install_dir, 'tools', 'stress', 'bin', 'stress'),
os.path.join(install_dir, 'tools', 'bin', 'stress'),
os.path.join(install_dir, 'tools', 'bin', 'cassandra-stress'),
os.path.join(install_dir, 'resources', 'cassandra', 'tools', 'bin', 'cassandra-stress')
]
candidates = [platform_binary(s) for s in candidates]
for candidate in candidates:
if os.path.exists(candidate):
stress = candidate
break
else:
raise Exception("Cannot find stress binary (maybe it isn't compiled)")
# make sure it's executable -> win32 doesn't care
if sys.platform == "cygwin":
# Yes, we're unwinding the path join from above.
path = parse_path(stress)
short_bin = parse_bin(stress)
add_exec_permission(path, short_bin)
elif not os.access(stress, os.X_OK):
try:
os.chmod(stress, os.stat(stress).st_mode | stat.S_IXUSR)
except:
raise Exception("stress binary is not executable: %s" % (stress,))
return stress