on master help sign in
Merge pull request #7 from hlian/haskell-aeson

yet another parser pull request: haskell aeson 0.11.2.1

commita3905adbb72b33b635f8df54c3a5a8b724d17c13 authorNicolas Seriot <nicolas@seriot.ch> dateWed 26 Oct 2016, 21:15 (10 years ago) parentc258e9a34717b4
5 files changed+49−1
parsers/test_haskell-aeson/.gitignore+1 parsers/test_haskell-aeson/package.yaml+12 parsers/test_haskell-aeson/src/Main.hs+29 parsers/test_haskell-aeson/stack.yaml+1 run_tests.py+6−1
parsers/test_haskell-aeson/.gitignorenew file+1
@@ -0,0 +1 @@
1+*.cabal
parsers/test_haskell-aeson/package.yamlnew file+12
@@ -0,0 +1,12 @@
1+name: testaeson
2+
3+dependencies:
4+ - base >= 4.7 && < 5
5+ - aeson
6+ - base-prelude
7+ - bytestring
8+
9+executables:
10+ testaeson:
11+ source-dirs: src
12+ main: Main.hs
parsers/test_haskell-aeson/src/Main.hsnew file+29
@@ -0,0 +1,29 @@
1+{-# LANGUAGE ScopedTypeVariables #-}
2+
3+module Main where
4+
5+import qualified Data.Aeson as Aeson
6+import qualified Data.ByteString as Bytes
7+import BasePrelude
8+import System.IO
9+
10+_main :: Bytes.ByteString -> IO ()
11+_main bytes =
12+ case Aeson.eitherDecodeStrict' bytes of
13+ Right (value :: Aeson.Value) ->
14+ print value
15+ Left e -> do
16+ hPutStrLn stderr ("error: " <> show e)
17+ exitWith (ExitFailure 1)
18+
19+main :: IO ()
20+main = do
21+ progName <- getProgName
22+ args <- getArgs
23+ case args of
24+ [file] -> do
25+ contents <- Bytes.readFile file
26+ _main contents
27+ _ -> do
28+ hPutStrLn stderr ("Usage: " <> progName <> " file.json")
29+ exitWith (ExitFailure 1)
parsers/test_haskell-aeson/stack.yamlnew file+1
@@ -0,0 +1 @@
1+resolver: lts-6.22
run_tests.py+6−1
@@ -7,7 +7,7 @@ import sys
77from os import listdir
88from time import strftime
99
10−BASE_DIR = "/Users/nst/Projects/JSONTestSuite/"
10+BASE_DIR = os.path.dirname(os.path.realpath(__file__))
1111PARSERS_DIR = os.path.join(BASE_DIR, "parsers")
1212TEST_CASES_DIR_PATH = os.path.join(BASE_DIR, "test_parsing")
1313LOGS_DIR_PATH = os.path.join(BASE_DIR, "results")
@@ -187,6 +187,11 @@ programs = {
187187 "url":"",
188188 "commands":["/usr/bin/java", "-jar", os.path.join(PARSERS_DIR, "test_java_jackson_2_8_4/TestJSONParsing.jar")]
189189 },
190+ "Haskell Aeson 0.11.2.1":
191+ {
192+ "url":"https://github.com/bos/aeson",
193+ "commands":[os.path.join(PARSERS_DIR, "test_haskell-aeson/.stack-work/install/x86_64-osx/lts-6.22/7.10.3/bin/testaeson")]
194+ },
190195}
191196
192197def run_tests(restrict_to_path=None):