Files
ark_js_runtime/ecmascript/tooling/test/utils/test_util.cpp
T
wengchangcheng d6c835caea Descriptor: debugger refactor
details:
1. debugger refactor, don't use runtime debugger
2. fix debugger crash

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I52VXK

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I08e3c86bf659b9e0a44d014d13b11462d50218b3
2022-04-17 01:16:26 +08:00

71 lines
2.0 KiB
C++

/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "ecmascript/tooling/test/utils/test_util.h"
namespace panda::ecmascript::tooling::test {
TestMap TestUtil::testMap_;
os::memory::Mutex TestUtil::eventMutex_;
os::memory::ConditionVariable TestUtil::eventCv_;
DebugEvent TestUtil::lastEvent_ = DebugEvent::UNINITIALIZED;
bool TestUtil::initialized_ = false;
os::memory::Mutex TestUtil::suspendMutex_;
os::memory::ConditionVariable TestUtil::suspendCv_;
bool TestUtil::suspended_ = false;
JSPtLocation TestUtil::lastEventLocation_("", EntityId(0), 0);
std::ostream &operator<<(std::ostream &out, DebugEvent value)
{
const char *s = nullptr;
#define ADD_CASE(entry) \
case (entry): \
s = #entry; \
break
switch (value) {
ADD_CASE(DebugEvent::BREAKPOINT);
ADD_CASE(DebugEvent::LOAD_MODULE);
ADD_CASE(DebugEvent::PAUSED);
ADD_CASE(DebugEvent::EXCEPTION);
ADD_CASE(DebugEvent::METHOD_ENTRY);
ADD_CASE(DebugEvent::SINGLE_STEP);
ADD_CASE(DebugEvent::VM_START);
ADD_CASE(DebugEvent::VM_INITIALIZATION);
ADD_CASE(DebugEvent::VM_DEATH);
default: {
ASSERT(false && "Unknown DebugEvent"); // NOLINT
}
}
#undef ADD_CASE
return out << s;
}
std::ostream &operator<<(std::ostream &out, std::nullptr_t)
{
return out << "nullptr";
}
TestEvents::TestEvents()
{
scenario = []() {
ASSERT_EXITED();
return true;
};
}
} // namespace panda::ecmascript::tooling::test