From efa1909b2fa955e5170eecda8d1d42598c817f07 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Fri, 25 Sep 2015 01:02:27 -0400 Subject: Create 'pre-commit', add Python tests * Create our 'pre-commit' hook script that runs flake8 on Python files in the staging area. * Update test setup to create a git repository for testing. * Add a test for the Python linter to confirm that it produces the correct output when trying to commit and that it only checks files in the staging index. --- t/100-python.t | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 t/100-python.t (limited to 't/100-python.t') diff --git a/t/100-python.t b/t/100-python.t new file mode 100644 index 0000000..8e9b403 --- /dev/null +++ b/t/100-python.t @@ -0,0 +1,29 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More; + +chdir 't/git-repo/' or die $!; + +system('cp ../*.py .'); +ok !$?; + +my $output = `ls -1`; + +ok $output eq 'test.py +uncommitted.py +', 'Both test Python files are present'; + +system('git add test.py'); +ok !$?; + +$output = `git commit 2>&1`; + +ok $output eq "test.py:1:1: F401 'datetime' imported but unused +test.py:3:80: E501 line too long (97 > 79 characters) +test.py:5:31: E225 missing whitespace around operator +", 'flake8 ran on committed Python file'; + +done_testing; -- cgit v1.2.3