aboutsummaryrefslogtreecommitdiffstats
path: root/t/100-python.t
diff options
context:
space:
mode:
authorTeddy Wing2015-09-25 01:02:27 -0400
committerTeddy Wing2015-09-25 01:02:27 -0400
commitefa1909b2fa955e5170eecda8d1d42598c817f07 (patch)
treefaaecc30b46a4afde486294497a3bd708711e633 /t/100-python.t
parentf6bb0d359c7c46eb41a3d760a85f2cc2aad3a79d (diff)
downloadgit-hook-pre-commit-python-javascript-syntax-linter-efa1909b2fa955e5170eecda8d1d42598c817f07.tar.bz2
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.
Diffstat (limited to 't/100-python.t')
-rw-r--r--t/100-python.t29
1 files changed, 29 insertions, 0 deletions
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;