#include <vector>
#include <boost/filesystem.hpp>
-#include <folly/Bits.h>
#include <folly/Conv.h>
#include <folly/Format.h>
#include <folly/Random.h>
-#include <folly/Shell.h>
#include <folly/String.h>
#include <folly/Subprocess.h>
+#include <folly/lang/Bits.h>
#include <folly/portability/GTest.h>
#include <folly/portability/Unistd.h>
#include <folly/tracing/StaticTracepoint.h>
}
static std::string getNoteRawContent(const std::string& fileName) {
- auto args = folly::shellify(
- "objdump --{} --{}={} {}",
- "full-content",
- "section",
- ".note." + kUSDTSubsectionName,
- fileName);
- auto subProc =
- folly::Subprocess(args, folly::Subprocess::Options().pipeStdout());
+ auto subProc = folly::Subprocess(
+ std::vector<std::string>{
+ "objdump",
+ "--full-content",
+ "--section=.note." + kUSDTSubsectionName,
+ fileName,
+ },
+ folly::Subprocess::Options().pipeStdout().usePath());
auto output = subProc.communicate();
auto retCode = subProc.wait();
CHECK(retCode.exited());
return false;
}
-static int arrayTestFunc() {
- int v1 = folly::Random::rand32();
- int v2 = folly::Random::rand32();
- int64_t v3 = v1 + v2;
- int a[4] = {v1, v2, v1, v2};
+static uint32_t arrayTestFunc() {
+ uint32_t v1 = folly::Random::rand32();
+ uint32_t v2 = folly::Random::rand32();
+ uint64_t v3 = v1 + v2;
+ uint32_t a[4] = {v1, v2, v1, v2};
FOLLY_SDT(folly, test_static_tracepoint_array, a, v1, v3);
return v1 + v2;
}
checkTracepointArguments(arguments, expected);
}
-static int pointerTestFunc() {
- int v1 = folly::Random::rand32();
- int v2 = folly::Random::rand32();
+static uint32_t pointerTestFunc() {
+ uint32_t v1 = folly::Random::rand32();
+ uint32_t v2 = folly::Random::rand32();
std::string str = "test string";
const char* a = str.c_str();
FOLLY_SDT(folly, test_static_tracepoint_pointer, a, v2, &v1);
EXPECT_TRUE(arguments.empty());
}
-static int manyArgTypesTestFunc() {
+static uint32_t manyArgTypesTestFunc() {
uint32_t a = folly::Random::rand32();
uint32_t b = folly::Random::rand32();
bool bool_ = (a % 2) == (b % 2);
checkTracepointArguments(arguments, expected);
}
-FOLLY_ALWAYS_INLINE static int alwaysInlineTestFunc() {
+FOLLY_ALWAYS_INLINE static uint32_t alwaysInlineTestFunc() {
uint32_t a = folly::Random::rand32();
uint32_t b = folly::Random::rand32();
FOLLY_SDT(folly, test_static_tracepoint_always_inline, a, b);
static void branchTestFunc() {
uint32_t a = folly::Random::rand32();
- uint32_t b = folly::Random::rand32();
+ uint32_t b = std::max(1u, folly::Random::rand32());
if (a > b) {
FOLLY_SDT(folly, test_static_tracepoint_branch_1, a / b);
} else {