Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit dd1b9f6

Browse files
committed
🔥 pathtype from the tests.
1 parent b054d2c commit dd1b9f6

File tree

21 files changed

+188
-182
lines changed

21 files changed

+188
-182
lines changed

semantic-ast/src/System/Path/Fixture.hs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,21 @@ import qualified Bazel.Runfiles as Bazel
2121

2222
type HasFixture =
2323
( ?runfiles :: Bazel.Runfiles,
24-
?project :: Path.RelDir,
24+
?project :: FilePath,
2525
HasCallStack
2626
)
2727

2828
create :: IO Bazel.Runfiles
2929
create = Bazel.create
3030

3131
root :: HasFixture => FilePath
32-
root = Path.absRel (Bazel.rlocation ?runfiles ".")
32+
root = Bazel.rlocation ?runfiles "."
3333

34-
absRelFile :: (HasFixture) => String -> FilePath
35-
absRelFile x = Path.toAbsRel (root </> Path.relDir "semantic" </> ?project </> Path.relFile x)
34+
absRelFile :: HasFixture => String -> FilePath
35+
absRelFile x = root </> "semantic" </> ?project </> x
3636

3737
absRelDir :: HasFixture => String -> FilePath
38-
absRelDir x = Path.toAbsRel (root </> Path.relDir "semantic" </> ?project </> Path.relDir x)
38+
absRelDir x = root </> "semantic" </> ?project </> x
3939

4040
#else
4141

semantic-codeql/test/PreciseTest.hs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

59
import AST.TestHelpers
610
import AST.Unmarshal
711
import qualified Language.CodeQL.AST as CodeQL
812
import Language.CodeQL.Grammar
9-
import qualified System.Path as Path
10-
import Test.Tasty
1113
import qualified System.Path.Fixture as Fixture
14+
import Test.Tasty
1215

1316
main :: IO ()
1417
main = do
1518
#if BAZEL_BUILD
1619
rf <- Fixture.create
17-
let ?project = Path.relDir "external/tree-sitter-ql"
20+
let ?project = "external/tree-sitter-ql"
1821
?runfiles = rf
1922

2023
let dirs = Fixture.absRelDir "test/corpus"
2124
#else
22-
dirs <- Path.absRel <$> CodeQL.getTestCorpusDir
25+
dirs <- CodeQL.getTestCorpusDir
2326
#endif
2427
let parse = parseByteString @CodeQL.Ql @() tree_sitter_ql
2528

semantic-go/test/PreciseTest.hs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

59

6-
import qualified Language.Go.AST as Go
7-
import Language.Go.Grammar
810
import AST.TestHelpers
911
import AST.Unmarshal
10-
import qualified System.Path as Path
11-
import Test.Tasty
12+
import qualified Language.Go.AST as Go
13+
import Language.Go.Grammar
1214
import qualified System.Path.Fixture as Fixture
15+
import Test.Tasty
1316

1417
main :: IO ()
1518
main = do
1619
#if BAZEL_BUILD
1720
rf <- Fixture.create
18-
let ?project = Path.relDir "external/tree-sitter-go"
21+
let ?project = "external/tree-sitter-go"
1922
?runfiles = rf
2023
let dirs = Fixture.absRelDir "corpus"
2124
#else
22-
dirs <- Path.absRel <$> Go.getTestCorpusDir
25+
dirs <- Go.getTestCorpusDir
2326
#endif
2427

2528
readCorpusFiles' dirs

semantic-java/test/PreciseTest.hs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,23 @@ module Main
88
)
99
where
1010

11-
import AST.TestHelpers
12-
import AST.Unmarshal
11+
import AST.TestHelpers
12+
import AST.Unmarshal
1313
import qualified Language.Java.AST as Java
14-
import qualified System.Path as Path
1514
import qualified System.Path.Fixture as Fixture
16-
import Test.Tasty
17-
import TreeSitter.Java
15+
import Test.Tasty
16+
import TreeSitter.Java
1817

1918
main :: IO ()
2019
main = do
2120
#if BAZEL_BUILD
2221
rf <- Fixture.create
2322
--
24-
let ?project = Path.relDir "external/tree-sitter-java"
23+
let ?project = "external/tree-sitter-java"
2524
?runfiles = rf
2625
let dirs = Fixture.absRelDir "corpus"
2726
#else
28-
dirs <- Path.absRel <$> Java.getTestCorpusDir
27+
dirs <- Java.getTestCorpusDir
2928
#endif
3029
readCorpusFiles' dirs
3130
>>= traverse (testCorpus parse)

