Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/storage/test/gtest/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  test_deadlock_detector.cpp   Sprache: C

 
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 * vim: sw=2 ts=4 et :
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


// Note: This file is essentially a copy of
// xpcom/tests/gtest/TestDeadlockDetector.cpp, but all mutexes were turned into
// SQLiteMutexes. We use #include and some macros to avoid actual source code
// duplication.

#include "mozilla/CondVar.h"
#include "mozilla/RecursiveMutex.h"
#include "mozilla/ReentrantMonitor.h"
#include "SQLiteMutex.h"

// We need this one so _gdb_sleep_duration is also in "storage" namespace
#include "mozilla/gtest/MozHelpers.h"

#include "gtest/gtest.h"

using namespace mozilla;

/**
 * Helper class to allocate a sqlite3_mutex for our SQLiteMutex.
 */

class TestMutex : public mozilla::storage::SQLiteMutex {
 public:
  explicit TestMutex(const char* aName)
      : mozilla::storage::SQLiteMutex(aName),
        mInner(sqlite3_mutex_alloc(SQLITE_MUTEX_FAST)) {
    NS_ASSERTION(mInner, "could not allocate a sqlite3_mutex");
    initWithMutex(mInner);
  }

  ~TestMutex() { sqlite3_mutex_free(mInner); }

  void Lock() { lock(); }

  void Unlock() { unlock(); }

 private:
  sqlite3_mutex* mInner;
};

// These are the two macros that differentiate this file from the XPCOM one.
#define MUTEX TestMutex
#define TESTNAME(name) storage_##name

// Bug 1473531: the test storage_DeadlockDetectorTest.storage_Sanity5DeathTest
// times out on macosx ccov builds
#if defined(XP_MACOSX) && defined(MOZ_CODE_COVERAGE)
#  define DISABLE_STORAGE_SANITY5_DEATH_TEST
#endif

#include "../../../xpcom/tests/gtest/TestDeadlockDetector.cpp"

Messung V0.5
C=96 H=90 G=93

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.