1. 06 Jul, 2012 2 commits
    • Iustin Pop's avatar
      Fix Haskell coverage results · 96eccc1f
      Iustin Pop authored
      
      
      There are two current issues with the coverage values:
      
      - we don't import all modules, thus leading to incomplete
        coverage results (too optimistic);
      - we use hpc in its default mode (intersection), which means that even
        modules which do have coverage results but are not used in all
        binaries we test will be dropped from the results; thanks to Agata,
        passing --union to hpc is enough to have better results (don't
        remember why this wasn't there in the first place…)
      
      After adding more modules to the import list and fixing the combining
      mode, we now have a complete list of modules in coverage results, many
      with zero coverage, so our overall coverage has dropped to about 60%.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      96eccc1f
    • Iustin Pop's avatar
      Cleanup the QC.hs file w.r.t. compiler options · fce98abd
      Iustin Pop authored
      
      
      Currently, we build the Haskell unittests with custom GHC flags,
      because we (I) were quite lazy when initially writing the
      unittests. This is not a problem for the tests themselves, but it
      creates problem when (for example) one would want to pass all
      $(HS_LIB_SRCS) to the compilers; this is not doable unless we
      "degrade" the flags used for all modules, instead of just for QC.hs.
      
      So we do two things to fix this:
      
      - first, we go and add type declaration to all functions that were
        missing them (in QC), and fix the couple of cases of monomorphism
        restrictions; this gets us rid of -fno-warn-missing-signature and
        -fno-warn-monomorphism-restriction
      - then, we move the actually important remaining options
        (-fno-warn-orphans and -fno-warn-unused-imports; see the explanation
        for the latter in the newly added FIXME) to a compiler pragma in the
        file, so that when building the unittests only this file is using
        the extra options
      
      And finally we can then drop the other unused options
      (-fno-warn-missing-methods anmd -Wwarn), leaving htools/test use
      simply -fhpc. This is more in-line with the other files, and thus we
      can handle all of HS_LIB_SRCS the same.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      fce98abd
  2. 08 Jun, 2012 1 commit
  3. 08 May, 2012 3 commits
  4. 15 Mar, 2012 8 commits
  5. 07 Mar, 2012 7 commits
  6. 29 Feb, 2012 5 commits
  7. 26 Jan, 2012 4 commits
  8. 16 Jan, 2012 9 commits
  9. 13 Jan, 2012 1 commit
    • Iustin Pop's avatar
      Fix very slow unit-test data generation in some cases · 7806125e
      Iustin Pop authored
      
      
      Learning, learning. It turns out that for objects with even just five
      fields, generating them and filtering can be costly, especially when
      the filtering is nested (as it was in this case, arbitrary1 →
      arbitrary2 + filter on arbitrary1 → arbitrary plus filter on
      aribitrary2).
      
      Changing the code to generate directly the good values speeds things
      up significantly. Additionally, we also generate correctly unique
      lists of disk templates (again, this should be a set, not a list,
      but…).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      7806125e