semantic-json/test/PreciseTest.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,17 @@ import AST.TestHelpers
88
import AST.Unmarshal
99
import qualified Language.JSON.AST as JSON
1010
import Language.JSON.Grammar
11-
import qualified System.Path as Path
1211
import Test.Tasty
1312

1413
main :: IO ()
1514
main = do
1615
#if BAZEL_BUILD
1716
rf <- Fixture.create
18-
let ?project = Path.relDir "external/semantic-json"
17+
let ?project = "external/semantic-json"
1918
?runfiles = rf
2019
let dirs = Fixture.absRelDir "corpus"
2120
#else
22-
dirs <- Path.absRel <$> JSON.getTestCorpusDir
21+
dirs <- JSON.getTestCorpusDir
2322
#endif
2423
readCorpusFiles' dirs
2524
>>= traverse (testCorpus parse)

semantic-python/test/PreciseTest.hs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

5-
import qualified System.Path as Path
6-
import Test.Tasty
7-
import TreeSitter.Python
8-
import qualified Language.Python.AST as Py
99
import AST.TestHelpers
1010
import AST.Unmarshal
11+
import qualified Language.Python.AST as Py
1112
import qualified System.Path.Fixture as Fixture
13+
import Test.Tasty
14+
import TreeSitter.Python
1215

1316
main :: IO ()
1417
main = do
1518
#if BAZEL_BUILD
1619
rf <- Fixture.create
17-
let ?project = Path.relDir "external/tree-sitter-python"
20+
let ?project = "external/tree-sitter-python"
1821
?runfiles = rf
1922
let dirs = Fixture.absRelDir "test/corpus"
2023
#else
21-
dirs <- Path.absRel <$> Py.getTestCorpusDir
24+
dirs <- Py.getTestCorpusDir
2225
#endif
2326

2427
let parse = parseByteString @Py.Module @() tree_sitter_python

semantic-ruby/test/PreciseTest.hs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

5-
import TreeSitter.Ruby
69
import AST.TestHelpers
710
import AST.Unmarshal
11+
import Control.Concurrent
812
import qualified Language.Ruby.AST as Ruby
9-
import qualified System.Path as Path
10-
import Test.Tasty
13+
import System.IO
1114
import qualified System.Path.Fixture as Fixture
12-
import System.IO
13-
import Control.Concurrent
15+
import Test.Tasty
16+
import TreeSitter.Ruby
1417

1518
main :: IO ()
1619
main = do
1720
#if BAZEL_BUILD
1821
rf <- Fixture.create
19-
let ?project = Path.relDir "external/tree-sitter-ruby"
22+
let ?project = "external/tree-sitter-ruby"
2023
?runfiles = rf
2124
let dirs = Fixture.absRelDir "test/corpus"
2225
#else
23-
dirs <- Path.absRel <$> Ruby.getTestCorpusDir
26+
dirs <- Ruby.getTestCorpusDir
2427
#endif
2528
readCorpusFiles' dirs
2629
>>= traverse (testCorpus parse)

semantic-rust/semantic-rust.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ test-suite test
7070
main-is: Test.hs
7171
build-depends:
7272
, base
73+
, filepath
7374
, semantic-ast
7475
, semantic-rust
7576
, tasty

semantic-rust/test/Test.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ module Main (main) where
66

77
import AST.TestHelpers
88
import AST.Unmarshal (parseByteString)
9-
import Language.Rust.Grammar
9+
import Control.Monad (liftM)
1010
import qualified Language.Rust.AST as Rust
11-
import qualified System.Path as Path
11+
import Language.Rust.Grammar
12+
import System.FilePath
1213
import Test.Tasty
13-
import Control.Monad (liftM)
1414

1515
main :: IO ()
1616
main = do
1717
#if BAZEL_BUILD
1818
rf <- Fixture.create
19-
let ?project = Path.relDir "external/tree-sitter-python"
19+
let ?project = "external/tree-sitter-python"
2020
?runfiles = rf
2121
let dirs = Fixture.absRelDir "test/corpus"
2222
#else
23-
dirs <- Path.absRel <$> Rust.getTestCorpusDir
23+
dirs <- Rust.getTestCorpusDir
2424
#endif
2525

