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

19 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena d83e9687a6
[Tests] Centralized the endpoints for the different network tests. (#7418)
Use a single point where the different enpoints can be found so that
if they need to be updated (server issues or other) it is a simple
change that will affect all tests in monotouch-tests
2019-11-14 05:45:33 -05:00
Vincent Dondain a558d84457 Merge branch 'xcode11.2' into master-merge-xcode11.2 2019-11-05 15:25:49 -05:00
Manuel de la Pena 957572720e
[Tests] Fix some network tests that were leaving the connection in a bad (#7337)
state.

Some of the tests were creating connections when not needed, this
'apparetly' was leaving the internal state of the Networking API in a
bad state in which it would throw a SIGSEGV and will make the connection
of other tests fail. In this case, the Tls tests that use the Network
API.

Cleaning the tests and removing those badly managed connections ensured
that the SIGSEGV would not be thrown and got all the other tests to
work.

This is a blackbox, test now passes without problems.

Fixes: https://github.com/xamarin/maccore/issues/2048
2019-10-30 15:07:28 -04:00
Manuel de la Pena 610cefaf1e
[Tests] Fix the Network tests. (#7293)
* [Tests] Fix the Network tests.

The pattern used to Cancel then Dispose the connection is wrong and
ended up crashing the tests sometimes. It is a race condition and is
very rare, but makes the tests flaky. The changes ensures that we
Dispose the connection, which internally closes it.

Tests have been added for the NWConnection Close calls.

Also cleaned some on the CWL that were not needed.
2019-10-28 14:50:44 -04:00
Manuel de la Pena e1c12bba11
[Network] Add NWFramerMessage implementation. (#7256)
Add a missing object for the type.

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
2019-10-24 10:40:54 -04:00
Rolf Bjarne Kvinge 4d8ec5d531
[Network] Fix NWTxtRecord.Apply. Fixes xamarin/maccore#2036. (#7281)
The block/delegate passed to NWTxtRecord.Apply is supposed to return a bool.
Not returning anything ends up with random behavior, which causes a test
failure on Catalina:

   3) TestApply (MonoTouchFixtures.Network.NWTxtRecordTest.TestApply)
        keycount
     Expected: 4
     But was:  1

     at MonoTouchFixtures.Network.NWTxtRecordTest.TestApply () [0x000a3] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/monotouch-test/Network/NWTxtRecordTest.cs:134
     at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
     at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/mono/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:395

I've fixed the existing API to return 'true' always in the block callback, to
get consistent behavior, and in addition I've added a new overload that takes
a delegate that returns a bool, which allows the consumer of the API to decide
what to return.

Fixes https://github.com/xamarin/maccore/issues/2036.
2019-10-23 23:25:27 +02:00
Manuel de la Pena 20df742564
[Network] Cleanup the NWProtocolMetadata. (#7270)
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
2019-10-22 23:49:51 +02:00
Manuel de la Pena a50ec24e4a
[Network] Clean up the protocol options class. (#7196)
Add classes for each of the protocol types. Deprecated the old methods.
2019-10-18 04:04:41 +02:00
Manuel de la Pena 4cff2bc4e3
[Networking] Improve the NWBrowser API. (#7214)
Kept the API as it was but added a new handler that will be called when
all the changes from the browser have been done. The old Set* method
could be deleted in a future release and just expose the property.
2019-10-15 14:31:31 -04:00
Manuel de la Pena e37549bc90
[Networking] Bring the framework up to Xcode 11.1 (#7091)
Add most of the new classes for Networking on Xcode11.1
2019-10-07 21:53:04 -04:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Waleed Chaudhry d4a775d8a3
[Network] Add currentPath property to NWPathMonitor. Fixes #5603. (#6931)
* Add currentPath property to NWPathMonitor. Fixes #5603.
2019-09-11 13:00:55 -04:00
Rolf Bjarne Kvinge 85ec17a506
[Network] Improve bindings for NWProtocolMetadata. (#6389)
* [Network] Improve bindings for NWProtocolMetadata.

It turns out the NWProtocolMetadata can contain metadata for different
protocols (Ip/Tls/Tcp). This is important; if someone tries to get a value for
one protocol and the metadata is for another protocol, then they invoke the
wrath of superior beings who will smite that poor someone with uninitialized
memory.

At that point there's not much left but to pray.

I don't like to depend on divine intervention, so I've modified the API here
to check if the metadata's protocol is the required type for the native API
we're calling, and if the check fails, we throw a nice and dependable managed
exception.

This is a functional breaking change; but if there are any lost souls who
likes to pray, they can always re-implement the P/Invokes themselves and skip
the sanity checks.

In addition I've renamed a few properties whose name didn't clearly specify
which protocol type they operate on.

Ref: Apple feedback FB6155967.
Ref: https://trello.com/c/1TW0BSKJ/145-fb6155967-nwipcreatemetadata-returns-uninitialized-metadata-in-ios-13

* Fix casing in exception message.

* [tests] Adjust the SecProtocolMetadataTest according to new knowledge about the Network API.

* Fix alternative property name in obsolete attribute.
2019-06-21 15:00:19 +02:00
Manuel de la Pena 422da1f8d4 [Tests] Remove IPV6 flaky test with an ignore. (#4815) 2018-09-14 10:05:17 -04:00
Manuel de la Pena eeca0b8780 [Tests] force the IP version to fix tests on bots. (#4805) 2018-09-13 14:13:21 -04:00
Manuel de la Pena bed3770bae [Tests] Add missing tests for NWProtocolStack and fix NWParameters tests. (#4793) 2018-09-12 19:15:33 -04:00
Sebastien Pouliot 2c8f882896
[security] SecProtocolMetadata update and tests (#4792)
* Avoid `ArgumentNullException` in default/empty `SecProtocolMetadata.PeerPublicKey`
* Add two `SecProtocolMetadata.CreateSecret` API - disabled as the current tests (incomplete?) crash in unit tests
* Add basic unit tests for `[Sec|NW]ProtocolMetadata`
* Update xtro
2018-09-12 13:07:10 -04:00
Manuel de la Pena e43ca080c7
[Tests] Add missing tests for NWPath. (#4765) 2018-09-12 12:35:40 +02:00
Manuel de la Pena fb9ae90937 [Network] Small change in NWParameters to use a property for RequiredInterface. (#4742)
Added missing tests. Also modified the Interface property in
NWParameters and fix a small typo in NWProtocolMetadata.
2018-09-05 08:07:10 -04:00