Граф коммитов

31 Коммитов

Автор SHA1 Сообщение Дата
Don Syme 1134707154
Organize files under src/fsharp (#13118)
* cleanup

* split files

* rename

* split infos.fs and SymbolHelpres.fs

* split infos.fs and SymbolHelpres.fs

* fix code formating

* rename autobox --> LowerLocalMutables

* adjust names

* block --> ImmutableArray

* format

* Error --> SRDiagnostic

* Error --> SRDiagnostic

* this -> _

* rename and cleanup

* rename Diagnostic --> FormattedDiagnostic

* format sigs

* format sigs

* organise files in src/fsharp

* organise files in src/fsharp

* fix build

* fix build

* fix build

* merge

* move more files

* move more files

* move more files

* move more files

* fix build

* file reorg

* finish moves

* fix links in docs

* code format

* fix build

* save xlf, InteractiveSession/ --> Interactive/

* moved xlf

* cleanup .gitignore

* fixed Linux build

* cleanup docs

* cleanup docs
2022-05-10 10:20:44 +01:00
Kevin Ransom (msft) 895779df68
Update perl source (#12642) 2022-01-26 16:48:32 -08:00
Vlad Zarytovskii 298e64e116
Minor docs fixes (#12576) 2022-01-06 08:47:09 -08:00
Abel Braaksma 77c28276e2
Further improve TESTGUIDE.md (#10031)
* Further improve TESTGUIDE.md

* Added TOC
* fixed the lingering stuff still open since https://github.com/dotnet/fsharp/pull/10018 (it got merged a little too soon)
* added info for Linux
* added a table giving brief info for each test option
* added test running times
* improved wording in several places

* fix typo
2020-09-01 01:30:51 -07:00
Abel Braaksma ae9cbd9009
Improve info on running tests for contributors (#10018)
* Improve info on running tests for contributors

(not finished yet)

Added/improved:

* Proper commands to run the tests
* Distinction for tests that can only run on Windows
* Removed outdated info (run as admin)
* Added prerequisites like Perl
* Added basic help for fixing common errors (like SOE, files in use, errors you see when "forgetting" `-ci`)
* Added expected runtimes

Question: should I link the files in the repo? They're now on github usercontent.

* Some more edits to TESTGUIDE.md
2020-08-27 14:16:10 -07:00
Gauthier Segay acd7cfd251
improve compiler error message for failed overload resolution (#6596)
* migrate (as a separate copy) fsharpqa tests that are going to be impacted by #6596

the baseline files are empty on purpose, expecting CI failure reporting those tests, I intend to update the baseline and clean up the comments / xml tags from fsharpqa syntax in later commit, and then remove those specific tests altogether from fsharpqa if this is OK with the maintainers.

* update the .bsl files

* remove comments that are handled by baseline files, update baseline files

* remove the migrated tests from fsharpqa tests

* need to be more careful when migrating those

* testing if running the test with .fs instead of .fsx makes them work on .netcore

* exclude migrated fsharpqa from dotnet core run

* sample test in fsharpqa (can't run locally for now)

* trying to make it green now.

* checking if this path is covered by a test, trying to identify how to trigger this other overload related error message

* * [MethodCalls.fs] Defining CallerArgs<'T> in, this replaces passing of callerArgsCount, uncurriedCallerArgs and other variants in the overload resolution logic happening in ConstraintSolver & TypeChecker
* [TypeChecker.fs] pass CallerArgs instace at call sites for overload resolution + some commented code as we'll be building a list of given argument types (probably moving as a CallerArgs method or property)
* [ConstraintSolver.fs/fsi] pipe the overload resolution traced callback to `trace.CollectThenUndoOrCommit` as that expression is long and more important in that context

* bit of refactoring of error message building logic during failed overload resolution

[ConstraintSolver.fsi]

* define OverloadInformation and OverloadResolutionFailure, those replace workflow where `string * ((CalledMeth<_> * exn) list)` values were created at call site mixed with message building and matched later in non obvious fashion in `failOverloading` closure
* adjust UnresolvedOverloading and PossibleOverload exceptions

[ConstraintSolver.fs]

* get rid of `GetPossibleOverloads`, this was used only in `failOverloading` closure, and just being passed the same parameters at call site
* give `failOverloading` a more meaningful signature and consolidate the prefix message building logic there
* fix `failOverloading` call sites

[CompilerOps.fs] adjust pattern matching

Expecting behaviour of this code to be identical as before PR

`

* (buildfix) harmonizing .fsi/.fs right before commit doesn't always work with simple copy paste.

* trying to check what kind of things break loose when I change this

I'm trying to identify why we get `(CalledMeth<Expr> * exn list)`, I'm making a cartesian product through getMethodSlotsAndErrors for now, trying to figure out if we can get other than 0 or 1 exception in the list for a given method slot.

I may revert that one if it doesn't make sense make from a reviewer standpoint and/or breaks fsharpqa tests surounding overload resolution error messages.

* (minor) [ConstraintSolver.fs] revert space mishapps to reduce diff, put back comments where they were

* toward displaying the argument names properly (may fail some fsharpqa tests for now)

* missing Resharper's Ctrl+Alt+V "introduce variable" refactoring @auduchinok :)

* pretty print unresolved overloads without all the type submsumption per overload verbose messages

* Overload resolution error messages: things display like I want in fsi, almost like I want in VS2019, this is for the simple non generic method overload case.

I want to check if user experience changes wrt https://github.com/Microsoft/visualfsharp/issues/2503 and put some time to add tests.

* adjust message for candidates overload

* Hijack the split phase for UnresolvedOverloading, remove the match on PossibleOverload.

It consolidates some more of the string building logic, and it now shows as a single compact and exhaustive error message in VS

Thinking I'll change PossibleOverload to not be an exception if going this way is OK

* updating existing failing baseline files that looks correct to me

* quickfix for update.base.line.with.actuals.fsx so that it skips missing base line files in the loop

* (minor) minimize diff, typos, comments

* fix vsintegration tests affected by overload error message changes

* merge issue unused variable warning

* update the 12 fsharpqa migrated baseline with new error messages

* (minor) baseline update script

[update.base.line.with.actuals.fsx]
* add few directories
* error handling (when tests are running, the .err files are locked

* move System.Convert.ToString and System.Threading.Tasks.Task.Run tests from QA

* * moving 3 fsharpqa tests to new test suite
* bring back neg_System.Convert.ToString.OverloadList.fsx which I mistakenly removed during merge

* consolidate all string building logic in CompileOps.fs, fix remaining cases with missing \n (the end result code is less whack-a-mole-ish)

* update base lines

* remove the migrated tests from fsharpqa

* fix vstest error message

* fix env.lst, removed wrong one...

* update baselines of remaining tests

* adding one simple test with many overloads

* appropriate /// comments on `CalledMeth` constructor arguments

* minimize diff / formatting

* trim unused code

* add simple test, one message is interesting, mentioning parameter count for possible overloads

* comment flaky test for now

* code review on the `coerceExpr` function from @tihan, we can discard first `isOutArg` argument as the only hardcoded usage was guarded by `error` when the value is true, and passing an explicit false which is now guaranteed equivalent to `callerArg.IsOptional`

* code formatting remarks on ConstraintSolver.fs/fsi

* (minor) formatting

* format known argument type / updating .bsl

* update missing baseline

* update missing baselines

* update missing baseline

* minor: make TTrait better in debugger display

* [wip] pass TraitConstraintInfo around failed overload resolution error, and try to display some of it's info

* minimize diff

* signature file mismatch

* removing duplicate in fscomp.txt

* surfacing initial bits of TraitConstraintInfo, roughly for now

* formatting types of known argument in one go, the formatting is still wrong:

* unamed type arguments aren't relabelled (still show their numerical ids)
* SRTP constraints are dismissed, not sure how they should be lined up to pass to SimplifyTypes.CollectInfo

* rework of overload failure message to prettify *ALL* types in a single go, not only argument types, but return types and known generic argument types (this info was never displayed originally but is useful for scenario similar to FSharpPlus implementation)

added `PrettifyDiscriminantAndTypePairs` in TastOps, this allow to weave extra information with the complete list of types, to help reconstituting the several types from their origin (in the usage spot: argument types, return type, generic parameter types)

* fixup the tests and add two tests

* one checking on the new information of known return type and generic parameter types
* one checking we don't leak internal unammed Typar and that they don't all get named 'a despite being different

* updating baselines that got tighter.

* simplify handling of TraitConstraintInfo

* naming couple of fields and turning a property to a methods as it triggers an assert in debugger when inspecting variables

* comments in the assembling of overload resolution error message

* Add information about which argument doesn't match
Add couple of tests
Updating bunch of baselines

* minor updates to testguide and devguide

* fix PrimitiveConstraints.``Invalid object constructor`` test

* fix(?) salsa tests

* minimize diff

* put back tests under !FSHARP_SUITE_DRIVES_CORECLR_TESTS

* missing updated message

* minor adjustments to TESTGUIDE.md

* return type was missing prettifying in prettyLayoutsOfUnresolvedOverloading

* address code review nits / minimize diff / add comment on PrettifyDiscriminantAndTypePairs

* minimize diff

* proposed work around the flaky error message until https://github.com/dotnet/fsharp/issues/6725 has a fix

we keep the fsharpqa test around (but removing the overload error messages from what is asserted out of it) in the meantime

* fixing baselines of new tests from master

* sisyphus round of baseline update

* removing type which isn't in use and popped back up after rebase

* minimize diff

* tidy inconsistent tuple literal

* * removing TTrait properties that end up not being used
* renaming tys and returnTy fields to better match convention (`tys` is used, so no underscore prefix)
* minimizing diff

* minimize diff

* minimize diff

* minimize diff

* link to usage example in same file

* revert converting CallerArg single cased DU into Record

* minimize diff

* minimize diff

* minimize diff

* fix rebase glitches

* fix rebase glitch

* update baseline

* fix base lines / new tests base lines

* edge case: needs a new line after "A unique overload for method '%s' could not be determined based on type information prior to this program point. A type annotation may be needed." if there are no optional parts.

* updating base line for edge case of missing new line

* missing baseline

* removing comment
2020-02-18 16:40:22 -08:00
Brett V. Forsgren cdc391e4da update perl test runner (#7779) 2019-10-30 15:26:33 -07:00
ShalokShalom e835edf083 Update repo name (#6951) 2019-06-07 08:26:17 -06:00
Tom 2fd269ba2c Fix typo (#5732) 2018-10-04 07:19:00 -07:00
Don Syme 7dbfae8e8b remove needless initobj for default values and local arising from out args (#5110)
* remove needless initobj for default values

* remove second temporary for outArg

* update baselines
2018-09-12 21:39:05 -07:00
Gauthier Segay 5b4b633448 update testguide.md relative to fsharpqa tests (#5160)
* Adjustments to TESTGUIDE.md relative to usage of fsharpqa tests

Tentative to add a .fsx test runner calling into perl, idea will be, once it is having tests pass, to make the script modify the test list file to tag arbitrary tests and run only those, and then revert the tagging. I'm not sure if this can be made to work consistently but it is worth trying.

* make run.fsharpqa.test.fsx work

* * add tests/fsharpqa/readme.md file, giving overview of the suite, description of file formats and describing a workflow when adding / fixing F# QA tests
* mention above readme.md in TESTGUIDE.md
* add helper project to FSharp.sln to navigate among the F# QA test files (find env.lst, source and log files, etc.)
2018-07-12 22:57:41 -07:00
Gauthier Segay 252ab7d620 add "Other Tips" notes to TESTGUIDE.md and a script to update baseline files under test/fsharp (#5117)
* * helper script to update baseline files under tests/fsharp
* rework "Other Tips" section to expand on the system of baselines files used in FSharp Test Suite

* add the script to the project where it is most likely to be useful
2018-06-06 16:17:37 +01:00
Darío Hereñú 452332f098 Minor fix (#4195)
on string 58.
2018-01-18 11:22:52 -08:00
Don Syme 3c4417ef6b
rename src/fsharp/vs --> src/fsharp/service (#4119)
* rename src/fsharp/vs --> src/fsharp/service

* move unit tests to tests"
2017-12-15 16:56:14 +00:00
Kurt Schelfthout d03cca8d9f Update TESTGUIDE.md (#1848)
As a result of struggling with running and adding to the compiler tests recently, hopefully this will make things clearer for future contributors.

* FSharpSuite are NUnit tests now.
* Move RunAll.pl specific test.lst stuff to FSharpQA paragraph.
* Add example of using build.cmd to run subset of FSharpQA tests.
2016-11-26 14:45:21 +00:00
Don Syme f649cfc3fb remove RunTests.cmd 2016-10-18 00:50:27 +01:00
Don Syme ea2f73756f Squashed commit of the following:
commit 2a991b6c8e30c712640e2869972f02c6313cc7e3
Author: Don Syme <dsyme@users.noreply.github.com>
Date:   Mon Oct 17 20:40:15 2016 +0100

    Fix microbuild (#1629)

commit 169d366713
Author: Kevin Ransom (msft) <codecutter.fsharp@hotmail.com>
Date:   Sun Oct 16 15:04:50 2016 -0700

    Add missed file. (#1625)

    * Ensure that portable libraries have correct hintpath for preview 5

    * Replaced missed file

commit d64ff35398
Author: Don Syme <dsyme@users.noreply.github.com>
Date:   Sun Oct 16 22:37:08 2016 +0100

    cleanup build and test scripts (#1615)

    * cleanup build and test scripts

commit 39480c4c40
Author: Kevin Ransom (msft) <codecutter.fsharp@hotmail.com>
Date:   Sun Oct 16 10:19:03 2016 -0700

    Ensure that portable libraries have correct hintpath for preview 5 (#1624)

commit 2fe5a3be82
Author: Kevin Ransom (msft) <codecutter@hotmail.com>
Date:   Sat Oct 15 14:03:48 2016 -0700

    Add support for generating sourcelink record in portable pdbs.  Fixes #1585

commit e0318a8f65
Author: Kevin Ransom (msft) <codecutter.fsharp@hotmail.com>
Date:   Sat Oct 15 13:32:44 2016 -0700

    FSharp ms build task to support new xommand line options (#1616)

commit 749ba2dfbb
Author: Omar Tawfik <OmarTawfik@users.noreply.github.com>
Date:   Sat Oct 15 13:27:14 2016 -0700

    Don't match braces at the end of the caret (#1619)

commit 00bab9974f
Author: Kevin Ransom (msft) <codecutter.fsharp@hotmail.com>
Date:   Sat Oct 15 13:25:15 2016 -0700

    (Nugetize F# templates.  Ensure value tuple installed on create template. (#1620)

commit 2a9b5ef818
Author: Omar Tawfik <OmarTawfik@users.noreply.github.com>
Date:   Fri Oct 14 22:45:35 2016 -0700

    Add fsx files to workspaces (#1612)

    * Add fsx files to workspaces

    * Stop passing project output paths to CPS

    * Read script file contents from memory (on workspace initialization)

commit 8b434e0fed
Author: Kevin Ransom (msft) <codecutter.fsharp@hotmail.com>
Date:   Fri Oct 14 10:32:59 2016 -0700

    Don't try to deploy vsix during OSS build.  Specify prereq in vsixmanifest (#1613)

commit 79430d298d
Author: Don Syme <dsyme@users.noreply.github.com>
Date:   Fri Oct 14 15:58:08 2016 +0100

    simplify use of if-defs (#1614)

commit b708921ebe
Author: Don Syme <dsyme@users.noreply.github.com>
Date:   Fri Oct 14 10:25:28 2016 +0100

    Always use FSharp.Core not fsharp.core (#1610)
2016-10-17 23:31:53 +01:00
Libo Zeng ea6dec05a4 remove the default perl test runner for the FSharp test suite (#1573) 2016-09-30 12:18:43 +01:00
Taylor Wood 4ce5de71a8 Fix test source links in TESTGUIDE.md 2016-06-02 18:04:59 -05:00
Taylor Wood f684adfd7a Update TESTGUIDE.md
Fix some typos
2016-06-01 22:36:56 -05:00
Don Syme cb2981d9e5 separate smoke and ci 2016-02-07 02:02:02 +00:00
Don Syme 13dffebb79 simplify DEVGUIDE and TESTGUIDE 2016-02-06 17:53:34 +00:00
Don Syme 29389b3340 fix build and remove #light 2016-01-26 22:03:16 +00:00
Don Syme 149758a00b reorg solution file (3) 2016-01-25 12:37:28 +00:00
Don Syme bdea8450c8 reorg solution file 2016-01-25 12:26:32 +00:00
Omar Tawfik b584ee7204 Remove compiler code accessing GACUtil 2016-01-21 19:36:08 -08:00
KevinRansom f3ec711a7a Update to nunit 3.0.0 2015-11-20 00:49:58 -08:00
Don Syme 35e6a00816 Fix #123 - Union types without sub-classes should be sealed
fixes #123
closes #143

commit 5566c99ebc936ad16081dda5f9a6c9754d4e095d
Author: latkin <latkin@microsoft.com>
Date:   Fri Feb 13 12:55:07 2015 -0800

    Workaround for lack of Type.IsSealed in some portable profiles

commit 7bf077f7aa
Author: Don Syme <dsyme@microsoft.com>
Date:   Fri Feb 13 10:53:42 2015 +0000

    fix codegen tests

commit cec8ada22c
Merge: 95cc10d ac85db7
Author: Don Syme <dsyme@microsoft.com>
Date:   Fri Feb 13 09:57:44 2015 +0000

    Merge branch 'fsharp4' of http://github.com/Microsoft/visualfsharp into fix-123

commit 95cc10d1ab
Author: Don Syme <dsyme@microsoft.com>
Date:   Fri Jan 30 08:30:24 2015 +0000

    update baselines

commit 3050f4f243
Author: Don Syme <dsyme@microsoft.com>
Date:   Thu Jan 29 16:27:55 2015 +0000

    fix test mistake

commit 5be64f69e4
Author: Don Syme <dsyme@microsoft.com>
Date:   Thu Jan 29 12:50:07 2015 +0000

    update baselines of tests

commit 99a552c982
Merge: d91cb38 d17d429
Author: Don Syme <dsyme@microsoft.com>
Date:   Thu Jan 29 12:22:05 2015 +0000

    Merge branch 'fsharp4' of http://github.com/Microsoft/visualfsharp into fix-123

commit d91cb3895b
Author: Don Syme <dsyme@microsoft.com>
Date:   Thu Jan 29 10:18:54 2015 +0000

    NOP commit to run appveyor

commit 426f2a2afb
Author: Don Syme <dsyme@microsoft.com>
Date:   Tue Jan 27 16:43:43 2015 +0000

    add extra tests for IsSealed

commit 8dc04aba54
Author: Don Syme <dsyme@microsoft.com>
Date:   Tue Jan 27 16:36:41 2015 +0000

    Fix #123 - Union types without sub-classes should be sealed
2015-02-13 12:56:58 -08:00
KevinRansom 0b7bee8d69 Update nunit to V. 2.6.4
fixes #3
closes #221

commit d0a610d5a51b40a6bb07be326b8cc40c0410c864
Author: latkin <latkin@microsoft.com>
Date:   Tue Feb 10 12:41:15 2015 -0800

    Revert stats file

commit 41176f7ff0a09228348b23d7fcb9d5d119bb33cb
Author: latkin <latkin@microsoft.com>
Date:   Tue Feb 10 12:40:21 2015 -0800

    Small modifications to fit into recent updates

commit 1da7c7d002d124b7e6961e2c1319e20b097166eb
Merge: 95bfc9e 19d6f8f
Author: latkin <latkin@microsoft.com>
Date:   Tue Feb 10 12:36:33 2015 -0800

    Merge branch 'updatenunit' of https://github.com/KevinRansom/visualfsharp into KevinRansom-updatenunit

    Conflicts:
    	src/FSharpSource.targets
    	tests/RunTests.cmd

commit 19d6f8f39b
Author: KevinRansom <kevinr@microsoft.com>
Date:   Sat Feb 7 09:43:22 2015 -0800

    merge upstream
2015-02-10 12:42:24 -08:00
mrange 438eae21c9 Implements extended if grammar
closes #55

commit 677a7e799fd5350fd166411004a734f56e9c4e4b
Author: latkin <latkin@microsoft.com>
Date:   Tue Jan 20 11:34:49 2015 -0800

    Update DEVGUIDE and TESTGUIDE to include compiler unit test suite

commit 90f33737381c0932a478746fc566532da862f3c3
Author: latkin <latkin@microsoft.com>
Date:   Tue Jan 20 11:20:56 2015 -0800

    Simplifying ExtendedIfGrammar tests

commit 78b8ff4e325dc37a6d4ca0777b05a2abe85f961c
Author: latkin <latkin@microsoft.com>
Date:   Tue Jan 20 11:20:10 2015 -0800

    Adding compilerunit to RunTests.cmd usage

commit ba861296fe847faa217ab76ec1cb76aef7bc4d02
Merge: 28da5c0 42e0766
Author: latkin <latkin@microsoft.com>
Date:   Tue Jan 20 11:05:01 2015 -0800

    Merge branch 'pr/extended_if_grammar' of https://github.com/mrange/visualfsharp into mrange-pr/extended_if_grammar

    Conflicts:
    	tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/ExtendedIfGrammar.fs

commit 28da5c0800a28cc2044a8d3bb4a22751803433aa
Author: latkin <latkin@microsoft.com>
Date:   Mon Jan 19 18:38:11 2015 -0800

    Removing generated .fs/.fsi files from repo

commit 47b61d5460f4c84c1b985d50ce96d944c8791efa
Author: latkin <latkin@microsoft.com>
Date:   Mon Jan 19 18:36:15 2015 -0800

    Use dedicated fsharp-compiler-unittests-build.proj so portable/net20 build of library unit tests is not broken

commit 95e1af8c8bac8b4bc6312a171e675392bff67626
Merge: c5e6699 5f8880c
Author: latkin <latkin@microsoft.com>
Date:   Mon Jan 19 18:14:12 2015 -0800

    Merge branch 'pr/extended_if_grammar' of https://github.com/mrange/visualfsharp into mrange-pr/extended_if_grammar

commit 5f8880c151f9d027ed31e4d1d0d860ea75a759b3
Author: mrange <marten_range@hotmail.com>
Date:   Sun Jan 18 14:50:47 2015 +0100

    Implements extended if grammar

    Origin: https://fslang.uservoice.com/forums/245727-f-language/suggestions/6079342-allow-extended-if-grammar

    This commit adds the possibility to write condtional compilation expressions like this:
     #if SILVERLIGHT || NETFX
     #endif

    or a bit more advanced:
     #if (SILVERLIGHT || NETFX) && COMPILED || !DEBUG
     #endif

    This commit doesn't add #elif which is an orthogonal problem.
2015-01-20 14:35:07 -08:00
enricosada 6a753eef1e Converted DEVGUIDE and TESTGUIDE from html to markdown format
commit 79997e76c25f8e545551fbf2e08f060fa0a1c23a
Author: latkin <latkin@microsoft.com>
Date:   Mon Jan 12 22:46:29 2015 -0800

    Minor editing

commit aad8773e80380be2ffadf69de4090f396a39113a
Merge: d897997 97aee98
Author: latkin <latkin@microsoft.com>
Date:   Mon Jan 12 20:35:11 2015 -0800

    Merge branch 'doc_markdown' of https://git01.codeplex.com/forks/esada/fsharp

    Conflicts:
    	DEVGUIDE.html

commit 97aee9818410b1d5a6c4b995af94205a889d302b
Author: enricosada <enrico@sada.io>
Date:   Thu Nov 27 21:07:40 2014 +0100

    converted readme from html to markdown format
2015-01-12 22:47:44 -08:00