VirtualTam's bookmarks

  1. Includes support for Coverage, Xunit and other cool stuff ;-) Oh, and there is parallel testing, too \o/

    nosetests --with-coverage --cover-erase --cover-tests --cover-html --cover-html-dir=htmlcov --with-xunit --xunit-file=unit.xml

    via http://www.alexconrad.org/2011/10/jenkins-and-python.html

  2. Uses a project or repository's history to plot user contributions, displaying an elegant, colored graph of the file arborescence.

    After running it on quite different projects...

    • Python/Bash CI/Jenkins scripts
    • Qt apps: GoldenDict, Psi+
    • PHP website: Shaarli

    ...watching some vids on teh intartubez:

    It allows to arbitrary spot some interesting implementation aspects (sorted by descending impact):

    • language-dependent trees (oh hai Java packages ^^)
    • framework-dependent trees
    • project-management method (none, Agile, TDD)

    Having a graphical tool also quickly shows:

    • the overall structure of the project (a bit cooler than a simple $ tree, way quicker than loading the project on an IDE)
    • the repartition of files (by extensions)
    • who are the most active contributors
    • what are the most modified files over time
    • who does what: additions, deletions, refactoring

    Some more CI-related matters:

    • are there any tests?
    • what is the source code / test code ratio? (we could expect a project/lib with N modules to have at least N test modules)
    • who initiates / implements / optimizes test code?
  3. Awesome thread! The topvoted comments show extremely good - yet simple - reasons to become a unit test maniac ;-)

    See also:

  4. Faker lib 2014-04-26

    Generate random user data!

  5.  1#!/bin/bash
     2# Check if a file needs to be downloaded
     3# Useful iff there is no checksum available to check a local file
     4url=http://test-url.com
     5
     6dl=1
     7if [[ -f $file_path ]]; then
     8    local_size=$(ls -l $file_path | awk '{print $5}')
     9    remote_size=$(wget --spider $url 2>&1 | awk '/Length/ {print $2}')
    10
    11    if [[ $local_size -eq $remote_size ]]; then
    12        echo "The file was previously downloaded"
    13        dl=0
    14    else
    15        echo "Corrupted file found, re-downloading..."
    16        rm -f $file_path
    17    fi
    18else
    19    echo "Downloading file..."
    20fi
    21
    22[[ $dl -eq 1 ]] && wget $url -O $file_path