1. 23 Jul, 2012 1 commit
  2. 20 Jul, 2012 1 commit
  3. 06 Jul, 2012 3 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
      Also compute Haskell tags in "make tags" · 2db53645
      Iustin Pop authored
      Note however that this won't work correctly with older compilers, due
      to ghc issue #4256; however, it's a handy way to build complete a TAGS
      file for Emacs.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      2db53645
    • 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
  4. 04 Jul, 2012 1 commit
  5. 29 Jun, 2012 2 commits
  6. 28 Jun, 2012 1 commit
  7. 25 Jun, 2012 1 commit
  8. 15 Jun, 2012 1 commit
  9. 12 Jun, 2012 1 commit
  10. 11 Jun, 2012 2 commits
    • Iustin Pop's avatar
      Fix make -n use · 316dc1ff
      Iustin Pop authored
      Due to the way $(MAKE) behaves (it forces execution of the commands
      that contain it), use of $(MAKE) in a command line together with
      side-effects commands will break stuff. It's better to keep it either
      on a separate line, or if not possible, move said commands to a
      separate make target.
      
      After this patch, make -n distcheck, make -n regen-vcs-version and
      possibly other commands now work correctly.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      316dc1ff
    • Iustin Pop's avatar
      Enable hlint in lint and reorganise this target · 6e4c8f68
      Iustin Pop authored
      Currently, the lint target does a sequential: pep8, pylint, pylint on
      the QA sources. hlint is run only when explicitly requested.
      
      This patch reorganises the lint target by:
      
      - splitting the current lint target into separate pylint (slow),
        pylint-qa (fast), pep8 (fast) targets
      - making lint itself depend on the above plus hlint
      - both pep8 and hlint are optional, based on whether the said binaries
        were detected at configure time
      
      make -j is slightly faster after this patch (1m18s → 1m7s).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      6e4c8f68
  11. 08 Jun, 2012 1 commit
  12. 06 Jun, 2012 1 commit
    • Iustin Pop's avatar
      Fix parallel build failures · a13d6911
      Iustin Pop authored
      This is the 2.5 version of the "fix build failures":
      
      - man/%.gen could be left over even in case of failure, due to
        automake bug
      - make man/%.gen runs RUN_IN_TEMPDIR, so let's depend on it, since
        that target has the proper dependencies (create needed dirs)
      - man/%.gen depends on a number of built sources, but the dependency
        was not declared
      
      Furthermore, wraps a long comment.
      
      Tested with -j4/-j16, after `make maintainer-clean'.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      a13d6911
  13. 31 May, 2012 1 commit
  14. 22 May, 2012 1 commit
  15. 11 May, 2012 2 commits
  16. 08 May, 2012 1 commit
  17. 04 May, 2012 1 commit
  18. 26 Apr, 2012 1 commit
  19. 30 Mar, 2012 1 commit
  20. 27 Mar, 2012 1 commit
  21. 26 Mar, 2012 3 commits
  22. 23 Mar, 2012 1 commit
    • Iustin Pop's avatar
      Enable selection between Python and Haskell confd · 73b0fa69
      Iustin Pop authored
      This patch changes configure.ac Makefile.am so that the user can pass:
      
      - --disable-confd (or --enable-confd=no) to disable it completely
      - --enable-confd=yes or --enable-confd=python to select the
        traditional implementation (this is the default setting)
      - --enable-confd=haskell to select hconfd
      
      The only "not nice" thing is that I've chosen to keep the
      hconfd.hs/hconfd name, and we rename it after install via an
      install-exec-hook. The other choice is possible too (to rename the
      source file/binary).
      
      One additional note is that if we select haskell, the _rule_ for
      creating daemons/ganeti-confd dissapears; whereas if we select python,
      the rule for htools/hconfd still exists (one can build it explicitly),
      it just is not installed. This is due to the different way in which
      the rules are declared.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      73b0fa69
  23. 22 Mar, 2012 2 commits
    • Iustin Pop's avatar
      Fix out-of-tree builds · 3e5012c6
      Iustin Pop authored
      The new shell tests do not succeed out-of-tree, due to static paths
      and other issues. This trivial patch fixes these issue, make distcheck
      now passes.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      3e5012c6
    • Iustin Pop's avatar
      Convert manual shell tests to shelltestrunner · 53d4cdf1
      Iustin Pop authored
      This is more of a RFC… Basically most of the shell-based tests are
      converted from exec+grep to shelltestrunner.
      
      Things are not all fine and nice though:
      
      - we have dependencies between tests, as some generate some data files
        needed later; this is not nice, and we depend on serial execution in
        testrunner
      - we can still fail with no so nice messages in the offline-test
        script (when we generate most of the data)
      
      But overall, I think the tests are much nicer to
      define/read/debug:
      
      - each test is standalone, with the only dependency being an optional
        input data file; this is much better than a single monolithic shell
        script
      - in case of failures, the failure is clearly shown by shell test,
        both for exit code and stdout/stderr
      - shelltest can run in --debug mode, where the exact details are shown
        much better than the alternative of "set -x" for the shell script
      
      Comments welcome!
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      53d4cdf1
  24. 21 Mar, 2012 2 commits
  25. 20 Mar, 2012 1 commit
  26. 19 Mar, 2012 2 commits
  27. 15 Mar, 2012 3 commits
  28. 14 Mar, 2012 1 commit