cef/tests/ceftests/resource_util_linux.cc

38 lines
856 B
C++
Raw Normal View History

// Copyright (c) 2013 The Chromium Embedded Framework Authors.
// Portions copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "tests/shared/browser/resource_util.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>
namespace client {
bool GetResourceDir(std::string& dir) {
char buff[1024];
// Retrieve the executable path.
ssize_t len = readlink("/proc/self/exe", buff, sizeof(buff) - 1);
2023-01-02 23:59:03 +01:00
if (len == -1) {
return false;
2023-01-02 23:59:03 +01:00
}
buff[len] = 0;
// Remove the executable name from the path.
char* pos = strrchr(buff, '/');
2023-01-02 23:59:03 +01:00
if (!pos) {
return false;
2023-01-02 23:59:03 +01:00
}
// Add "ceftests_files" to the path.
strcpy(pos + 1, "ceftests_files");
dir = std::string(buff);
return true;
}
} // namespace client