Stephen Toub [Wed, 22 Jun 2016 11:23:38 +0000 (07:23 -0400)]
Merge pull request dotnet/corefx#9593 from dotnet-bot/UpdateDependencies20160622051918
Updating External dependencies to beta-24222-00
Commit migrated from https://github.com/dotnet/corefx/commit/
a181783ef0c51da547144d78b81bb07f77923228
dotnet-bot [Wed, 22 Jun 2016 05:19:18 +0000 (05:19 +0000)]
Updating External dependencies to beta-24222-00
Commit migrated from https://github.com/dotnet/corefx/commit/
90dac98c837b7624a743c7a6c9a0e3a2cf27b504
Stephen Toub [Wed, 22 Jun 2016 01:24:50 +0000 (21:24 -0400)]
Merge pull request dotnet/corefx#9586 from Priya91/fixprocess
Add NERR_UserNotFound code to check on netuserdel.
Commit migrated from https://github.com/dotnet/corefx/commit/
848e16f42cbce0f7f2f15171fadf065baa6e577a
Lakshmi Priya Sekar [Wed, 22 Jun 2016 00:14:09 +0000 (17:14 -0700)]
Add usernotfound code to check on netuserdel.
Commit migrated from https://github.com/dotnet/corefx/commit/
f16267c5ebbc0930604074f06ad85680395dd482
Eric Eilebrecht [Tue, 21 Jun 2016 22:16:53 +0000 (15:16 -0700)]
Disable SocketOptionNameTest.MulticastInterface_Set_AnyInterface_Succeeds on Fedora 23, while we investigate why this test has been failing. (dotnet/corefx#9580)
Commit migrated from https://github.com/dotnet/corefx/commit/
21936668c71cd9e3951f7ab4e9c8ac253ca79d4e
Lakshmi Priya [Tue, 21 Jun 2016 21:44:28 +0000 (14:44 -0700)]
Merge pull request dotnet/corefx#9526 from Priya91/regexgroup
Bring in Group.Name API from future branch, to be supported for net463
Commit migrated from https://github.com/dotnet/corefx/commit/
a85d1f1f46f53f2e249d84bef0f2083fc19f1a84
Stephen Toub [Tue, 21 Jun 2016 20:37:20 +0000 (16:37 -0400)]
Merge pull request dotnet/corefx#9575 from dotnet-bot/UpdateDependencies20160621062520
Updating CoreFx dependencies to beta-24221-04
Commit migrated from https://github.com/dotnet/corefx/commit/
c3a7bcabaa4bf82299d9f486c8b3529f9c04c93b
Stephen Toub [Tue, 21 Jun 2016 19:21:53 +0000 (15:21 -0400)]
Merge pull request dotnet/corefx#9573 from dotnet-bot/UpdateDependencies20160621052041
Updating External dependencies to beta-24221-00
Commit migrated from https://github.com/dotnet/corefx/commit/
053ee23b44e87b533119b9a5ccb741cdd142e2a8
Stephen Toub [Tue, 21 Jun 2016 18:31:35 +0000 (14:31 -0400)]
Merge pull request dotnet/corefx#9565 from stephentoub/ws_refactoring
Several more WebSocket tweaks
Commit migrated from https://github.com/dotnet/corefx/commit/
cded4394fee8bbfaad624e2e1816bf3c9c72207f
dotnet-bot [Tue, 21 Jun 2016 18:25:20 +0000 (18:25 +0000)]
Updating CoreFx dependencies to beta-24221-04
Commit migrated from https://github.com/dotnet/corefx/commit/
82aa3ea6236d6990a50770fb77b79ffb4e06c0b5
dotnet-bot [Tue, 21 Jun 2016 17:20:41 +0000 (17:20 +0000)]
Updating External dependencies to beta-24221-00
Commit migrated from https://github.com/dotnet/corefx/commit/
84134e5d027d30efcdc4bf3824b63fc7607b8e6f
Stephen Toub [Tue, 21 Jun 2016 14:08:08 +0000 (10:08 -0400)]
Merge pull request dotnet/corefx#9569 from dotnet-bot/UpdateDependencies20160621011417
Updating CoreFx dependencies to beta-24221-03
Commit migrated from https://github.com/dotnet/corefx/commit/
3b6f18783574dae9ec58f50e5adacc5302330b69
dotnet-bot [Tue, 21 Jun 2016 13:14:17 +0000 (13:14 +0000)]
Updating CoreFx dependencies to beta-24221-03
Commit migrated from https://github.com/dotnet/corefx/commit/
6e72d3c127cae0a175c63dc942b8c7d8ac5da38b
Stephen Toub [Tue, 21 Jun 2016 10:15:51 +0000 (06:15 -0400)]
Merge pull request dotnet/corefx#9567 from dotnet-bot/UpdateDependencies20160621071747
Updating CoreFx dependencies to beta-24221-02
Commit migrated from https://github.com/dotnet/corefx/commit/
42cb374a130ea3116322e1854aa88ffb3cf15801
dotnet-bot [Tue, 21 Jun 2016 07:17:46 +0000 (07:17 +0000)]
Updating CoreFx dependencies to beta-24221-02
Commit migrated from https://github.com/dotnet/corefx/commit/
818ad5af9340661114d112e6f7d511e380bc4f81
Karthik Rajasekaran [Tue, 21 Jun 2016 07:05:26 +0000 (00:05 -0700)]
Merge pull request dotnet/corefx#9566 from karajas/updateBT
Update BuildTools to version 1.0.26-prerelease-00521-01
Commit migrated from https://github.com/dotnet/corefx/commit/
ee647f58be1c45710c2cffbf7a01075756a84f48
Karthik Rajasekaran [Tue, 21 Jun 2016 05:48:55 +0000 (22:48 -0700)]
Update BuildTools to version 1.0.26-prerelease-00521-01
Commit migrated from https://github.com/dotnet/corefx/commit/
145461779618b860165ba21f93d8890eb9b1ed17
Matt Galbraith [Tue, 21 Jun 2016 03:54:30 +0000 (20:54 -0700)]
Merge pull request dotnet/corefx#9560 from MattGal/Update_Xunit_Console_NetCore
Update BuildTools.TestSuite and Xunit.Console.NetCore runner
Commit migrated from https://github.com/dotnet/corefx/commit/
e3b708058ff90c760c7ac32d93c9f492fab95b21
Matt Galbraith [Mon, 20 Jun 2016 22:51:34 +0000 (15:51 -0700)]
Update references to Microsoft.DotNet.BuildTools.TestSuite to a version that understands uap10.0, add version validation rule for same.
Update reference to Xunit.Console.Netcore to pick up new version which does not throw if Console Color APIs do.
Commit migrated from https://github.com/dotnet/corefx/commit/
91260ea102e681b16864596f0b9b2f14d3be82be
Matt Ellis [Mon, 20 Jun 2016 23:25:18 +0000 (16:25 -0700)]
Merge pull request dotnet/corefx#9530 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/corefx/commit/
dd029f5f09cca533e27a3c52005182781aa0c2f2
Matt Ellis [Mon, 20 Jun 2016 22:38:23 +0000 (15:38 -0700)]
Merge remote-tracking branch 'upstream/master' into from-tfs
Commit migrated from https://github.com/dotnet/corefx/commit/
ee647a1b03d8a5cdd9cc75ec58619fce4ce1d68b
Lakshmi Priya Sekar [Mon, 20 Jun 2016 21:17:25 +0000 (14:17 -0700)]
Respond to PR feedback.
Commit migrated from https://github.com/dotnet/corefx/commit/
b21352ae3809a129e38468bbc44be35ebcac34f7
Stephen Toub [Mon, 20 Jun 2016 21:03:27 +0000 (17:03 -0400)]
Delete now dead code
Commit migrated from https://github.com/dotnet/corefx/commit/
107ee39aadfef438779d8de382fd95756e18d7a1
Stephen Toub [Mon, 20 Jun 2016 20:56:37 +0000 (16:56 -0400)]
Handle more bad protocol cases
These weren't flagged by the test suite, but they better match the spec.
Commit migrated from https://github.com/dotnet/corefx/commit/
028b5807d9de87652847956f24d52ed76cd70db5
Stephen Toub [Mon, 20 Jun 2016 20:06:52 +0000 (16:06 -0400)]
Merge pull request dotnet/corefx#9548 from ellismg/port-http2-debian-test-fix
Allow the HTTP2 protocol test to pass with untrusted chains on Debian.
Commit migrated from https://github.com/dotnet/corefx/commit/
12f1d055b4ac1ed41b1e4501e2a10a3cc24fc305
Stephen Toub [Mon, 20 Jun 2016 20:06:34 +0000 (16:06 -0400)]
Capture exception from send method into returned task
Rather than allowing it to escape synchronously from the method.
Commit migrated from https://github.com/dotnet/corefx/commit/
f1a6ea4ef8dbf61f840c247fba2bb2d481e25bdc
Stephen Toub [Mon, 20 Jun 2016 20:05:50 +0000 (16:05 -0400)]
Small refactorings/fixes in WebSockets managed client
- Separate handling of close and ping/pong messages into their own functions. This helps to keep the main receive function a bit more streamlined, and helping with the more common case we care to optimize for, sending and receiving.
- Remove two locals from the receive async function; this shrinks the size of that async state machine when yielding by a few bytes.
Commit migrated from https://github.com/dotnet/corefx/commit/
ef8fd9e532190dff3d6c343e40b8b0fba5684217
Stephen Toub [Mon, 20 Jun 2016 19:33:08 +0000 (15:33 -0400)]
Merge pull request dotnet/corefx#9537 from stephentoub/http_test_parallel
Allow default xunit parallelization for System.Net.Http.Functional.Tests
Commit migrated from https://github.com/dotnet/corefx/commit/
958a18a4976510ec8947abc1d0d1d8ab4efee9f5
Tomáš Matoušek [Mon, 20 Jun 2016 19:24:48 +0000 (12:24 -0700)]
Merge pull request dotnet/corefx#9531 from tmat/MetadataBuilderTests
MetadataBuilder tests, API polish, docs
Commit migrated from https://github.com/dotnet/corefx/commit/
e9d7ee6389d67bff036f02712651ae2f30e0a3e4
Stephen Toub [Mon, 20 Jun 2016 18:48:11 +0000 (14:48 -0400)]
Mark another ActiveIssue
Commit migrated from https://github.com/dotnet/corefx/commit/
daa30fcf33d57203456ed6c0ce8c42650074d5db
Stephen Toub [Mon, 20 Jun 2016 02:59:54 +0000 (22:59 -0400)]
Separate diagnostics tests into their own class
The only change to the logic is that the tests now use RemoteInvoke to run each test in its own process, so as to avoid EventSource and DiagnosticSource interference.
Also removed the xunit attributes from the assembly that prevented parallelization. It's no longer needed as of this change.
Commit migrated from https://github.com/dotnet/corefx/commit/
542d85e15bfe5fdeb59d7e6f7fb3b15a08640ebd
Stephen Toub [Mon, 20 Jun 2016 02:01:54 +0000 (22:01 -0400)]
Add remote executor support for an async method
Commit migrated from https://github.com/dotnet/corefx/commit/
4dff47ae9dde3a0ec40af9f3d8ba0c485c1384e0
Jeremy Barton [Sun, 12 Jun 2016 03:01:26 +0000 (20:01 -0700)]
Allow the HTTP2 protocol test to pass with untrusted chains on Debian.
The TLS context is set up to make this chain:
CN=http2.akamai.com, O=Akamai Technologies Inc., L=Santa Clara, S=CA, C=US
CN=Verizon Akamai SureServer CA G14-SHA2, OU=Cybertrust, O=Verizon Enterprise Solutions, L=Amsterdam, C=NL
CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE
CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
making use of the cross-signed Baltimore CyberTrust Root certificate.
Unfortunately, that chain is not trusted on Debian 8.4 (GTE CyberTrust Global Root was removed), and a combination of data and installed software results in the valid chain using the self-signed Baltimore root is never built.
To prevent this situation from making the tests show as a failure, selectively allow Debian 8 to succeed on an incomplete chain.
Commit migrated from https://github.com/dotnet/corefx/commit/
316370ac1d58a90f6788ecb924b41cc93aec043e
Stephen Toub [Mon, 20 Jun 2016 17:27:22 +0000 (13:27 -0400)]
Merge pull request dotnet/corefx#9544 from stephentoub/clientcert_test
Tweak HTTP client certificates test and add ActiveIssue
Commit migrated from https://github.com/dotnet/corefx/commit/
f42926c99b7d5311b61065b347fc05f7b911671a
Tomas Matousek [Mon, 20 Jun 2016 16:29:36 +0000 (09:29 -0700)]
MetadataBuilder tests, API polish, docs
Commit migrated from https://github.com/dotnet/corefx/commit/
0029217ed7fe886eff04deb9c2ea6529ef025885
Eric StJohn [Mon, 20 Jun 2016 16:22:44 +0000 (09:22 -0700)]
Merge pull request dotnet/corefx#9524 from ericstj/Update-beta-24217-04
Update CoreFx packages to beta-24217-04
Commit migrated from https://github.com/dotnet/corefx/commit/
2c42a8f7b759f5f3973a05e7abf54144bba6702d
Eric St. John [Mon, 20 Jun 2016 15:44:38 +0000 (08:44 -0700)]
Fix reference assembly non-stable refs
Commit migrated from https://github.com/dotnet/corefx/commit/
d6b3393cb53b1775fd88db37ccebea3aafae5f18
Eric St. John [Mon, 20 Jun 2016 14:26:27 +0000 (07:26 -0700)]
Fix product binary non-stable refs
Commit migrated from https://github.com/dotnet/corefx/commit/
73e6c557b8e4e94c1b3f9bb27c78fbe18685aaac
Eric St. John [Mon, 20 Jun 2016 13:29:02 +0000 (06:29 -0700)]
Ensure we reference the latest Lineup package.
Commit migrated from https://github.com/dotnet/corefx/commit/
26bd9740848d45888bf9cb7b472201856ed36f62
Stephen Toub [Mon, 20 Jun 2016 12:37:30 +0000 (08:37 -0400)]
Tweak HTTP client certificates test and add ActiveIssue
With forced GC/finalization at the right moment, the test currently fails on Windows.
Commit migrated from https://github.com/dotnet/corefx/commit/
4cdb8dc1ba73ef02ef719b9a0ee336dbefca3b10
Stephen Toub [Mon, 20 Jun 2016 02:08:41 +0000 (22:08 -0400)]
Merge pull request dotnet/corefx#9536 from stephentoub/add_ws_retry
Add retry to GetConnectedWebSocket
Commit migrated from https://github.com/dotnet/corefx/commit/
2bcc5419a37f7444805d4620e3af109a53b0d4f2
Stephen Toub [Sun, 19 Jun 2016 11:55:54 +0000 (07:55 -0400)]
Add retry to GetConnectedWebSocket
To hopefully avoid spurious failures when connecting to the Azure endpoint.
Commit migrated from https://github.com/dotnet/corefx/commit/
13512b795e811b10f2deac1e8af2632fe0e10853
Jeremy Barton [Sun, 19 Jun 2016 20:46:15 +0000 (13:46 -0700)]
Merge pull request dotnet/corefx#9510 from bartonjs/unix_x509_finalization
Significantly reduce SafeX509Handle finalizations
Commit migrated from https://github.com/dotnet/corefx/commit/
c2c725978f726e2058c61232d6d66628ab600366
Jeremy Barton [Sun, 19 Jun 2016 17:37:46 +0000 (10:37 -0700)]
Seal the remaining X509 Unix PAL types
The Unix PAL was about half and half on whether the internal sealable types
were sealed. Did a pass over them to ensure they all were.
Commit migrated from https://github.com/dotnet/corefx/commit/
6bdd3ac9e36c1b313e82baea34de674c7ff7764a
Jeremy Barton [Sun, 19 Jun 2016 05:42:49 +0000 (22:42 -0700)]
Split new PAL types into new files
Commit migrated from https://github.com/dotnet/corefx/commit/
86aa3ca4babb0a97bc9f3634c1fec347564af0d4
Jeremy Barton [Sun, 19 Jun 2016 04:56:53 +0000 (21:56 -0700)]
Split IStorePal into IStorePal, IExportPal, ILoaderPal
Various finalization and other lifetime problems were present because the
PAL layer assumed a Windows CAPI certificate store implementation.
There are three different types of thing happening:
1) A persistent repository of X.509 certificates and optional private keys.
Characteristics:
* Every call to read certificates should give back distinct objects, because
the .NET Framework implementation is a thin wrapper over the CAPI
CertEnumCertificatesInStore function.
* Data may be read any number of times (including not at all)
Previously this was handled by DirectoryBasedStoreProvider for user stores, and
CollectionBackedStoreProvider for machine stores. The user stores correctly met
the model, but the machine stores did a prepared copy on access and no further
copies. So two reads of the Certificates property from the same X509Store
instance could interefere with each other, and loading the store to an exception
(by asking for write permissions) would send all of the pre-clones off to the
finalizer queue.
Now CollectionBackedStoreProvider holds the original collection forever, and
does a clone on read.
2) The means of exporting certificates
Characteristics:
* The input certificate objects came from a user, they should not be disposed.
* Exactly one call to Export is expected
Previously this was handled by CollectionBackedStoreProvider. As part of
clarifying the object liftime model this was split off to ExportProvider.
3) The means of importing certificates
Characteristics:
* Exactly one call to read the data is expected
* If no call is made, the certificate objects will become unrooted, so they
should then get disposed with the PAL object.
Previously this was accomplished by CollectionBackedStoreProvider. Now loading
a single certificate is accomplished by SingleCertLoader (to avoid allocating
extra arrays) and plural loads are accomplished by CertCollectionLoader.
To codify the relationships of these three different purposes, the IStorePal
interface was split into IStorePal (persistent store), IExportPal (export), and
ILoaderPal (loading/import). For the Windows implementation the StorePal class
will continue to provide all three behaviors, therefore it implements all three
interfaces.
Commit migrated from https://github.com/dotnet/corefx/commit/
c191cfcb4d600dd9b09572af3fa38cd854a217c7
Stephen Toub [Sun, 19 Jun 2016 11:13:32 +0000 (07:13 -0400)]
Merge pull request dotnet/corefx#9534 from stephentoub/ws_improvements
Several managed WebSockets tweaks
Commit migrated from https://github.com/dotnet/corefx/commit/
4adc0dddf188552dbb6822e78751485f67baa584
Jeremy Barton [Sun, 19 Jun 2016 04:33:38 +0000 (21:33 -0700)]
Make System.Linq.Expressions share Common ReferenceEqualityComparer
Commit migrated from https://github.com/dotnet/corefx/commit/
28c54cbc31016acc3b4cf229a48f8d1593c093f1
Jeremy Barton [Fri, 17 Jun 2016 17:33:24 +0000 (10:33 -0700)]
Clean up unnecessary finalization in building Unix X509Chains
The chain processor has a copy of every certificate in the LM\Root, LM\CA,
CU\Root, CU\CA stores, as well as whatever certs were passed in by the
user via extraStore.
From this massive set a set of candidates are chosen, which are any
certificates which plausibly make up the chain. The rest were garbage
collected, with their SafeHandles being sent off for Finalization. Then,
anything that was chosen from candidates was cloned, making everything
still in that set likely to be Finalized.
Fixes:
* Since the Certificates collections from each of the stores is a copy, call Dispose on any member
which is not (under reference comparison) in the candidates set (hundreds per call).
* The re-wrapped input certificate gets cloned again by the chain building, dispose it (one per call).
* Everything from candidates which was not (under reference equality) provided by the user has either been cloned by the chain or was irrelevant; but either way it is now an untracked SafeHandle, so Dispose it (~2-4 per call).
Commit migrated from https://github.com/dotnet/corefx/commit/
130c9d22fe9240a00a132fd69781c89a9b1e7488
Jeremy Barton [Fri, 17 Jun 2016 16:45:22 +0000 (09:45 -0700)]
Add ReferenceEqualityComparer to Common
In X509Chain building some internally-managed X509Certificate2 objects
are mixed in with some user-owned objects. After mining for the required
data any unused internally-managed objects should be Disposed, but it's
not straightforward to identify if it's a internal object or a user object being
passed to the next stage of the pipeline because they .Equals the same.
Commit migrated from https://github.com/dotnet/corefx/commit/
cce156aedf83249d2b1152315202de1a66136bf0
Stephen Toub [Sat, 18 Jun 2016 03:17:02 +0000 (23:17 -0400)]
Several managed WebSockets tweaks
- When we fail to connect due to a abort/cancellation, ensure the inner exception of the WebSocketException is an OperationCanceledException rather than an ObjectDisposedException.
- When sending a keep-alive ping, if the send lock is already held, that means we're actively sending something, so there's no value in also sending a keep-alive; we can simply make it a nop.
- Only create the keep-alive timer if asked for.
- Make a field readonly.
- Ensure that we propagate exceptions as inner exceptions whenever possible
Commit migrated from https://github.com/dotnet/corefx/commit/
9257f10f0cb457ad161144ddc757cda2450b627f
Stephen Toub [Sat, 18 Jun 2016 22:24:41 +0000 (18:24 -0400)]
Merge pull request dotnet/corefx#9513 from stephentoub/numerics_testtime
Reduce System.Runtime.Numerics outerloop test time from ~180s to ~90s
Commit migrated from https://github.com/dotnet/corefx/commit/
723912ea9c771de3c3507b643e92464cfe2ee095
Stephen Toub [Sat, 18 Jun 2016 19:01:40 +0000 (15:01 -0400)]
Merge pull request dotnet/corefx#9519 from stephentoub/interop_testtime
Reduce S.R.InteropServices outerloop test time from ~100s to ~0.2s
Commit migrated from https://github.com/dotnet/corefx/commit/
f243108600fc7994a6b0c23fdf2f8b05a10a4cd1
David Zucker [Sat, 18 Jun 2016 14:32:27 +0000 (22:32 +0800)]
Add support to statically link (dotnet/corefx#8982)
* Add support to statically link curl to System.Net.Http.Native.so
* Update pull request following @ellismg comment
* remove the temporary variable staticCurl
* Change the argument to 'staticliblink'
* Change the CMAKE variable CMAKE_STATIC_CURL to a generic CMAKE_STATIC_LIB_LINK
* Add build Static link support of openSsl library
* clean up CMakeLists.txt content
* Update Build.sh to remove spacing. CMakeLists.txt remove non required link request
* Remove the set of CMAKE_EXE_LINKER_FLAGS which are not required in our case
* Remove the uninitialize variable staticurl
Commit migrated from https://github.com/dotnet/corefx/commit/
9a12086ad7da016e52747f2ba2e5b34f1a62cb3c
Cory Rivera [Sat, 18 Jun 2016 04:37:11 +0000 (21:37 -0700)]
Merge pull request dotnet/corefx#9523 from corivera/FixManualTestsBreak
Fix test break in SqlClient.ManualTests
Commit migrated from https://github.com/dotnet/corefx/commit/
0532442d684e62fa26f4dc849da7f9f2acd1ea38
Aditya Mandaleeka [Sat, 18 Jun 2016 00:09:38 +0000 (17:09 -0700)]
Merge pull request dotnet/corefx#9517 from adityamandaleeka/update_buildtools_version
Update BuildTools version to 1.0.26-prerelease-00517-04
Commit migrated from https://github.com/dotnet/corefx/commit/
765e8e3e10e04e6f038817e1346bf6add1772bba
Eric Eilebrecht [Fri, 17 Jun 2016 23:43:47 +0000 (16:43 -0700)]
Convert CredentialCache perf tests to xunit.performance (dotnet/corefx#9527)
These tests were running for a long time, and then ignoring the result. These tests run for ~2 minutes in our test passes, even though we're not getting useful data out of them.
This change converts the tests to use xunit.performance. This will greatly reduce their runtime when not running as performance tests (we just run one iteration in that case). It will also enable them to produce useful results in our perf lab, where we *do* have the infrastructure to find regressions in both throughput and GC counts for xunit.performance-based tests.
Commit migrated from https://github.com/dotnet/corefx/commit/
0a246874eedb78c346df5fee658bf12052d2c94e
Lakshmi Priya Sekar [Fri, 17 Jun 2016 21:47:56 +0000 (14:47 -0700)]
Add package authoring for 4.2.0.0 Regex contract.
Commit migrated from https://github.com/dotnet/corefx/commit/
02ff405cf11b84adb979521c03027600618c409a
Eric St. John [Fri, 17 Jun 2016 22:01:55 +0000 (15:01 -0700)]
Update CoreFx packages to beta-24217-04
Commit migrated from https://github.com/dotnet/corefx/commit/
35ee6b6688b57d0b445a252160a922404c35af5e
Cory Rivera [Fri, 17 Jun 2016 21:59:07 +0000 (14:59 -0700)]
Replace manual conn string checking in ManualTests with custom Fact attributes that skip the tests instead.
Commit migrated from https://github.com/dotnet/corefx/commit/
4dd13d11a11f2458a9de27e6c47831680b45ac83
Stephen Toub [Fri, 17 Jun 2016 21:23:00 +0000 (17:23 -0400)]
Merge pull request dotnet/corefx#9508 from stephentoub/linq_testtime
Reduce LINQ outerloop test execution time from 2 minutes to 1.5 seconds
Commit migrated from https://github.com/dotnet/corefx/commit/
7d4248ddf513cace4fcfcd27d78432277ec0f7f2
Eric Eilebrecht [Fri, 17 Jun 2016 21:22:00 +0000 (14:22 -0700)]
- Split System.Net.Sockets.Tests.DualMode into multiple classes, to allow more tests to run in parallel. (dotnet/corefx#9511)
- Tweak the timeout values in some of these tests, so that operations that are expected to time out do so faster.
- Removed the "TestFinalizers" case, which was of questionable value in the first place. The assumptions made here before this change were probably not valid (xunit doesn't run tests in any particular order), and they certainly aren't valid after this change. We run enough tests in this suite that finalizers are going to end up running, with or without this test case.
On my Windows machine, this brings System.Net.Sockets.Tests execution time from ~76 seconds to ~15 seconds. On my Ubuntu 14.04 VM, execution time goes from ~40 seconds to ~6 seconds.
Commit migrated from https://github.com/dotnet/corefx/commit/
c173052376804ba207608fa34eff631a26b57502
Cory Rivera [Fri, 17 Jun 2016 21:07:45 +0000 (14:07 -0700)]
Add generic test conn string checking to SqlClient Named Pipes tests.
Commit migrated from https://github.com/dotnet/corefx/commit/
fdfa4457cd11e706d4764eb3bf0c0b8c64d644d4
Stephen Toub [Fri, 17 Jun 2016 21:06:25 +0000 (17:06 -0400)]
Remove now unnecessary [OuterLoop] from test
Commit migrated from https://github.com/dotnet/corefx/commit/
0c0c6850fe33c808e831e31abb0481cf3df3c1f0
Cory Rivera [Fri, 17 Jun 2016 21:02:55 +0000 (14:02 -0700)]
Remove process exit when failing ManualTests connection string setup.
Commit migrated from https://github.com/dotnet/corefx/commit/
061af520d775cfcbc321ee4c99e7264f190571eb
Stephen Toub [Fri, 17 Jun 2016 20:59:50 +0000 (16:59 -0400)]
Merge pull request dotnet/corefx#9509 from cshung/DependencyComments
Comments to remind developers not to break VS debugger dependencies
Commit migrated from https://github.com/dotnet/corefx/commit/
65396180809600fc7f610cb869dfbfa1d9d10b55
Stephen Toub [Fri, 17 Jun 2016 20:53:27 +0000 (16:53 -0400)]
Merge pull request dotnet/corefx#9504 from stephentoub/plinq_testtime
Reduce PLINQ tests outerloop from ~250s to ~85s
Commit migrated from https://github.com/dotnet/corefx/commit/
730a8382d9d631a92cf61b63c50ba69c6a617970
Stephen Toub [Fri, 17 Jun 2016 20:53:15 +0000 (16:53 -0400)]
Merge pull request dotnet/corefx#9506 from stephentoub/filestream_testtime
Reduce FileSystem outerloop test time
Commit migrated from https://github.com/dotnet/corefx/commit/
2a871a163660cf06bfa9b7ddaf2fa2623134a3c1
Stephen Toub [Fri, 17 Jun 2016 19:59:52 +0000 (15:59 -0400)]
Reduce S.R.InteropServices outerloop test time from ~100s to ~0.2s
Most of the tests in the test library run very quickly. But one runs for ~100s, calling HandleCollector.Add 2B times to get it to overflow. As a hack but IMHO a worthwhile hack, this commit uses reflection to jump the HandleCollector forward as if it were already called almost int.MaxValue times. It then proceeds to do the remaining Adds manually, verifying that still works, and then overflows and verifies the expected failure. This reduces the overall test execution from over 100 seconds to a few hundred milliseconds.
Commit migrated from https://github.com/dotnet/corefx/commit/
385172831c5399286f24f703c5cc0f754e79ea54
Aditya Mandaleeka [Fri, 17 Jun 2016 19:52:54 +0000 (12:52 -0700)]
Update BuildTools version to 1.0.26-prerelease-00517-04
Commit migrated from https://github.com/dotnet/corefx/commit/
2bf09aa2b9cb37cdddd7cea0d2bbb9fcc9dcafa1
stephentoub [Tue, 18 Aug 2015 20:06:31 +0000 (16:06 -0400)]
Update ref for Regex Group Name property
https://github.com/dotnet/corefx/pull/1384/files
Commit migrated from https://github.com/dotnet/corefx/commit/
2cacdbdc8717f6837ed7d5858011f793be52c0ae
Stephen Toub [Fri, 17 Jun 2016 19:30:59 +0000 (15:30 -0400)]
Reduce System.Runtime.Numerics outerloop test time from ~180s to ~90s
There are two remaining individual tests each taking ~80s doing lots of calculations (RunDoubleExplicitCastFromLargeBigIntegerTests and RunLargeValueLogTests)... I don't know the importance enough of what those are testing to determine whether it's ok to change them, so I've left them as is, which means it's going to be difficult to significantly reduce the overall running time (which on my machine is now ~90s) much further. Still, this small change brings the running time on my machine down from ~150 seconds to ~90 seconds.
Changes:
- The ModPow3LargeInt test was generated 10 sets of random values, using BigInteger.ModPow with them, and then comparing the result against another, very inefficient implementation of modpow, resulting in a test taking ~150 seconds (and another one calling it with slightly different inputs taking ~30s). I simply pre-generated a set of 10 inputs and expected outputs (using the same algorithm the test was previously using), and put those into the test as InlineData.
Commit migrated from https://github.com/dotnet/corefx/commit/
cee13517b169b7f2a006f4af9fd2301046ae1020
Lakshmi Priya Sekar [Tue, 14 Apr 2015 19:13:28 +0000 (12:13 -0700)]
Make regex group fields readonly.
Commit migrated from https://github.com/dotnet/corefx/commit/
ae516027f1dcc0533991feb7e5c9f471b1859564
Lakshmi Priya Sekar [Wed, 8 Apr 2015 02:00:06 +0000 (19:00 -0700)]
Regex group should provide a Name property.
Commit migrated from https://github.com/dotnet/corefx/commit/
9a2bbb96b1d51772807224f200c89d5a42efd02d
Eric Mellino [Fri, 17 Jun 2016 18:43:29 +0000 (11:43 -0700)]
Merge pull request dotnet/corefx#9507 from hughbe/dto-timezones
Use DateTimeKind.Utc for constructing DateTimeOffset
Commit migrated from https://github.com/dotnet/corefx/commit/
f5a58990f125ad63ec2a7858b2aa5655e35aaa55
Andrew Au [Fri, 17 Jun 2016 18:00:10 +0000 (11:00 -0700)]
Comments to remind developers not to break VS debugger dependencies
Commit migrated from https://github.com/dotnet/corefx/commit/
bcbeb8b6b4da938f7a38d4e59ebc0ec5950c8e6b
Stephen Toub [Fri, 17 Jun 2016 17:42:54 +0000 (13:42 -0400)]
Reduce LINQ outerloop test execution time from 2 minutes to 1.5 seconds
We have six LINQ tests that are verifying an index overflow condition by iterating through an enumerable with an infinite number of elements, expecting an overflow to occur after we've iterated through 2 billion of them. We already disabled three of them due to them taking too long; this disables the other three. I've left them all in but disabled in case we want to have an outer-outerloop in the future where we're ok with individual tests each taking several minutes spinning like these do.
I also renamed a few namespaces which were accidentally still including "Legacy" in their names from the initial test porting effort.
Commit migrated from https://github.com/dotnet/corefx/commit/
0926d4004b6bee7b8d38b45976b31308673bad7b
Jeremy Barton [Fri, 17 Jun 2016 17:28:41 +0000 (10:28 -0700)]
Clean up SafeX509Handles finalized by Find(validOnly=true)
The test for validOnly requires building an X509Chain, and every
X509ChainElement is a new object, owned by the caller. Since this chain
will never leave this method, Dispose all of the ChainElement.Certificate
values.
Commit migrated from https://github.com/dotnet/corefx/commit/
fabde8deda9a3b8a33b5603f1b69a70d2e3c119d
Jeremy Barton [Fri, 17 Jun 2016 16:51:14 +0000 (09:51 -0700)]
Fix finalized invalid handles on PFX read failure.
Failure to read a PFX (either from a byte[] or a file) resulted in the
SafePkcs12Handle (IsInvalid=true) being dispatched to the finalizer queue.
Currently this path only occurs right before throwing an exception that the
content is unknown, but it's still good to fix them.
Commit migrated from https://github.com/dotnet/corefx/commit/
9d5ff2d6116973af04ae510ac44317e4bd4b65dc
Jeremy Barton [Fri, 17 Jun 2016 16:50:33 +0000 (09:50 -0700)]
Fix finalized invalid handle on TryReadX509Der failure path
Reading a certificate from a byte[] which represented PEM-encoded data
always caused a SafeX509Handle (IsInvalid=true) to be dispatched to the
finalizer queue.
Commit migrated from https://github.com/dotnet/corefx/commit/
944ee3ad10885127410822e6b097d6d693e5bc6d
Jeremy Barton [Fri, 17 Jun 2016 16:49:47 +0000 (09:49 -0700)]
Remove SafeX509Handle finalizations coming out of the test project
There are a few classes of problems here
* X509Chain's X509ChainElements have (newly created) X509Certificate2s on them, no one called Dispose.
* Not Disposing the returned results from calls to Find.
* Touching X509Store.Certificates in passing.
* MachineRootStore_NonEmpty asked for the Count of the root store, sending that number of handles to be Finalized
Commit migrated from https://github.com/dotnet/corefx/commit/
67d802cebe2ca7ce6c5668907f382823758ad8f5
Hugh Bellamy [Fri, 17 Jun 2016 17:23:01 +0000 (18:23 +0100)]
Fix typo
Commit migrated from https://github.com/dotnet/corefx/commit/
9d2e8519e511119d096ccad3a0fd8f6b567c1e51
Hugh Bellamy [Fri, 17 Jun 2016 17:17:44 +0000 (18:17 +0100)]
Use DateTimeKind.Utc for constructing DateTimeOffset
Should fix occasional test failures on time zones (similar to dotnet/corefx#9437)
Commit migrated from https://github.com/dotnet/corefx/commit/
b8b0cbccd16420bb91da0c0a570e481c6d7a5de6
Stephen Toub [Fri, 17 Jun 2016 17:13:23 +0000 (13:13 -0400)]
Reduce FileSystem outerloop test time
Changes:
- An outerloop test verifying that we would throw when trying to use File.ReadAllBytes to read a > 2GB file was first writing out 2GB worth of data to disk. We can instead just create a FileStream and explicitly change its length. On my machine, this changes the execution time of that test from ~25s to just a few milliseconds.
- Two "mini stress" tests are enabled in outerloop and are explicitly coded to run for 30 seconds doing lots of reading and writing. I've changed these to be 10 seconds.
Commit migrated from https://github.com/dotnet/corefx/commit/
e4c1fed1843c2dc80b9b345d6fac0251e865a227
Tomáš Matoušek [Fri, 17 Jun 2016 16:48:28 +0000 (09:48 -0700)]
Merge pull request dotnet/corefx#9475 from tmat/EncoderTests
Add more encoder tests and polish APIs
Commit migrated from https://github.com/dotnet/corefx/commit/
2961ed4120aa842dc8803108375fe1eb76f14124
Stephen Toub [Fri, 17 Jun 2016 16:34:40 +0000 (12:34 -0400)]
Reduce PLINQ tests outerloop from ~250s to ~85s
The tests have been overhauled and are in fairly decent shape, so there wasn't as much low-hanging fruit as in some of the other test libraries, but there are still a few notable places we can make improvements and others we can cut back without losing quality of coverage.
Changes:
- Even though some care had been taken to avoid it, at least one DegreeOfParallelismTests was taking an extra ~25s on my machine waiting for the thread pool to ramp up. Fixed via the same helper used in other test libs.
- Removed ReadOnlyCollection as a source. There are special PLINQ code paths for arrays, lists, ParallelEnumerable.Range, and custom partitioners, but not for other collection types, so I've commented out that source until such time as we do have such special cases. This removes ~1/6th of the test cases and an equivalent amount of execution time.
- Improved throughput of the IntegerRangeSet helper, which is used in lots of tests and was a source of significant contention due to a lock used in the main Add method. Replacing it with a SpinLock reduced execution time by ~10%.
- Removed ParallelEnumerable.Range as an "expander" in the SelectSelectManyTests. The delegate is returning an IEnumerable, so subsequent operations performed on the expander aren't continuing the PLINQ execution and are instead starting a new one, making this essentially equivalent to (but more expensive than and duplicative of) the Enumerable.Range expander that already exists.
- Lowered outerloop default iteration count from 64K*ProcCount to 16K*ProcCount
- Lowered OrderByThenByTest outerloop iteration count from 32K to 16K, and removed the additional 1K iteration count being performed.
Commit migrated from https://github.com/dotnet/corefx/commit/
2a75aefbe2cd8c951ac3cfb8ab2ea324847ae90c
Jeremy Barton [Fri, 17 Jun 2016 16:32:23 +0000 (09:32 -0700)]
Merge pull request dotnet/corefx#9502 from bartonjs/fix_x509coll_test
Make X509 CollectionsTests run without modifying system state
Commit migrated from https://github.com/dotnet/corefx/commit/
80eadd2cdc59575412a408c00ec922e30028de2a
Eric StJohn [Fri, 17 Jun 2016 16:13:56 +0000 (09:13 -0700)]
Merge pull request dotnet/corefx#9501 from ericstj/bumpVersions-post-1.0.0
Upgrade TFS dependencies and prime packages
Commit migrated from https://github.com/dotnet/corefx/commit/
54387b0f7d7ba651b75c2f6346f26d19116fac8f
Tomas Matousek [Thu, 16 Jun 2016 23:01:05 +0000 (16:01 -0700)]
Add more encoder tests and polish APIs
Commit migrated from https://github.com/dotnet/corefx/commit/
869c71aac74d31218a72a05d29d081655b2ce29d
Mark Junker [Fri, 17 Jun 2016 14:45:29 +0000 (16:45 +0200)]
Additional information about deprecated monikers (dotnet/corefx#8767)
Commit migrated from https://github.com/dotnet/corefx/commit/
96fd6fdbae3ea8c0419999d89908dfd28bcb8136
Jeremy Barton [Fri, 17 Jun 2016 14:24:20 +0000 (07:24 -0700)]
Make X509 CollectionsTests run without modifying system state
X509ChainElementCollection_CopyTo_NonZeroLowerBound_ThrowsIndexOutOfRangeException naively builds a cert chain, but since the issuer
isn't part of the ca-certificates bundle it gets downloaded as part of the
test (and then cached to the hard drive).
Since the network-enabled and caching parts are not explicitly needed for this test, provide it enough information to work fully-standalone.
Commit migrated from https://github.com/dotnet/corefx/commit/
31ffe450f60903b270dfaf130e47189dace4abe4
Eric St. John [Fri, 17 Jun 2016 14:11:15 +0000 (07:11 -0700)]
Bump TFS dependencies and prime packages
This ensures that the first build out of CoreFx won't have any dangling
dependencies.
Commit migrated from https://github.com/dotnet/corefx/commit/
c8572c7f66479ada207ec088e7ddf412036c59aa
Eric StJohn [Fri, 17 Jun 2016 13:38:03 +0000 (06:38 -0700)]
Merge pull request dotnet/corefx#9455 from ericstj/bumpVersions-post-1.0.0
Bump versions post 1.0.0
Commit migrated from https://github.com/dotnet/corefx/commit/
03c7ddfe6083ec490b7c0ef94204696e07ea621f
Stephen Toub [Fri, 17 Jun 2016 11:05:34 +0000 (07:05 -0400)]
Merge pull request dotnet/corefx#8909 from jyoungyun/fix/issue_8908
Improve the CoreFX test runner
Commit migrated from https://github.com/dotnet/corefx/commit/
4f83f8005e1217467b15499c2e50692603da5ae2
Stephen A. Imhoff [Fri, 17 Jun 2016 10:53:49 +0000 (19:53 +0900)]
Expand Bit array tests (dotnet/corefx#9461)
* Make test classes/methods static.
* Add missing data cases, make some cases explicit.
* Expand most data cases, extract bit numbers.
* Split copy type/size tests, add int as type.
* Make sure Get/Set operate over internal boundaries, fix some constant references.
* Extract magic numbers, tweak some test cases.
* Reference to shared definition.
* Extract test data for Not
* Conform test name
* Split operator tests (methods to test aren't data cases).
* Add stress case.
* Two more data cases.
* Correct dataset name, add empty array cases.
Commit migrated from https://github.com/dotnet/corefx/commit/
fe2f2b30b6e21cf076c3bc2678cb55c82ad1da8a
Eric Eilebrecht [Thu, 16 Jun 2016 23:18:50 +0000 (16:18 -0700)]
Fix octal IP address string parsing on OSX (dotnet/corefx#9477)
* Use inet_aton to parse IPv4 address strings, rather than getaddrinfo. inet_aton handles octal correctly on OSX.
* Inline IpStringToAddressHelper into caller; since it now has only one caller, there's no point in having a separate helper.
* Remove OSX ActiveIssue
Commit migrated from https://github.com/dotnet/corefx/commit/
ce090689f2fac33f7aa7bd1d37ca6d73b7dafe4d
Eric Eilebrecht [Thu, 16 Jun 2016 23:14:21 +0000 (16:14 -0700)]
Fix MulticastInterface_Set_ValidIndex_Success failures on non-Windows platforms. (dotnet/corefx#9471)
This test assumed that the "loopback" interface was always at index 1, which is not true on Linux/OSX/etc. This change makes that assumption explicitly Windows-only, while allowing the "any interface" case to run on all platforms.
Commit migrated from https://github.com/dotnet/corefx/commit/
212783dd5e84051675b65fa69ae1809d01f1c8c6
Eric St. John [Thu, 16 Jun 2016 02:10:00 +0000 (19:10 -0700)]
Update BuildTools to 1.0.26-prerelease-00517-01
Need these fixes
https://github.com/dotnet/buildtools/commit/dotnet/corefx@
d2f3d75df4a5dd896eb72138c42c159feb71522a
https://github.com/dotnet/buildtools/commit/dotnet/corefx@
ac6c3c35eddcd056382b6cb30e2343abd4bfed71
https://github.com/dotnet/buildtools/commit/dotnet/corefx@
0059189c018a86b140185a0f8c877198e6c59a4e
Commit migrated from https://github.com/dotnet/corefx/commit/
d412bbf98ebbbaae308537175ecdadc2d8f38ce5
Eric St. John [Thu, 16 Jun 2016 02:07:52 +0000 (19:07 -0700)]
Fix tests that were missing pkgproj references
Reflection was missing latest implementation reference (only had
reference assembly, not impl).
Threading and Threading.Tasks were picking up package versions of
System.Diagnostics.Debug and need to pick up live until we have a new
package set.
Commit migrated from https://github.com/dotnet/corefx/commit/
177e9836d62f25f9392b1611f44d7c55458f82df
Eric St. John [Wed, 15 Jun 2016 21:35:15 +0000 (14:35 -0700)]
Build product assemblies against stable packages
I'm leaving tests compiling against pre-release. Once we have a
new build of "beta" packages we'll need to update tests to those
versions.
Commit migrated from https://github.com/dotnet/corefx/commit/
7cf5bb608f8da26730bdaf8864b2ddb68735cb38