mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-20 12:05:48 -04:00

Summary: This converts LLDB's logging to use llvm streams instead of lldb_private::Stream and friends. The changes are mostly straight-forward and amount to s/lldb_private::Stream/llvm::raw_ostream. The part worth calling out is the rewrite of the StreamCallback class. Previously this class contained a per-thread buffer of data written. I assume this had something to do with it trying to make sure each log line is delivered as a single event, instead of multiple (possibly interleaved) events. However, this is no longer relevant as the Log class already writes things to a temporary buffer and then delivers the message as a single "write", so I have just removed the code in question. Reviewers: zturner, clayborg Subscribers: emaste, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D29615 llvm-svn: 294736
29 lines
809 B
C++
29 lines
809 B
C++
//===-- StreamCallbackTest.cpp ----------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Core/StreamCallback.h"
|
|
#include "gtest/gtest.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
static char test_baton;
|
|
static size_t callback_count = 0;
|
|
static void TestCallback(const char *data, void *baton) {
|
|
EXPECT_STREQ("Foobar", data);
|
|
EXPECT_EQ(&test_baton, baton);
|
|
++callback_count;
|
|
}
|
|
|
|
TEST(StreamCallbackTest, Callback) {
|
|
StreamCallback stream(TestCallback, &test_baton);
|
|
stream << "Foobar";
|
|
EXPECT_EQ(1u, callback_count);
|
|
}
|