|
|
|
@ -1,74 +1,75 @@
|
|
|
|
|
diff -up ShellCheck-0.3.5/ShellCheck.cabal.orig ShellCheck-0.3.5/ShellCheck.cabal
|
|
|
|
|
--- ShellCheck-0.3.5/ShellCheck.cabal.orig 2015-01-29 00:11:08.454696154 +0900
|
|
|
|
|
+++ ShellCheck-0.3.5/ShellCheck.cabal 2015-01-29 00:20:26.583236331 +0900
|
|
|
|
|
@@ -41,8 +41,7 @@ library
|
|
|
|
|
diff --git i/ShellCheck.cabal w/ShellCheck.cabal
|
|
|
|
|
index 6e46dfe..8223f3a 100644
|
|
|
|
|
--- i/ShellCheck.cabal
|
|
|
|
|
+++ w/ShellCheck.cabal
|
|
|
|
|
@@ -43,8 +43,7 @@ library
|
|
|
|
|
json,
|
|
|
|
|
mtl,
|
|
|
|
|
parsec,
|
|
|
|
|
- regex-compat,
|
|
|
|
|
- regex-tdfa,
|
|
|
|
|
- QuickCheck >= 2.7.4
|
|
|
|
|
+ regex-compat
|
|
|
|
|
+ regex-tdfa
|
|
|
|
|
exposed-modules:
|
|
|
|
|
ShellCheck.Analytics
|
|
|
|
|
ShellCheck.AST
|
|
|
|
|
@@ -63,8 +62,7 @@ executable shellcheck
|
|
|
|
|
@@ -66,8 +65,7 @@ executable shellcheck
|
|
|
|
|
mtl,
|
|
|
|
|
parsec,
|
|
|
|
|
regex-compat,
|
|
|
|
|
regex-tdfa,
|
|
|
|
|
- transformers,
|
|
|
|
|
- QuickCheck >= 2.7.4
|
|
|
|
|
+ transformers
|
|
|
|
|
main-is: shellcheck.hs
|
|
|
|
|
|
|
|
|
|
test-suite test-shellcheck
|
|
|
|
|
diff -up ShellCheck-0.3.5/ShellCheck/Analytics.hs.orig ShellCheck-0.3.5/ShellCheck/Analytics.hs
|
|
|
|
|
--- ShellCheck-0.3.5/ShellCheck/Analytics.hs.orig 2014-11-10 09:58:27.000000000 +0900
|
|
|
|
|
+++ ShellCheck-0.3.5/ShellCheck/Analytics.hs 2015-01-29 00:18:16.554343457 +0900
|
|
|
|
|
@@ -15,8 +15,7 @@
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
|
diff --git i/ShellCheck/Analytics.hs w/ShellCheck/Analytics.hs
|
|
|
|
|
index fe2fcf4..80bc7a0 100644
|
|
|
|
|
--- i/ShellCheck/Analytics.hs
|
|
|
|
|
+++ w/ShellCheck/Analytics.hs
|
|
|
|
|
@@ -16,7 +16,7 @@
|
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
-}
|
|
|
|
|
-{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
|
{-# LANGUAGE TemplateHaskell, FlexibleContexts #-}
|
|
|
|
|
-module ShellCheck.Analytics (AnalysisOptions(..), defaultAnalysisOptions, filterByAnnotation, runAnalytics, shellForExecutable, runTests) where
|
|
|
|
|
+module ShellCheck.Analytics (AnalysisOptions(..), defaultAnalysisOptions, filterByAnnotation, runAnalytics, shellForExecutable) where
|
|
|
|
|
|
|
|
|
|
import Control.Arrow (first)
|
|
|
|
|
import Control.Monad
|
|
|
|
|
@@ -31,10 +30,9 @@ import Debug.Trace
|
|
|
|
|
@@ -32,11 +32,9 @@ import Debug.Trace
|
|
|
|
|
import ShellCheck.AST
|
|
|
|
|
import ShellCheck.Options
|
|
|
|
|
import ShellCheck.Data
|
|
|
|
|
-import ShellCheck.Parser hiding (runTests)
|
|
|
|
|
+import ShellCheck.Parser
|
|
|
|
|
import Text.Regex
|
|
|
|
|
import ShellCheck.Regex
|
|
|
|
|
import qualified Data.Map as Map
|
|
|
|
|
-import Test.QuickCheck.All (quickCheckAll)
|
|
|
|
|
-import Test.QuickCheck.All (forAllProperties)
|
|
|
|
|
-import Test.QuickCheck.Test (quickCheckWithResult, stdArgs, maxSuccess)
|
|
|
|
|
|
|
|
|
|
data Parameters = Parameters {
|
|
|
|
|
variableFlow :: [StackData],
|
|
|
|
|
@@ -3011,7 +3009,3 @@ checkFindActionPrecedence params = check
|
|
|
|
|
param <- getLiteralString t
|
|
|
|
|
return $ param `elem` strs
|
|
|
|
|
warnFor t = warn (getId t) 2146 "This action ignores everything before the -o. Use \\( \\) to group."
|
|
|
|
|
@@ -3310,7 +3308,3 @@ checkMaskedReturns _ t@(T_SimpleCommand id _ (cmd:rest)) = potentially $ do
|
|
|
|
|
T_DollarExpansion {} -> True
|
|
|
|
|
_ -> False
|
|
|
|
|
checkMaskedReturns _ _ = return ()
|
|
|
|
|
-
|
|
|
|
|
-return []
|
|
|
|
|
-runTests = $quickCheckAll
|
|
|
|
|
-
|
|
|
|
|
diff -up ShellCheck-0.3.5/ShellCheck/Parser.hs.orig ShellCheck-0.3.5/ShellCheck/Parser.hs
|
|
|
|
|
--- ShellCheck-0.3.5/ShellCheck/Parser.hs.orig 2014-11-10 09:58:27.000000000 +0900
|
|
|
|
|
+++ ShellCheck-0.3.5/ShellCheck/Parser.hs 2015-01-29 00:18:46.037319167 +0900
|
|
|
|
|
@@ -15,8 +15,8 @@
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
|
-return []
|
|
|
|
|
-runTests = $( [| $(forAllProperties) (quickCheckWithResult (stdArgs { maxSuccess = 1 }) ) |])
|
|
|
|
|
diff --git i/ShellCheck/Parser.hs w/ShellCheck/Parser.hs
|
|
|
|
|
index fd2cbea..0ece932 100644
|
|
|
|
|
--- i/ShellCheck/Parser.hs
|
|
|
|
|
+++ w/ShellCheck/Parser.hs
|
|
|
|
|
@@ -16,7 +16,7 @@
|
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
-}
|
|
|
|
|
-{-# LANGUAGE NoMonomorphismRestriction, TemplateHaskell #-}
|
|
|
|
|
{-# LANGUAGE NoMonomorphismRestriction, TemplateHaskell, FlexibleContexts #-}
|
|
|
|
|
-module ShellCheck.Parser (Note(..), Severity(..), parseShell, ParseResult(..), ParseNote(..), sortNotes, noteToParseNote, runTests, readScript) where
|
|
|
|
|
+{-# LANGUAGE NoMonomorphismRestriction #-}
|
|
|
|
|
+module ShellCheck.Parser (Note(..), Severity(..), parseShell, ParseResult(..), ParseNote(..), sortNotes, noteToParseNote, readScript) where
|
|
|
|
|
|
|
|
|
|
import ShellCheck.AST
|
|
|
|
|
import ShellCheck.Data
|
|
|
|
|
@@ -33,7 +33,6 @@ import Prelude hiding (readList)
|
|
|
|
|
@@ -34,7 +34,6 @@ import Prelude hiding (readList)
|
|
|
|
|
import System.IO
|
|
|
|
|
import Text.Parsec.Error
|
|
|
|
|
import GHC.Exts (sortWith)
|
|
|
|
@ -76,7 +77,7 @@ diff -up ShellCheck-0.3.5/ShellCheck/Parser.hs.orig ShellCheck-0.3.5/ShellCheck/
|
|
|
|
|
|
|
|
|
|
backslash = char '\\'
|
|
|
|
|
linefeed = optional carriageReturn >> char '\n'
|
|
|
|
|
@@ -2137,7 +2136,3 @@ parseShell filename contents =
|
|
|
|
|
@@ -2163,7 +2162,3 @@ parseShell options filename contents =
|
|
|
|
|
|
|
|
|
|
lt x = trace (show x) x
|
|
|
|
|
ltt t = trace (show t)
|
|
|
|
@ -84,14 +85,14 @@ diff -up ShellCheck-0.3.5/ShellCheck/Parser.hs.orig ShellCheck-0.3.5/ShellCheck/
|
|
|
|
|
-return []
|
|
|
|
|
-runTests = $quickCheckAll
|
|
|
|
|
-
|
|
|
|
|
diff -up ShellCheck-0.3.5/ShellCheck/Simple.hs.orig ShellCheck-0.3.5/ShellCheck/Simple.hs
|
|
|
|
|
--- ShellCheck-0.3.5/ShellCheck/Simple.hs.orig 2015-01-29 00:11:08.456696153 +0900
|
|
|
|
|
+++ ShellCheck-0.3.5/ShellCheck/Simple.hs 2015-01-29 00:19:39.305275281 +0900
|
|
|
|
|
@@ -15,15 +15,13 @@
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
|
diff --git i/ShellCheck/Simple.hs w/ShellCheck/Simple.hs
|
|
|
|
|
index 71cde43..70f769c 100644
|
|
|
|
|
--- i/ShellCheck/Simple.hs
|
|
|
|
|
+++ w/ShellCheck/Simple.hs
|
|
|
|
|
@@ -16,14 +16,13 @@
|
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
-}
|
|
|
|
|
-{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
|
-module ShellCheck.Simple (shellCheck, ShellCheckComment, scLine, scColumn, scSeverity, scCode, scMessage, runTests) where
|
|
|
|
|
+module ShellCheck.Simple (shellCheck, ShellCheckComment, scLine, scColumn, scSeverity, scCode, scMessage) where
|
|
|
|
|
|
|
|
|
@ -106,10 +107,10 @@ diff -up ShellCheck-0.3.5/ShellCheck/Simple.hs.orig ShellCheck-0.3.5/ShellCheck/
|
|
|
|
|
import Text.Parsec.Pos
|
|
|
|
|
|
|
|
|
|
shellCheck :: AnalysisOptions -> String -> [ShellCheckComment]
|
|
|
|
|
@@ -71,7 +69,3 @@ prop_commentDisablesAnalysisIssue2 =
|
|
|
|
|
@@ -74,7 +73,3 @@ prop_optionDisablesIssue1 =
|
|
|
|
|
|
|
|
|
|
prop_optionDisablesIssue1 =
|
|
|
|
|
null $ shellCheck (defaultAnalysisOptions { optionExcludes = [2086, 2148] }) "echo $1"
|
|
|
|
|
prop_optionDisablesIssue2 =
|
|
|
|
|
null $ shellCheck (defaultAnalysisOptions { optionExcludes = [2148, 1037] }) "echo \"$10\""
|
|
|
|
|
-
|
|
|
|
|
-return []
|
|
|
|
|
-runTests = $quickCheckAll
|
|
|
|
|