Backed out 9 changesets (bug 1663924, bug 1664844) for Linux Mochitests leaks. CLOSED TREE

Backed out changeset 8d28611ac9b2 (bug 1663924)
Backed out changeset e0b0b3a19544 (bug 1663924)
Backed out changeset 884e286909f9 (bug 1663924)
Backed out changeset ffed28f0b547 (bug 1664844)
Backed out changeset 4c22c3c8aa28 (bug 1663924)
Backed out changeset fcaed021597c (bug 1663924)
Backed out changeset 30394cbcaaf6 (bug 1663924)
Backed out changeset 014bcf5d13b9 (bug 1663924)
Backed out changeset ccf09dfa817a (bug 1663924)
This commit is contained in:
Razvan Maries 2020-09-16 19:16:21 +03:00
Родитель 5bd443933f
Коммит 559e163f24
5 изменённых файлов: 1244 добавлений и 961 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -157,26 +157,11 @@ nsDependentCSubstring GetLeafName(const nsACString& aPath) {
void LogError(const nsLiteralCString& aModule, const nsACString& aExpr,
const nsACString& aSourceFile, int32_t aSourceLine) {
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
nsAutoCString extraInfosString;
const auto* const extraInfos = ScopedLogExtraInfo::GetExtraInfoMap();
if (extraInfos) {
for (const auto& item : *extraInfos) {
extraInfosString.Append(", "_ns + nsDependentCString(item.first) +
"="_ns + item.second);
}
}
#endif
#ifdef DEBUG
NS_DebugBreak(
NS_DEBUG_WARNING, nsAutoCString(aModule + " failure"_ns).get(),
(extraInfosString.IsEmpty() ? nsPromiseFlatCString(aExpr)
: static_cast<const nsCString&>(nsAutoCString(
aExpr + extraInfosString)))
.get(),
nsPromiseFlatCString(GetLeafName(aSourceFile)).get(), aSourceLine);
NS_DebugBreak(NS_DEBUG_WARNING, nsAutoCString(aModule + " failure"_ns).get(),
nsPromiseFlatCString(aExpr).get(),
nsPromiseFlatCString(GetLeafName(aSourceFile)).get(),
aSourceLine);
#endif
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
@ -185,8 +170,7 @@ void LogError(const nsLiteralCString& aModule, const nsACString& aExpr,
if (console) {
NS_ConvertUTF8toUTF16 message(aModule + " failure: '"_ns + aExpr +
"', file "_ns + GetLeafName(aSourceFile) +
", line "_ns + GetIntCString(aSourceLine) +
extraInfosString);
", line "_ns + GetIntCString(aSourceLine));
// The concatenation above results in a message like:
// QuotaManager failure: 'EXP', file XYZ, line N)

Просмотреть файл

@ -861,77 +861,6 @@ Result<bool, nsresult> WarnIfFileIsUnknown(nsIFile& aFile,
int32_t aSourceLine);
#endif
struct MOZ_STACK_CLASS ScopedLogExtraInfo {
static constexpr const char kTagQuery[] = "query";
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
using ScopedLogExtraInfoMap = std::map<const char*, nsCString>;
template <size_t N>
ScopedLogExtraInfo(const char (&aTag)[N], const nsACString& aExtraInfo)
: mTag{aTag} {
AddInfo(aTag, aExtraInfo);
}
~ScopedLogExtraInfo() {
if (mTag && sInfos.init()) {
if (mPreviousValue.IsEmpty()) {
sInfos.get()->erase(mTag);
} else {
sInfos.get()->find(mTag)->second = mPreviousValue;
}
}
}
ScopedLogExtraInfo(ScopedLogExtraInfo&& aOther)
: mTag(aOther.mTag), mPreviousValue(std::move(aOther.mPreviousValue)) {
aOther.mTag = nullptr;
}
ScopedLogExtraInfo& operator=(ScopedLogExtraInfo&& aOther) = delete;
ScopedLogExtraInfo(const ScopedLogExtraInfo&) = delete;
ScopedLogExtraInfo& operator=(const ScopedLogExtraInfo&) = delete;
static const ScopedLogExtraInfoMap* GetExtraInfoMap() {
if (sInfos.init()) {
return sInfos.get();
}
return nullptr;
}
private:
const char* mTag;
nsCString mPreviousValue;
inline static MOZ_THREAD_LOCAL(ScopedLogExtraInfoMap*) sInfos;
void AddInfo(const char* aTag, const nsACString& aExtraInfo) {
if (sInfos.init()) {
auto* infos = sInfos.get();
if (!infos) {
sInfos.set(infos = new ScopedLogExtraInfoMap);
}
auto foundIt = infos->find(aTag);
if (foundIt != infos->end()) {
mPreviousValue = std::move(foundIt->second);
foundIt->second = aExtraInfo;
} else {
infos->emplace(aTag, aExtraInfo);
}
}
}
#else
template <size_t N>
ScopedLogExtraInfo(const char (&aTag)[N], const nsACString& aExtraInfo) {}
// user-defined to silence unused variable warnings
~ScopedLogExtraInfo() {}
#endif
};
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
# define QM_META_HANDLE_ERROR(module) \
MOZ_COLD inline void HandleError( \

Просмотреть файл

@ -1153,63 +1153,3 @@ TEST(QuotaCommon_CollectWhileTest, ConditionFailsOnSecondExecution)
MOZ_RELEASE_ASSERT(1 == bodyExecutions);
MOZ_RELEASE_ASSERT(2 == conditionExecutions);
}
TEST(QuotaCommon_ScopedLogExtraInfo, AddAndRemove)
{
static constexpr auto text = "foo"_ns;
{
const auto extraInfo =
ScopedLogExtraInfo{ScopedLogExtraInfo::kTagQuery, text};
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
const auto* const extraInfoMap = ScopedLogExtraInfo::GetExtraInfoMap();
EXPECT_NE(nullptr, extraInfoMap);
EXPECT_EQ(text, extraInfoMap->at(ScopedLogExtraInfo::kTagQuery));
#endif
}
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
const auto* const extraInfoMap = ScopedLogExtraInfo::GetExtraInfoMap();
EXPECT_NE(nullptr, extraInfoMap);
EXPECT_EQ(0u, extraInfoMap->count(ScopedLogExtraInfo::kTagQuery));
#endif
}
TEST(QuotaCommon_ScopedLogExtraInfo, Nested)
{
static constexpr auto text = "foo"_ns;
static constexpr auto nestedText = "bar"_ns;
{
const auto extraInfo =
ScopedLogExtraInfo{ScopedLogExtraInfo::kTagQuery, text};
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
const auto* const extraInfoMap = ScopedLogExtraInfo::GetExtraInfoMap();
EXPECT_NE(nullptr, extraInfoMap);
#endif
{
const auto extraInfo =
ScopedLogExtraInfo{ScopedLogExtraInfo::kTagQuery, nestedText};
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
EXPECT_EQ(nestedText, extraInfoMap->at(ScopedLogExtraInfo::kTagQuery));
#endif
}
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
EXPECT_EQ(text, extraInfoMap->at(ScopedLogExtraInfo::kTagQuery));
#endif
}
#if defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG)
const auto* const extraInfoMap = ScopedLogExtraInfo::GetExtraInfoMap();
EXPECT_NE(nullptr, extraInfoMap);
EXPECT_EQ(0u, extraInfoMap->count(ScopedLogExtraInfo::kTagQuery));
#endif
}

Просмотреть файл

@ -71,8 +71,6 @@ class MOZ_STACK_CLASS DebugOnly {
T& operator->() { return value; }
const T& operator->() const { return value; }
const T& inspect() const { return value; }
#else
DebugOnly() = default;
MOZ_IMPLICIT DebugOnly(const T&) {}