2626

@@ -30,7 +30,7 @@ main = do
3030
where
3131
parse = parseByteString @Rust.SourceFile @() tree_sitter_rust
3232
excludeMacrosCorpus l = liftM (filter (f "expressions") ) l
33-
where f p bn = p /= (Path.toString . Path.takeBaseName) bn
33+
where f p bn = p /= takeBaseName bn
3434

3535
tests :: [TestTree] -> TestTree
3636
tests = testGroup "tree-sitter-rust corpus tests"

semantic-tsx/test/PreciseTest.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

59

6-
import TreeSitter.TSX
710
import AST.TestHelpers
811
import AST.Unmarshal
912
import qualified Language.TSX.AST as Tsx
10-
import qualified System.Path as Path
11-
import Test.Tasty
1213
import qualified System.Path.Fixture as Fixture
14+
import Test.Tasty
15+
import TreeSitter.TSX
1316

1417
main :: IO ()
1518
main = do
1619
#if BAZEL_BUILD
1720
rf <- Fixture.create
18-
let ?project = Path.relDir "external/semantic-typescript"
21+
let ?project = "external/semantic-typescript"
1922
?runfiles = rf
2023
let dirs = Fixture.absRelDir "tsx/corpus"
2124
#else
22-
dirs <- Path.absRel <$> Tsx.getTestCorpusDir
25+
dirs <- Tsx.getTestCorpusDir
2326
#endif
2427

2528
readCorpusFiles' dirs

semantic-typescript/test/PreciseTest.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1-
{-# LANGUAGE CPP, DisambiguateRecordFields, OverloadedStrings, TypeApplications, ImplicitParams #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE ImplicitParams #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
26
{-# OPTIONS_GHC -Wno-unused-imports #-}
37
module Main (main) where
48

5-
import TreeSitter.TypeScript
69
import AST.TestHelpers
710
import AST.Unmarshal
811
import qualified Language.TypeScript.AST as Ts
9-
import qualified System.Path as Path
10-
import Test.Tasty
1112
import qualified System.Path.Fixture as Fixture
13+
import Test.Tasty
14+
import TreeSitter.TypeScript
1215

1316
main :: IO ()
1417
main = do
1518
#if BAZEL_BUILD
1619
rf <- Fixture.create
17-
let ?project = Path.relDir "external/tree-sitter-typescript"
20+
let ?project = "external/tree-sitter-typescript"
1821
?runfiles = rf
1922
let dirs = Fixture.absRelDir "typescript/corpus"
2023
#else
21-
dirs <- Path.absRel <$> Ts.getTestCorpusDir
24+
dirs <- Ts.getTestCorpusDir
2225
#endif
2326

2427
readCorpusFiles' dirs

semantic/semantic.cabal

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ test-suite test
176176
, algebraic-graphs >= 0.3 && < 0.7
177177
, base >= 4.13 && < 5
178178
, bytestring >= 0.10.8.2 && < 0.13
179+
, directory
180+
, filepath
179181
, fused-effects
180182
, Glob ^>= 0.10.0
181183
, hedgehog >= 1 && < 1.2
@@ -203,6 +205,7 @@ test-suite parse-examples
203205
build-depends:
204206
, async ^>= 2.2.1
205207
, base
208+
, filepath
206209
, fused-effects ^>= 1.1
207210
, Glob
208211
, lens >= 4.17 && < 5.2

semantic/test/Data/Language/Spec.hs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
module Data.Language.Spec (testTree) where
22

3-
import Source.Language as Language
4-
import qualified System.Path as Path
5-
import Test.Tasty
6-
import Test.Tasty.HUnit
3+
import Source.Language as Language
4+
import Test.Tasty
5+
import Test.Tasty.HUnit
76

87
testTree :: TestTree
98
testTree = testGroup "Data.Language"
109
[ testCase "languageForFilePath works for languages with ambiguous lingo extensions" $ do
11-
Language.forPath (Path.relFile "foo.php") @=? PHP
12-
Language.forPath (Path.relFile "foo.md" ) @=? Markdown
13-
Language.forPath (Path.relFile "foo.tsx") @=? TSX
10+
Language.forPath "foo.php" @=? PHP
11+
Language.forPath "foo.md" @=? Markdown
12+
Language.forPath "foo.tsx" @=? TSX
1413
]

0 commit comments

Comments
 (0)