1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 23:42:31 +03:00
Commit Graph

4289 Commits

Author SHA1 Message Date
Rob Rix
d0f0925c37
🔥 a redundant import. 2019-09-27 10:00:14 -04:00
Rob Rix
e5ef1e67ef
Fix a couple of errors in the tests. 2019-09-26 13:40:22 -04:00
Patrick Thomson
a1b50b1f51 Convert Numeric.Spec to use Hedgehog. 2019-09-25 17:09:23 -04:00
Patrick Thomson
89b0b4ca45 Remove otiose Listable instances for App and AppMerge. 2019-09-25 16:59:45 -04:00
Patrick Thomson
a2a757c9f5 Convert Data.Semigroup.App.Spec to use Hedgehog. 2019-09-25 16:59:27 -04:00
Patrick Thomson
9158e31193 Add Properties module for easy tests of associativity/monoidality. 2019-09-25 16:59:06 -04:00
Patrick Thomson
439d694200 CyclomaticComplexity doesn't need an instance either. 2019-09-24 17:28:35 -04:00
Patrick Thomson
936d67fc77 Nothing uses ListableF anymore. 2019-09-24 17:26:26 -04:00
Patrick Thomson
39e404451d Remove instances for These and Gram. 2019-09-24 17:23:18 -04:00
Patrick Thomson
a4d42fbae6 Remove Free/FreeF and drop free dependency. 2019-09-24 17:21:45 -04:00
Patrick Thomson
67ed31e65f Remove unused syntax Listable instances.
Orphan instances don't come for free: they slow down compilation both
directly and indirectly (in that modules that use orphans pay extra
costs for searching the instance space, according to SPJ).
2019-09-24 17:15:41 -04:00
Patrick Thomson
875c302670 Build these concurrently. 2019-09-24 16:07:23 -04:00
Patrick Thomson
978018c1e1 Rewrite parse-examples target to use tasty.
This gets us a little bit of a speed boost, lets us drop a couple
dependencies, and makes us use streaming libraries.
2019-09-24 03:17:25 -04:00
Rob Rix
52bc7e640e
Rename locByteRange/locSpan to byteRange/span. 2019-09-20 17:32:52 -04:00
Rob Rix
a00a78e522
Merge branch 'master' into semantic-source 2019-09-20 16:16:34 -04:00
Rob Rix
c86186a414
🔥 a redundant import. 2019-09-20 16:13:46 -04:00
Rob Rix
2ce8b515b6
🔥 Data.Source.Spec. 2019-09-20 16:11:54 -04:00
Patrick Thomson
7b599a6499 Use Source.Source instead of Data.Source. 2019-09-20 15:51:49 -04:00
Patrick Thomson
948deb489f Fixup remaining test cases. 2019-09-20 15:47:08 -04:00
Rob Rix
f6e4864836
Move the span/range stuff into CMark. 2019-09-20 15:03:26 -04:00
Rob Rix
0f8e69c72f
Switch everything over to using Source.Loc. 2019-09-20 14:51:48 -04:00
Rob Rix
17c61c19d1
Switch everything over to using Source.Span. 2019-09-20 14:38:03 -04:00
Rob Rix
1d5e15010f
Switch everything over to using Source.Range. 2019-09-20 14:28:25 -04:00
Patrick Thomson
206773c125 Make parseFilePath take a RElPath. 2019-09-20 12:48:36 -04:00
Patrick Thomson
2e7a236f82 Fix weird spacing and overly complicated callGraphPythonProject. 2019-09-20 12:41:05 -04:00
Patrick Thomson
090b014eed Remove filepath dependency from tests. 2019-09-20 12:26:49 -04:00
Patrick Thomson
1cc29f4361 Add Data.BLob.fileForRelPath and avoid early toString calls. 2019-09-20 12:02:41 -04:00
Patrick Thomson
099aa6a7af diffFilePaths. 2019-09-20 11:54:11 -04:00
Patrick Thomson
a5d9367906 parseFilePath. 2019-09-20 11:52:39 -04:00
Patrick Thomson
aebbfc4706 make parseTestFile take typed arguments 2019-09-20 11:50:39 -04:00
Patrick Thomson
eafbd67178 Integration tests now use typed paths (to some degree) 2019-09-20 11:45:48 -04:00
Patrick Thomson
057aa5386a parse-examples now uses pathtype. 2019-09-20 11:34:09 -04:00
Patrick Thomson
33ce79724f Remove TOC.Spec's dependency on FilePath. 2019-09-20 11:20:35 -04:00
Patrick Thomson
ebf94a8d7e Move the CLI specs to use pathtype. 2019-09-19 21:16:42 -04:00
Patrick Thomson
058462adf5 Merge remote-tracking branch 'origin/master' into bump-to-tree-sitter-0.2.1 2019-09-17 16:17:43 -04:00
Patrick Thomson
bebf5124bc Regenerate test cases 2019-09-17 16:05:01 -04:00
Patrick Thomson
6a7e72bcba Remove debug printfs and silence a hedgehog error. 2019-09-17 14:49:16 -04:00
Rob Rix
53c8e66b52
Correct the path to the vendored language dirs. 2019-09-17 12:45:23 -04:00
Rob Rix
38e04716f0
There is no languages dir. 2019-09-17 12:45:05 -04:00
Patrick Thomson
c623d2906b Assignment error in Java try/catch blocks (#235)
As @tclem pointed out, the TryStatement token was being consumed too
early. We also ran into errors within the `catches` clause where we
required a block but were asking for an expression.
2019-09-06 12:23:55 -04:00
Patrick Thomson
312cbcc269
Merge branch 'master' into property-test-scientific-parser 2019-09-03 13:46:06 -04:00
Patrick Thomson
0d78391678
Merge branch 'master' into lingo 2019-08-22 15:18:23 +02:00
Max Brunsfeld
5491001cf7 Regenerate jsx corpus files 2019-08-21 10:49:27 -07:00
Max Brunsfeld
07ccbb8966 Handle JSX elements with type arguments
Also, add a unit test for JSX in JavaScript.

Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2019-08-21 10:31:32 -07:00
Timothy Clem
5763cfdfb6 Use tasty for testing instead 2019-08-19 10:34:55 -07:00
Timothy Clem
0aab5ebd55 Replace supportedExts 2019-08-15 15:48:17 -07:00
Patrick Thomson
95b7d5e065 Add another Scientific generator and test with it. 2019-08-08 13:55:37 -04:00
Patrick Thomson
1dee6ae93c Some more tests and descriptions for Scientific generators. 2019-08-08 11:44:57 -04:00
Patrick Thomson
f9aa9923b7 Port hspec tests to tasty-hunit and institute simple property test. 2019-08-07 11:26:54 -04:00
Rob Rix
3106bd2ddd
Note a problem with coverage testing.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:50:45 -04:00
Rob Rix
668efbbd4c
Tidy up the imports.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:49:36 -04:00
Rob Rix
1b427b995b
Revert "Test the coverage of source values."
This reverts commit b658804193.
2019-08-06 16:46:33 -04:00
Rob Rix
7251c1c4b4
Generate empty source values 20% of the time.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:38:41 -04:00
Rob Rix
b658804193
Test the coverage of source values.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:38:27 -04:00
Rob Rix
0af81b1fef
Label using classify.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:29:01 -04:00
Rob Rix
3beda88f32
Move the label call into summarize.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:23:35 -04:00
Rob Rix
698497b1a0
Tidy up the sourceLineRanges tests using prop.
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2019-08-06 16:22:38 -04:00
Patrick Thomson
d2d1869d08 No orphans in this file anymore! 2019-08-06 13:33:18 -04:00
Patrick Thomson
6fe27108a3 No need to pull in QC; Hedgehog's label can do this. 2019-08-06 13:27:58 -04:00
Rob Rix
5ea3f651e0
Spacing. 2019-08-02 16:45:48 -04:00
Rob Rix
831a7d6f09
Label the exhaustiveness property. 2019-08-02 16:01:48 -04:00
Rob Rix
99b1287f2c
Decrease the frequency of newlines & carriage returns. 2019-08-02 15:59:53 -04:00
Rob Rix
e9eecddca5
Correct the sourceLineRanges test. 2019-08-02 15:56:25 -04:00
Rob Rix
4b5215a9cf
Reformat for clarity. 2019-08-02 15:42:56 -04:00
Rob Rix
f2318537c9
Summarize with the number of lines. 2019-08-02 15:39:02 -04:00
Rob Rix
e986ed0937
Spacing. 2019-08-02 15:37:50 -04:00
Rob Rix
b5e6aab55b
Label cases as empty/non-empty. 2019-08-02 15:34:15 -04:00
Rob Rix
258e25409a
Run the sourceLineRanges test with QuickCheck. 2019-08-02 15:33:58 -04:00
Rob Rix
99df4b384e
Select newlines and carriage returns frequently. 2019-08-02 14:56:50 -04:00
Timothy Clem
4fa9013e92 Add a test for other types and modes 2019-07-31 15:31:50 -06:00
Timothy Clem
2b37bc9312 New options for readBlobsFromGitRepo
Allows specifying only the paths you want to parse in the repo
2019-07-30 17:34:35 -07:00
Rob Rix
b1fe3e6073
🔥 a bunch of redundant imports. 2019-07-15 15:23:29 -04:00
Patrick Thomson
b1a2b85d87 Merge remote-tracking branch 'origin/master' into machines-to-streaming 2019-06-20 14:09:39 -04:00
Patrick Thomson
a5a349ba23 Remove unused liftCons5 function. 2019-06-20 12:59:40 -04:00
Patrick Thomson
17407c0c9d Initial port from machines to streaming. 2019-06-20 09:41:27 -04:00
Patrick Thomson
669ee584df Quiesce the last few warnings from the tests. 2019-06-20 01:50:32 -04:00
Patrick Thomson
086947ade5 Add golden tests for parse --proto-symbols output.
This should help us ensure that we don't break CLI output, since our
CLI is an API.

This was made super-easy thanks to `tasty-golden`. I literally added
those two lines of code and it automatically created the reference
`.protobuf.bin` files. Slick as hell.
2019-06-20 01:33:51 -04:00
Patrick Thomson
b17a2c0ee8 Better nomenclature. 2019-06-19 17:56:37 -04:00
Patrick Thomson
4de36c5f0e Rewrite the Stat tests so they're not racy. 2019-06-19 17:54:53 -04:00
Patrick Thomson
0a3c11d5db Better formatting by keeping description lines shorter 2019-06-19 17:42:53 -04:00
Patrick Thomson
bb86469f56 Fix unused imports. 2019-06-19 17:35:37 -04:00
Patrick Thomson
43e3fb4533 Remove unnecessary use of parallel. 2019-06-19 17:22:09 -04:00
Patrick Thomson
6306f07cc1 Better story for handling JSON exceptions. 2019-06-19 17:14:52 -04:00
Patrick Thomson
6d599a5c7b Forgot that Exception doesn't imply Eq. 2019-06-19 12:58:40 -04:00
Patrick Thomson
8ae90e53c5 Quiet debug spew in specs.
This console barf makes reading though backscrolls unpleasant. Using
Shelly rather than an abomination of a `system` call and adding a
helper function to parse files quietly improved the situation greatly.

This also contains changes to Util that make the file significantly
easier to navigate, thanks to the power of `PartialTyepSignatures`.

Fixes #140.
2019-06-19 12:09:37 -04:00
Jan Hrček
ade8e8b265 Use isJust where applicable 2019-06-16 17:14:03 +02:00
Jan Hrček
915937c4be Fix some hlint warnings 2019-06-16 13:40:13 +02:00
Patrick Thomson
93cb2d3f07
Merge branch 'master' into fix-test-warnings 2019-06-15 09:04:05 -04:00
Weerasak Chongnguluam
32ba68e2d1 Remove unused NamedFieldPuns extension in Data.Source.Spec 2019-06-15 16:57:16 +07:00
Jan Hrček
ec4248cbb4 Fix warnings in tests
27 [-Wunused-matches]
 7 [-Wmissing-export-lists]
 6 [-Wunused-imports]
 5 [-Wmissing-signatures]
 2 [-Wincomplete-uni-patterns]
 1 [-Wunused-top-binds]
 1 [-Wtype-defaults]
2019-06-15 08:56:59 +02:00
Rob Rix
30fd1b4abf
Merge branch 'master' into remove-orphan-bytestring-listable 2019-06-14 16:34:13 -04:00
Patrick Thomson
02b36d2570 Port Leancheck+Hspec properties to Tasty.Hedgehog. 2019-06-14 12:33:28 -04:00
Patrick Thomson
e1d94f07d1 Remove Listable instance for Source.
This was created with a whole mess of Leancheck combinators. A
Hedgehog approach makes things easier.
2019-06-14 11:53:42 -04:00
Jan Hrček
a644674a54 Fix -Wredundant-constraints warning 2019-06-14 15:56:07 +02:00
Jan Hrček
8959d4d1d6 Fix -Wdodgy-imports warnings 2019-06-14 15:46:06 +02:00
Patrick Thomson
6edabbbecc
Merge branch 'master' into cleaner-implicit-params 2019-06-12 17:21:01 -04:00
Patrick Thomson
d50c08152b forgot one last .json file 2019-06-12 16:45:33 -04:00
Patrick Thomson
a4652120a7 Fix test cases for builders (which don't have jd). 2019-06-12 16:40:28 -04:00
Patrick Thomson
946c561725 Merge remote-tracking branch 'origin/tasty-golden-scrumptious-tests' into cleaner-implicit-params 2019-06-12 15:01:42 -04:00
Patrick Thomson
2795bc7357 somehow lost this -O0 2019-06-12 14:50:18 -04:00
Patrick Thomson
bfdb4a1de7 Clean up specs with some implicit parameters.
Test cases are a good use of `-XImplicitParams`, because often one
finds oneself plumbing a bunch of parameters obtained from IO through
a dozen layers of pure functions. Implicit parameters make this sort
of passing significantly easier.

Fixes #128.
2019-06-12 13:55:14 -04:00
Patrick Thomson
7d88f930cb Fix sentence fragment. 2019-06-12 13:27:34 -04:00
Patrick Thomson
6a15695195 Even more unused imports. 2019-06-12 13:16:34 -04:00
Patrick Thomson
b8cb9d1bfa Remove unused imports. 2019-06-12 12:52:11 -04:00
Patrick Thomson
14bbf6856b Kill verbatim, since we have more principled golden tests now. 2019-06-12 12:46:30 -04:00
Patrick Thomson
3363eccfdf Better comments and test labels. 2019-06-12 12:29:11 -04:00
Patrick Thomson
acbacbe779 Use golden tests for the CLI. 2019-06-12 12:26:37 -04:00
Patrick Thomson
0292506ebd Account for occasional race conditions in testsForLanguage.
Not sure where this is coming from, but we don't want the builders to
get stuck.
2019-06-12 12:26:02 -04:00
Patrick Thomson
6a24b9c793 Fix whitespace changes in hash fixture. 2019-06-12 11:34:54 -04:00
Patrick Thomson
99c4bb21f8 Overhaul test harnesses and add tasty bounds. 2019-06-12 11:30:20 -04:00
Patrick Thomson
2754e26e9a Port over Integration.hs. 2019-06-12 11:04:42 -04:00
Patrick Thomson
32a581f31a More robust example parsing. 2019-06-11 14:54:48 -04:00
Patrick Thomson
4853d9796f Oops. 2019-06-11 11:23:56 -04:00
Patrick Thomson
a157e4a1b4 Don't clutter the workdir. 2019-06-11 11:22:04 -04:00
Patrick Thomson
6685ef1425
Merge branch 'master' into use-hackage-not-submodules 2019-06-10 20:22:44 -04:00
Patrick Thomson
7aeb88227a Just don't optimize these specs for now. 2019-06-10 18:53:20 -04:00
Patrick Thomson
aa02a62f76
Merge branch 'master' into gitparsing 2019-06-10 12:19:37 -04:00
lalaition
e4319224e3 Cleaned up parser 2019-06-09 14:11:58 -06:00
lalaition
be96fcf52f Refactored code to be in line with suggestions 2019-06-06 21:24:22 -06:00
joshvera
7d49193f3b Add tsx tests 2019-06-06 19:11:29 -04:00
joshvera
237c4d6b3f Move jsx tests to tsx directory 2019-06-06 18:44:15 -04:00
Rob Rix
fb845b08a4
Victory by fiat! 2019-06-06 11:34:54 -04:00
lalaition
2ba61a21a0 Use Attoparsec to parse git output instead of manually splitting Text 2019-06-05 20:07:48 -06:00
Rob Rix
42708c333c
Fixtures, fixed. 2019-06-05 16:45:15 -04:00
Rob Rix
5a35598213
Return the actual exception when parsing/assignment fails. 2019-06-05 14:28:28 -04:00
Rob Rix
a399c63691
Fix test failures. 2019-06-03 16:08:15 -04:00
Douglas Creager
cf803555e5 Make error reporter API generic
Instead of hard-coding the HTTP API we use for uploading errors to our
internal service, let the user provide an arbitrary function (in the IO
monad) for uploading them.  The default config will create an error
reporter that logs errors to the console, just like happened before if
you didn't set the `HAYSTACK_URL` environment variable.
2019-05-31 08:58:34 -04:00
Patrick Thomson
4cf56017fa Merge branch 'test-reading-from-git-repos' of github.com:github/semantic into test-reading-from-git-repos 2019-05-28 15:52:06 -04:00
Patrick Thomson
0e13a4c091 These can be in parallel because we're not changing the cwd. 2019-05-28 15:49:43 -04:00
Patrick Thomson
7f3dd3e80a Merge branch 'master' into test-reading-from-git-repos 2019-05-28 15:43:38 -04:00
Patrick Thomson
e4143aaa34 slightly less heinous implementation 2019-05-28 15:43:14 -04:00
Patrick Thomson
e77d723859 try to fix the builders 2019-05-28 15:34:31 -04:00
Patrick Thomson
00e7ceb883 Fix dead imports. 2019-05-28 14:58:37 -04:00
Patrick Thomson
a410300492 Add tests for readBlobsFromGitRepo.
This is part of the critical path for repository tagging, so we should
test it to make sure it doesn't explode. This introduces a test that
creates a temporary git repo and queries it to make sure that adding
and then reading from a blob works properly.
2019-05-28 14:54:18 -04:00
Patrick Thomson
4191f8a75c Fix tests. 2019-05-25 14:54:26 -04:00
Patrick Thomson
8e0962712e legacyMakeBlob => makeBlob. Also unpack File. 2019-05-24 11:52:35 -04:00
Patrick Thomson
63a7f117eb If we're not gonna rename File, give Blob the logical field name. 2019-05-21 22:58:25 -04:00
Patrick Thomson
b8d3a06a67 Fix all the test cases. 2019-05-21 22:28:32 -04:00
Patrick Thomson
9509ec37b8 absolutely massive patch that touches everything 2019-05-21 22:05:23 -04:00
Timothy Clem
7840aec67b Fix specs 2019-04-12 12:50:30 -07:00
Timothy Clem
70ea830460 Fix up test for ModuleInfo changes 2019-03-27 15:57:55 -07:00
Timothy Clem
aa3d8d6a10 Merge remote-tracking branch 'origin/master' into shelly-git-action 2019-03-26 09:17:15 -07:00
Timothy Clem
8b9bc575b6 Fix up tests 2019-03-25 13:14:04 -07:00
Patrick Thomson
aa7e1d140c Fix parse-examples. 2019-03-25 11:37:19 -04:00
Max Brunsfeld
3c0dd6cc45 Add unit test for parsing with a timeout
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2019-03-19 11:56:07 -07:00
Josh Vera
b0309f86a2 Merge branch 'master' into tree-sitter-timeout 2019-03-19 14:42:36 -04:00
Max Brunsfeld
3249307ccd Use Tree-sitter's built-in timeout API instead of a separate timeout thread 2019-03-18 16:30:15 -07:00
Timothy Clem
7865ba7464 Couple of extra tests to show picking out calls 2019-03-18 12:24:10 -07:00
Timothy Clem
8208a4154f Include function calls in symbols output 2019-03-18 10:53:02 -07:00
Timothy Clem
1a4d489b1d Fix up tests, new CLI output 2019-03-11 15:32:15 -07:00