Skip to content
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.

Pawelka/linux tests #132

Merged
merged 3 commits into from
Dec 15, 2015
Merged

Pawelka/linux tests #132

merged 3 commits into from
Dec 15, 2015

Conversation

moozzyk
Copy link
Contributor

@moozzyk moozzyk commented Dec 11, 2015

No description provided.

@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 11, 2015

/cc @BrennanConroy @halter73

@@ -74,4 +61,17 @@ namespace signalr
SIGNALRCLIENT_API pplx::task<void> __cdecl invoke_void(const utility::string_t& method_name, const web::json::value& arguments,
const on_progress_handler& on_progress);
};

template<>
inline pplx::task<void> hub_proxy::invoke<void>(const utility::string_t& method_name, const on_progress_handler& on_progress)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any particular reason for this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. It won't compile with gcc. From what I remember when I hit this it turned out that the compiler in VS allows both but only the definition outside the class is per standard and the definition inside class is an extension

@BrennanConroy
Copy link
Member

How do you build on Linux? I tried using CMake but hitting some errors

@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 11, 2015

@BrennanConroy - I will be adding building instructions to README but in general you do this:

  1. build casablanca as per https://github.com/Microsoft/cpprestsdk/wiki/How-to-build-for-Linux (note I built version 2.6.0 but 2.7.0 is now available which I have not tried yet)
  2. create a subfolder in the SignalR root repo (e.g. build)
  3. run CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPREST_INCLUDE_DIR=~/source/casablanca/Release/include/ -DCPPREST_LIB_DIR=~/source/casablanca/Release/build.release/Binaries (adjust values of CPPREST_INCLUDE_DIR and CPPREST_LIB_DIR accordingly)
  4. make
    This will build the lib and the tests. The binaries will be in the bin subfolder.

There are some issues with the tests:

  • there are 3 tests that are flakey and fail quite often (especially when compiled in Debug)
  • more often than not (again especially in the debug) - all tests appear to have finished but the process does not exit. Looks like gtest is waiting for some threads to finish
  • My Linux box is a quite old laptop so there might be more (or fewer?) issues on faster boxes

Thanks for looking at this.

@halter73
Copy link
Member

@moozzyk I haven't looked at this super carefully, but it seems good to me. Do you want someone else to try running this? I have an Arch Linux VM which might show us something new.

@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 12, 2015

@halter73 - Thanks for taking a look. It would be great to try it in a different setup I tried so far (keeping in mind that Linux support is experimental at this point - see my comment about tests).

@BrennanConroy
Copy link
Member

I'm hitting an error with the make_unique on line 27 of connection_implementation.cpp

Sent from my HTC

----- Reply message -----
From: "Pawel Kadluczka" [email protected]
To: "aspnet/SignalR-Client-Cpp" [email protected]
Cc: "Brennan Conroy" [email protected]
Subject: [SignalR-Client-Cpp] Pawelka/linux tests (#132)
Date: Fri, Dec 11, 2015 7:34 PM

@halter73https://github.com/halter73 - Thanks for taking a look. It would be great to try it in a different setup I tried so far (keeping in mind that Linux support is experimental at this point - see my comment about tests).

Reply to this email directly or view it on GitHubhttps://github.com/aspnet/SignalR-Client-Cpp/pull/132#issuecomment-164105765.

@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 12, 2015

Weird - I did not see it. I will try to git clean my tree and rebuild. I will also check if the include is not missing since I had to do make_unique on my own.

@moozzyk moozzyk force-pushed the pawelka/linux_tests branch from 87297bf to 89a35ae Compare December 12, 2015 22:48
@moozzyk moozzyk force-pushed the pawelka/linux_tests branch from 89a35ae to 5dfa11e Compare December 13, 2015 01:48
@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 13, 2015

@BrennanConroy - I fixed the issue with make_unique and moved to cpprestsdk 2.7.0.
I also wanted to try the client on CentOs but could not build casablanca - it could not find the correct version of (suprise) OpenSSL

@BrennanConroy
Copy link
Member

Looks good, seeing these 2 errors

[  FAILED  ] connection_impl_start.connection_state_is_connecting_when_connection_is_being_started
[  FAILED  ] connection_impl_reconnect.reconnect_cancelled_if_connection_dropped_during_start_and_start_failed

@moozzyk
Copy link
Contributor Author

moozzyk commented Dec 15, 2015

Thanks @BrennanConroy - I filed a bug for this: https://github.com/aspnet/SignalR-Client-Cpp/issues/136

@moozzyk moozzyk merged commit 5dfa11e into dev Dec 15, 2015
@moozzyk moozzyk deleted the pawelka/linux_tests branch December 15, 2015 01:08
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants