
# Tez Check

    module.exports = header: 'Tez Check', handler: ({options}) ->

## Check HDFS

      remote_dir = "check-#{options.hostname}-tez-hdfs"
      @system.execute
        header: 'Check HDFS'
        cmd: mkcmd.test options.test_krb5_user, """
        hdfs dfs -rm -r -skipTrash #{remote_dir} 2>/dev/null
        hdfs dfs -mkdir #{remote_dir}
        echo -e 'foo\\nbar\\nfoo\\nbar\\nfoo' | hadoop fs -put - #{remote_dir}/test.txt
        hadoop jar /usr/hdp/current/tez-client/tez-examples-*.jar orderedwordcount #{remote_dir}/test.txt #{remote_dir}/output
        hadoop fs -cat #{remote_dir}/output/*
        """
        unless_exec: unless options.force_check then mkcmd.test options.test_krb5_user, "hdfs dfs -test -d #{remote_dir}/output"
      , (err, {executed, stdout}) ->
        throw Error "Invalid output" if executed and stdout?.trim().split('\n').slice(-2).join('\n') isnt 'bar\t2\nfoo\t3'

## Dependencies

    mkcmd = require '../lib/mkcmd'
