Global Metrics

path: .metrics.nom.functions
old: 0.0
new: 1.0

path: .metrics.nom.total
old: 0.0
new: 1.0

path: .metrics.nexits.average
old: null
new: 0.0

path: .metrics.mi.mi_sei
old: 48.42155391042285
new: 66.72840576767032

path: .metrics.mi.mi_visual_studio
old: 30.924939316386737
new: 44.83930894115287

path: .metrics.mi.mi_original
old: 52.88164623102132
new: 76.6752182893714

path: .metrics.cognitive.sum
old: 0.0
new: 8.0

path: .metrics.cognitive.average
old: null
new: 8.0

path: .metrics.cyclomatic.sum
old: 3.0
new: 6.0

path: .metrics.cyclomatic.average
old: 1.0
new: 3.0

path: .metrics.loc.lloc
old: 0.0
new: 12.0

path: .metrics.loc.cloc
old: 124.0
new: 7.0

path: .metrics.loc.blank
old: 21.0
new: 5.0

path: .metrics.loc.sloc
old: 189.0
new: 37.0

path: .metrics.loc.ploc
old: 44.0
new: 25.0

path: .metrics.nargs.average
old: null
new: 2.0

path: .metrics.nargs.sum
old: 0.0
new: 2.0

path: .metrics.halstead.N2
old: 55.0
new: 60.0

path: .metrics.halstead.bugs
old: 0.05538507771184416
new: 0.18349260263131137

path: .metrics.halstead.effort
old: 2141.7611484611066
new: 12915.45537209052

path: .metrics.halstead.estimated_program_length
old: 228.38689879982144
new: 198.6059378176129

path: .metrics.halstead.purity_ratio
old: 2.4296478595725683
new: 1.4391734624464705

path: .metrics.halstead.volume
old: 519.2148238693592
new: 753.4015633719471

path: .metrics.halstead.time
old: 118.98673047006147
new: 717.5252984494733

path: .metrics.halstead.difficulty
old: 4.125
new: 17.142857142857142

path: .metrics.halstead.length
old: 94.0
new: 138.0

path: .metrics.halstead.vocabulary
old: 46.0
new: 44.0

path: .metrics.halstead.N1
old: 39.0
new: 78.0

path: .metrics.halstead.level
old: 0.24242424242424243
new: 0.058333333333333334

path: .metrics.halstead.n1
old: 6.0
new: 16.0

path: .metrics.halstead.n2
old: 40.0
new: 28.0

Spaces Data

Minimal test - lines (10, 37)

path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 5.0

path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 5.0

path: .spaces[0].metrics.nexits.average
old: null
new: 0.0

path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 8.0

path: .spaces[0].metrics.cognitive.average
old: null
new: 8.0

path: .spaces[0].metrics.loc.ploc
old: 14.0
new: 24.0

path: .spaces[0].metrics.loc.sloc
old: 50.0
new: 28.0

path: .spaces[0].metrics.loc.blank
old: 5.0
new: 2.0

path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 12.0

path: .spaces[0].metrics.loc.cloc
old: 31.0
new: 2.0

path: .spaces[0].metrics.halstead.bugs
old: 0.012504470524880332
new: 0.1842518821313734

path: .spaces[0].metrics.halstead.length
old: 29.0
new: 137.0

path: .spaces[0].metrics.halstead.level
old: 0.5263157894736842
new: 0.057203389830508475

path: .spaces[0].metrics.halstead.N1
old: 10.0
new: 78.0

path: .spaces[0].metrics.halstead.n2
old: 15.0
new: 27.0

path: .spaces[0].metrics.halstead.estimated_program_length
old: 63.35824643629125
new: 192.38196255841365

path: .spaces[0].metrics.halstead.purity_ratio
old: 2.1847671184928017
new: 1.404247901886231

path: .spaces[0].metrics.halstead.volume
old: 120.92782504182703
new: 743.3982713941874

path: .spaces[0].metrics.halstead.effort
old: 229.7628675794714
new: 12995.703114742832

path: .spaces[0].metrics.halstead.time
old: 12.764603754415075
new: 721.9835063746018

path: .spaces[0].metrics.halstead.n1
old: 3.0
new: 16.0

path: .spaces[0].metrics.halstead.vocabulary
old: 18.0
new: 43.0

path: .spaces[0].metrics.halstead.N2
old: 19.0
new: 59.0

path: .spaces[0].metrics.halstead.difficulty
old: 1.9
new: 17.48148148148148

path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0

path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0

path: .spaces[0].metrics.mi.mi_visual_studio
old: 48.2223503708427
new: 47.65490110274387

path: .spaces[0].metrics.mi.mi_sei
old: 90.31806731008388
new: 62.48882558181401

path: .spaces[0].metrics.mi.mi_original
old: 82.46021913414101
new: 81.48988088569202

path: .spaces[0].metrics.nargs.average
old: null
new: 2.0

path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0

Code

void main(int argc, char* argv[]) {
  nsIServiceManager* servMgr;
  nsresult rv = NS_InitXPCOM(&servMgr, nullptr, nullptr);
  MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv), "NS_InitXPCOM failed");

  // try loading a component and releasing it to see if it leaks
  if (argc > 1 && argv[1] != nullptr) {
    char* cidStr = argv[1];
    nsISupports* obj = nullptr;
    if (cidStr[0] == '{') {
      nsCID cid;
      cid.Parse(cidStr);
      rv = CallCreateInstance(cid, &obj);
    } else {
      // contractID case:
      rv = CallCreateInstance(cidStr, &obj);
    }
    if (NS_SUCCEEDED(rv)) {
      printf("Successfully created %s\n", cidStr);
      NS_RELEASE(obj);
    } else {
      printf("Failed to create %s (%x)\n", cidStr, rv);
    }
  }

  rv = NS_ShutdownXPCOM(servMgr);
  MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv), "NS_ShutdownXPCOM failed");
}