startupcache/StartupCacheModule.cpp
author Mike Hommey <mh+mozilla@glandium.org>
Mon, 30 Nov 2015 17:43:06 +0900
changeset 649512 b622da634e2efa4380a7c1e868e961f2e7929436
parent 140791 417f4d51eba24f710542bdb1f540dc656e57710b
child 603232 8e5561950cdf64951a9dd864badf754026bb5de6
child 1044287 c2b755ed9c53aa37b333e45139404699ac51e0b2
child 1336492 46ef8bf6c68664b27953e4680747da7a985c30b2
permissions -rw-r--r--
Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps We have many unit tests in the tree for some small parts of the build system pipeline, but we don't have anything that resembles an end to end test, and we kind of rely on the resulting Firefox not being broken by our changes. With the Faster make backend growing, I want to ensure it produces the same thing as the recursive make backend, at least for the parts it supports. This adds some kind of test that allows to check that.

/* -*-  Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
/* 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/. */

#include <string.h>

#include "nscore.h"

#include "nsID.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
#include "nsCOMPtr.h"
#include "nsIModule.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/scache/StartupCache.h"

using namespace mozilla::scache;

// XXX Need help with guard for ENABLE_TEST
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(StartupCacheWrapper,
                                         StartupCacheWrapper::GetSingleton)
NS_DEFINE_NAMED_CID(NS_STARTUPCACHE_CID);

static const mozilla::Module::CIDEntry kStartupCacheCIDs[] = {
    { &kNS_STARTUPCACHE_CID, false, nullptr, StartupCacheWrapperConstructor },
    { nullptr }
};

static const mozilla::Module::ContractIDEntry kStartupCacheContracts[] = {
    { "@mozilla.org/startupcache/cache;1", &kNS_STARTUPCACHE_CID },
    { nullptr }
};

static const mozilla::Module kStartupCacheModule = {
    mozilla::Module::kVersion,
    kStartupCacheCIDs,
    kStartupCacheContracts,
    nullptr,
    nullptr,
    nullptr,
    nullptr
};

NSMODULE_DEFN(StartupCacheModule) = &kStartupCacheModule;