<commit_before>#!/bin/bash
################################################################################
#
# test_all.sh
#
# Runs and times a common search across the versions
#
################################################################################

########################################
# Configuration
########################################

PROJECT_PATH=/Users/cary/src/git/xsearch
SHARED_PATH=$PROJECT_PATH/shared

SEARCHSTRING="Searcher"
EXTS="-x rb"
DEBUG=""
DOTIMING="-t"
PRINT="-p"
SEARCHARCHIVES="-Z"

SEARCH_PARAMS="-s \"$SEARCHSTRING\" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH"


########################################
# Utility Functions
########################################

# log(msg)
log () {
    local msg="$1" dt=$(date +"%Y-%m-%d %H:%M:%S")
    echo "[$dt] $msg"
}


########################################
# Build Functions
########################################

test_csharp () {
    echo -e "\n################################################################################"
    log "test_csharp"
    log "cssearch $SEARCH_PARAMS"
    time cssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_fsharp () {
    echo -e "\n################################################################################"
    log "test_fsharp"
    time fssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_go () {
    echo -e "\n################################################################################"
    log "test_go"
    log "gosearch $SEARCH_PARAMS"
    time gosearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_haskell () {
    echo -e "\n################################################################################"
    log "test_haskell"
    log "hssearch $SEARCH_PARAMS"
    time hssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_java () {
    echo -e "\n################################################################################"
    log "test_java"
    log "javasearch $SEARCH_PARAMS"
    time javasearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_node () {
    echo -e "\n################################################################################"
    log "test_node"
    log "nodesearch $SEARCH_PARAMS"
    time nodesearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_php () {
    echo -e "\n################################################################################"
    log "test_php"
    log "phpsearch.php $SEARCH_PARAMS"
    time phpsearch.php -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_python () {
    echo -e "\n################################################################################"
    log "test_python"
    log "pysearch.py $SEARCH_PARAMS"
    time pysearch.py -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_ruby () {
    echo -e "\n################################################################################"
    log "test_ruby"
    log "rbsearch.rb $SEARCH_PARAMS"
    time rbsearch.rb -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_scala () {
    echo -e "\n################################################################################"
    log "test_scala"
    SCALA_PATH=$PROJECT_PATH/scala
    TARGET_PATH=$SCALA_PATH/target
    JAVASEARCHJAR=$TARGET_PATH/javasearch-1.0-SNAPSHOT.jar
    SCALASEARCHJAR=$TARGET_PATH/scala-1.0-SNAPSHOT.jar

    # do the test search
    log "scalasearch $SEARCH_PARAMS"
    time scalasearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_all () {
    log "test_all"
    
    test_csharp

    #test_fsharp

    test_go

    test_haskell

    test_java

    test_node

    test_php

    test_python

    test_ruby
<commit_msg>Minor enhancements to test script<commit_after>#!/bin/bash
################################################################################
#
# test_all.sh
#
# Runs and times a common search across the versions
#
################################################################################

########################################
# Configuration
########################################

PROJECT_PATH=~/src/git/xsearch
SHARED_PATH=$PROJECT_PATH/shared

SEARCHSTRING="Searcher"
EXTS="-x py,rb"
DEBUG=""
DOTIMING="-t"
MULTILINE=""
PRINT="-p"
SEARCHARCHIVES="-Z"

SEARCH_PARAMS="-s \"$SEARCHSTRING\" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH"


########################################
# Utility Functions
########################################

# log(msg)
log () {
    local msg="$1" dt=$(date +"%Y-%m-%d %H:%M:%S")
    echo "[$dt] $msg"
}


########################################
# Build Functions
########################################

test_csharp () {
    echo -e "\n################################################################################"
    log "test_csharp"
    log "cssearch $SEARCH_PARAMS"
    time cssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_fsharp () {
    echo -e "\n################################################################################"
    log "test_fsharp"
    time fssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_go () {
    echo -e "\n################################################################################"
    log "test_go"
    log "gosearch $SEARCH_PARAMS"
    time gosearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_haskell () {
    echo -e "\n################################################################################"
    log "test_haskell"
    log "hssearch $SEARCH_PARAMS"
    time hssearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_java () {
    echo -e "\n################################################################################"
    log "test_java"
    log "javasearch $SEARCH_PARAMS"
    time javasearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_node () {
    echo -e "\n################################################################################"
    log "test_node"
    log "nodesearch $SEARCH_PARAMS"
    time nodesearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_php () {
    echo -e "\n################################################################################"
    log "test_php"
    log "phpsearch.php $SEARCH_PARAMS"
    time phpsearch.php -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_python () {
    echo -e "\n################################################################################"
    log "test_python"
    log "pysearch.py $SEARCH_PARAMS"
    time pysearch.py -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_ruby () {
    echo -e "\n################################################################################"
    log "test_ruby"
    log "rbsearch.rb $SEARCH_PARAMS"
    time rbsearch.rb -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_scala () {
    echo -e "\n################################################################################"
    log "test_scala"
    SCALA_PATH=$PROJECT_PATH/scala
    TARGET_PATH=$SCALA_PATH/target
    JAVASEARCHJAR=$TARGET_PATH/javasearch-1.0-SNAPSHOT.jar
    SCALASEARCHJAR=$TARGET_PATH/scala-1.0-SNAPSHOT.jar

    # do the test search
    log "scalasearch $SEARCH_PARAMS"
    time scalasearch -s "$SEARCHSTRING" $EXTS $DEBUG $DOTIMING $MULTILINE $PRINT $SEARCHARCHIVES $PROJECT_PATH
}

test_all () {
    log "test_all"
    
    test_csharp

    #test_fsharp

    test_go

    test_haskell

    test_java

    test_node

    test_php

    test_python

    test_ruby

{'fraction_non_alphanumeric': 0.38313518813580094, 'fraction_numerical': 0.0012256403971074887, 'mean_word_length': 5.430260047281324, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4351898', 'n_tokens_mistral': 2518, 'n_tokens_neox': 2398, 'n_words': 516}