diff options
| author | Dean Michael Berris <dberris@google.com> | 2017-01-03 04:04:00 +0000 |
|---|---|---|
| committer | Dean Michael Berris <dberris@google.com> | 2017-01-03 04:04:00 +0000 |
| commit | 0aba35710f1db0254f8b2ba3a726d87390ff15ad (patch) | |
| tree | fee3db226d03dd7f4e1f64c7d2023bfc817d7969 /compiler-rt/lib/xray/tests | |
| parent | 887894aaef8fe7b436d48dd825dbcf5dfd4cf3ad (diff) | |
| download | bcm5719-llvm-0aba35710f1db0254f8b2ba3a726d87390ff15ad.tar.gz bcm5719-llvm-0aba35710f1db0254f8b2ba3a726d87390ff15ad.zip | |
Revert "[XRay][compiler-rt] XRay Flight Data Recorder Mode"
This reverts rL290852 as it breaks aarch64 and arm.
llvm-svn: 290854
Diffstat (limited to 'compiler-rt/lib/xray/tests')
| -rw-r--r-- | compiler-rt/lib/xray/tests/CMakeLists.txt | 10 | ||||
| -rw-r--r-- | compiler-rt/lib/xray/tests/unit/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc | 40 | ||||
| -rw-r--r-- | compiler-rt/lib/xray/tests/unit/fdr_logging_test.cc | 127 |
4 files changed, 10 insertions, 169 deletions
diff --git a/compiler-rt/lib/xray/tests/CMakeLists.txt b/compiler-rt/lib/xray/tests/CMakeLists.txt index 2ef277302bf..6cb17934c89 100644 --- a/compiler-rt/lib/xray/tests/CMakeLists.txt +++ b/compiler-rt/lib/xray/tests/CMakeLists.txt @@ -8,15 +8,14 @@ set(XRAY_UNITTEST_CFLAGS ${COMPILER_RT_UNITTEST_CFLAGS} ${COMPILER_RT_GTEST_CFLAGS} -I${COMPILER_RT_SOURCE_DIR}/include - -I${COMPILER_RT_SOURCE_DIR}/lib/xray - -I${COMPILER_RT_SOURCE_DIR}/lib) + -I${COMPILER_RT_SOURCE_DIR}/lib/xray) macro(xray_compile obj_list source arch) get_filename_component(basename ${source} NAME) set(output_obj "${basename}.${arch}.o") get_target_flags_for_arch(${arch} TARGET_CFLAGS) if(NOT COMPILER_RT_STANDALONE_BUILD) - list(APPEND COMPILE_DEPS gtest_main xray) + list(APPEND COMPILE_DEPS gtest_main xray-fdr) endif() clang_compile(${output_obj} ${source} CFLAGS ${XRAY_UNITTEST_CFLAGS} ${TARGET_CFLAGS} @@ -39,7 +38,7 @@ macro(add_xray_unittest testname) get_target_flags_for_arch(${arch} TARGET_LINK_FLAGS) set(TEST_DEPS ${TEST_OBJECTS}) if(NOT COMPILER_RT_STANDALONE_BUILD) - list(APPEND TEST_DEPS gtest_main xray) + list(APPEND TEST_DEPS gtest_main xray-fdr) endif() if(NOT APPLE) add_compiler_rt_test(XRayUnitTests ${testname} @@ -48,8 +47,7 @@ macro(add_xray_unittest testname) LINK_FLAGS ${TARGET_LINK_FLAGS} -lstdc++ -lm ${CMAKE_THREAD_LIBS_INIT} -lpthread - -L${COMPILER_RT_LIBRARY_OUTPUT_DIR} -lclang_rt.xray-${arch} - -latomic -ldl -lrt) + -L${COMPILER_RT_LIBRARY_OUTPUT_DIR} -lclang_rt.xray-fdr-${arch}) endif() # FIXME: Figure out how to run even just the unit tests on APPLE. endforeach() diff --git a/compiler-rt/lib/xray/tests/unit/CMakeLists.txt b/compiler-rt/lib/xray/tests/unit/CMakeLists.txt index 62d01f23958..3e5412d41e6 100644 --- a/compiler-rt/lib/xray/tests/unit/CMakeLists.txt +++ b/compiler-rt/lib/xray/tests/unit/CMakeLists.txt @@ -1,4 +1,2 @@ add_xray_unittest(XRayBufferQueueTest SOURCES buffer_queue_test.cc xray_unit_test_main.cc) -add_xray_unittest(XRayFDRLoggingTest SOURCES - fdr_logging_test.cc xray_unit_test_main.cc) diff --git a/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc b/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc index de855fd8519..d46f19402c2 100644 --- a/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc +++ b/compiler-rt/lib/xray/tests/unit/buffer_queue_test.cc @@ -21,16 +21,10 @@ namespace __xray { static constexpr size_t kSize = 4096; -TEST(BufferQueueTest, API) { - bool Success = false; - BufferQueue Buffers(kSize, 1, Success); - ASSERT_TRUE(Success); -} +TEST(BufferQueueTest, API) { BufferQueue Buffers(kSize, 1); } TEST(BufferQueueTest, GetAndRelease) { - bool Success = false; - BufferQueue Buffers(kSize, 1, Success); - ASSERT_TRUE(Success); + BufferQueue Buffers(kSize, 1); BufferQueue::Buffer Buf; ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code()); ASSERT_NE(nullptr, Buf.Buffer); @@ -39,9 +33,7 @@ TEST(BufferQueueTest, GetAndRelease) { } TEST(BufferQueueTest, GetUntilFailed) { - bool Success = false; - BufferQueue Buffers(kSize, 1, Success); - ASSERT_TRUE(Success); + BufferQueue Buffers(kSize, 1); BufferQueue::Buffer Buf0; EXPECT_EQ(Buffers.getBuffer(Buf0), std::error_code()); BufferQueue::Buffer Buf1; @@ -50,9 +42,7 @@ TEST(BufferQueueTest, GetUntilFailed) { } TEST(BufferQueueTest, ReleaseUnknown) { - bool Success = false; - BufferQueue Buffers(kSize, 1, Success); - ASSERT_TRUE(Success); + BufferQueue Buffers(kSize, 1); BufferQueue::Buffer Buf; Buf.Buffer = reinterpret_cast<void *>(0xdeadbeef); Buf.Size = kSize; @@ -60,9 +50,7 @@ TEST(BufferQueueTest, ReleaseUnknown) { } TEST(BufferQueueTest, ErrorsWhenFinalising) { - bool Success = false; - BufferQueue Buffers(kSize, 2, Success); - ASSERT_TRUE(Success); + BufferQueue Buffers(kSize, 2); BufferQueue::Buffer Buf; ASSERT_EQ(Buffers.getBuffer(Buf), std::error_code()); ASSERT_NE(nullptr, Buf.Buffer); @@ -74,9 +62,7 @@ TEST(BufferQueueTest, ErrorsWhenFinalising) { } TEST(BufferQueueTest, MultiThreaded) { - bool Success = false; - BufferQueue Buffers(kSize, 100, Success); - ASSERT_TRUE(Success); + BufferQueue Buffers(kSize, 100); auto F = [&] { BufferQueue::Buffer B; while (!Buffers.getBuffer(B)) { @@ -92,18 +78,4 @@ TEST(BufferQueueTest, MultiThreaded) { F(); } -TEST(BufferQueueTest, Apply) { - bool Success = false; - BufferQueue Buffers(kSize, 10, Success); - ASSERT_TRUE(Success); - auto Count = 0; - BufferQueue::Buffer B; - for (int I = 0; I < 10; ++I) { - ASSERT_FALSE(Buffers.getBuffer(B)); - ASSERT_FALSE(Buffers.releaseBuffer(B)); - } - Buffers.apply([&](const BufferQueue::Buffer &B) { ++Count; }); - ASSERT_EQ(Count, 10); -} - } // namespace __xray diff --git a/compiler-rt/lib/xray/tests/unit/fdr_logging_test.cc b/compiler-rt/lib/xray/tests/unit/fdr_logging_test.cc deleted file mode 100644 index 34366927f1b..00000000000 --- a/compiler-rt/lib/xray/tests/unit/fdr_logging_test.cc +++ /dev/null @@ -1,127 +0,0 @@ -//===-- fdr_logging_test.cc -----------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file is a part of XRay, a function call tracing system. -// -//===----------------------------------------------------------------------===// -#include "xray_fdr_logging.h" -#include "gtest/gtest.h" - -#include <fcntl.h> -#include <iostream> -#include <sys/mman.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <system_error> -#include <unistd.h> - -#include "xray/xray_records.h" - -namespace __xray { -namespace { - -constexpr auto kBufferSize = 16384; -constexpr auto kBufferMax = 10; - -struct ScopedFileCloserAndDeleter { - explicit ScopedFileCloserAndDeleter(int Fd, const char *Filename) - : Fd(Fd), Filename(Filename) {} - - ~ScopedFileCloserAndDeleter() { - if (Fd) { - close(Fd); - unlink(Filename); - } - } - - int Fd; - const char *Filename; -}; - -TEST(FDRLoggingTest, Simple) { - FDRLoggingOptions Options; - Options.ReportErrors = true; - char TmpFilename[] = "fdr-logging-test.XXXXXX"; - Options.Fd = mkstemp(TmpFilename); - ASSERT_NE(Options.Fd, -1); - ASSERT_EQ(FDRLogging_init(kBufferSize, kBufferMax, &Options, - sizeof(FDRLoggingOptions)), - XRayLogInitStatus::XRAY_LOG_INITIALIZED); - FDRLogging_handleArg0(1, XRayEntryType::ENTRY); - FDRLogging_handleArg0(1, XRayEntryType::EXIT); - ASSERT_EQ(FDRLogging_finalize(), XRayLogInitStatus::XRAY_LOG_FINALIZED); - ASSERT_EQ(FDRLogging_flush(), XRayLogFlushStatus::XRAY_LOG_FLUSHED); - ASSERT_EQ(FDRLogging_reset(), XRayLogInitStatus::XRAY_LOG_UNINITIALIZED); - - // To do this properly, we have to close the file descriptor then re-open the - // file for reading this time. - ASSERT_EQ(close(Options.Fd), 0); - int Fd = open(TmpFilename, O_RDONLY); - ASSERT_NE(-1, Fd); - ScopedFileCloserAndDeleter Guard(Fd, TmpFilename); - auto Size = lseek(Fd, 0, SEEK_END); - ASSERT_NE(Size, 0); - // Map the file contents. - const char *Contents = static_cast<const char *>( - mmap(NULL, Size, PROT_READ, MAP_PRIVATE, Fd, 0)); - ASSERT_NE(Contents, nullptr); - - XRayFileHeader H; - memcpy(&H, Contents, sizeof(XRayFileHeader)); - ASSERT_EQ(H.Version, 1); - ASSERT_EQ(H.Type, FileTypes::FDR_LOG); - - // We require one buffer at least to have the "start of buffer" metadata - // record. - MetadataRecord MDR; - memcpy(&MDR, Contents + sizeof(XRayFileHeader), sizeof(MetadataRecord)); - ASSERT_EQ(MDR.RecordKind, MetadataRecord::RecordKinds::NewBuffer); -} - -TEST(FDRLoggingTest, Multiple) { - FDRLoggingOptions Options; - char TmpFilename[] = "fdr-logging-test.XXXXXX"; - Options.Fd = mkstemp(TmpFilename); - ASSERT_NE(Options.Fd, -1); - ASSERT_EQ(FDRLogging_init(kBufferSize, kBufferMax, &Options, - sizeof(FDRLoggingOptions)), - XRayLogInitStatus::XRAY_LOG_INITIALIZED); - for (uint64_t I = 0; I < 100; ++I) { - FDRLogging_handleArg0(1, XRayEntryType::ENTRY); - FDRLogging_handleArg0(1, XRayEntryType::EXIT); - } - ASSERT_EQ(FDRLogging_finalize(), XRayLogInitStatus::XRAY_LOG_FINALIZED); - ASSERT_EQ(FDRLogging_flush(), XRayLogFlushStatus::XRAY_LOG_FLUSHED); - ASSERT_EQ(FDRLogging_reset(), XRayLogInitStatus::XRAY_LOG_UNINITIALIZED); - - // To do this properly, we have to close the file descriptor then re-open the - // file for reading this time. - ASSERT_EQ(close(Options.Fd), 0); - int Fd = open(TmpFilename, O_RDONLY); - ASSERT_NE(-1, Fd); - ScopedFileCloserAndDeleter Guard(Fd, TmpFilename); - auto Size = lseek(Fd, 0, SEEK_END); - ASSERT_NE(Size, 0); - // Map the file contents. - const char *Contents = static_cast<const char *>( - mmap(NULL, Size, PROT_READ, MAP_PRIVATE, Fd, 0)); - ASSERT_NE(Contents, nullptr); - - XRayFileHeader H; - memcpy(&H, Contents, sizeof(XRayFileHeader)); - ASSERT_EQ(H.Version, 1); - ASSERT_EQ(H.Type, FileTypes::FDR_LOG); - - MetadataRecord MDR0; - memcpy(&MDR0, Contents + sizeof(XRayFileHeader), sizeof(MetadataRecord)); - ASSERT_EQ(MDR0.RecordKind, MetadataRecord::RecordKinds::NewBuffer); -} - -} // namespace -} // namespace __xray |

