tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
mtxclient: enable tests
Lu Wang
3 months ago
e4abb3f9
bf105ba1
+90
-11
2 changed files
expand all
collapse all
unified
split
pkgs
by-name
mt
mtxclient
package.nix
remove-network-tests.patch
+13
-11
pkgs/by-name/mt/mtxclient/package.nix
···
12
12
openssl,
13
13
re2,
14
14
spdlog,
15
15
+
gtest,
15
16
}:
16
17
17
17
-
stdenv.mkDerivation rec {
18
18
+
stdenv.mkDerivation (finalAttrs: {
18
19
pname = "mtxclient";
19
20
version = "0.10.1";
20
21
21
22
src = fetchFromGitHub {
22
23
owner = "Nheko-Reborn";
23
24
repo = "mtxclient";
24
24
-
rev = "v${version}";
25
25
+
rev = "v${finalAttrs.version}";
25
26
hash = "sha256-Y0FMCq4crSbm0tJtYq04ZFwWw+vlfxXKXBo0XUgf7hw=";
26
27
};
27
28
28
28
-
postPatch = ''
29
29
-
# See https://github.com/gabime/spdlog/issues/1897
30
30
-
sed -i '1a add_compile_definitions(SPDLOG_FMT_EXTERNAL)' CMakeLists.txt
31
31
-
'';
29
29
+
patches = [
30
30
+
./remove-network-tests.patch
31
31
+
];
32
32
33
33
cmakeFlags = [
34
34
-
# Network requiring tests can't be disabled individually:
35
35
-
# https://github.com/Nheko-Reborn/mtxclient/issues/22
36
36
-
"-DBUILD_LIB_TESTS=OFF"
37
37
-
"-DBUILD_LIB_EXAMPLES=OFF"
34
34
+
(lib.cmakeBool "BUILD_LIB_TESTS" finalAttrs.finalPackage.doCheck)
35
35
+
(lib.cmakeBool "BUILD_LIB_EXAMPLES" false)
38
36
];
39
37
40
38
nativeBuildInputs = [
···
53
51
spdlog
54
52
];
55
53
54
54
+
checkInputs = [ gtest ];
55
55
+
56
56
+
doCheck = true;
57
57
+
56
58
meta = with lib; {
57
59
description = "Client API library for the Matrix protocol";
58
60
homepage = "https://github.com/Nheko-Reborn/mtxclient";
···
64
66
];
65
67
platforms = platforms.all;
66
68
};
67
67
-
}
69
69
+
})
+77
pkgs/by-name/mt/mtxclient/remove-network-tests.patch
···
1
1
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2
2
+
index 9d9f92932246ebec8ab5d1cc462366a17818d014..ce27390bd754a33986188dd2bf29cd0c818c2d58 100644
3
3
+
--- a/CMakeLists.txt
4
4
+
+++ b/CMakeLists.txt
5
5
+
@@ -398,36 +398,6 @@ if(BUILD_LIB_TESTS)
6
6
+
7
7
+
file(COPY tests/fixtures DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
8
8
+
9
9
+
- add_executable(client_api tests/client_api.cpp)
10
10
+
- target_link_libraries(client_api
11
11
+
- MatrixClient::MatrixClient
12
12
+
- GTest::GTest
13
13
+
- GTest::Main)
14
14
+
- target_include_directories(client_api PRIVATE
15
15
+
- ${CMAKE_CURRENT_SOURCE_DIR}/tests)
16
16
+
-
17
17
+
- add_executable(media_api tests/media_api.cpp)
18
18
+
- target_link_libraries(media_api
19
19
+
- MatrixClient::MatrixClient
20
20
+
- GTest::GTest
21
21
+
- GTest::Main)
22
22
+
- target_include_directories(media_api PRIVATE
23
23
+
- ${CMAKE_CURRENT_SOURCE_DIR}/tests)
24
24
+
-
25
25
+
- add_executable(e2ee tests/e2ee.cpp)
26
26
+
- target_link_libraries(e2ee
27
27
+
- MatrixClient::MatrixClient
28
28
+
- GTest::GTest
29
29
+
- GTest::Main)
30
30
+
- target_include_directories(e2ee PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests)
31
31
+
-
32
32
+
- add_executable(device tests/device.cpp)
33
33
+
- target_link_libraries(device
34
34
+
- MatrixClient::MatrixClient
35
35
+
- GTest::GTest
36
36
+
- GTest::Main)
37
37
+
- target_include_directories(device PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests)
38
38
+
-
39
39
+
add_executable(utils tests/utils.cpp)
40
40
+
target_link_libraries(utils
41
41
+
MatrixClient::MatrixClient
42
42
+
@@ -435,21 +405,6 @@ if(BUILD_LIB_TESTS)
43
43
+
GTest::Main)
44
44
+
target_include_directories(utils PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests)
45
45
+
46
46
+
- add_executable(pushrules tests/pushrules.cpp)
47
47
+
- target_link_libraries(pushrules
48
48
+
- MatrixClient::MatrixClient
49
49
+
- GTest::GTest
50
50
+
- GTest::Main)
51
51
+
- target_include_directories(pushrules PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests)
52
52
+
-
53
53
+
- add_executable(connection tests/connection.cpp)
54
54
+
- target_link_libraries(connection
55
55
+
- MatrixClient::MatrixClient
56
56
+
- GTest::GTest
57
57
+
- GTest::Main)
58
58
+
- target_include_directories(connection PRIVATE
59
59
+
- ${CMAKE_CURRENT_SOURCE_DIR}/tests)
60
60
+
-
61
61
+
add_executable(identifiers tests/identifiers.cpp)
62
62
+
target_link_libraries(identifiers
63
63
+
MatrixClient::MatrixClient
64
64
+
@@ -498,13 +453,7 @@ if(BUILD_LIB_TESTS)
65
65
+
GTest::GTest
66
66
+
GTest::Main)
67
67
+
68
68
+
- add_test(BasicConnectivity connection)
69
69
+
- add_test(ClientAPI client_api)
70
70
+
- add_test(MediaAPI media_api)
71
71
+
- add_test(Encryption e2ee)
72
72
+
- add_test(Devices device)
73
73
+
add_test(Utilities utils)
74
74
+
- add_test(Pushrules pushrules)
75
75
+
add_test(Identifiers identifiers)
76
76
+
add_test(Errors errors)
77
77
+
add_test(CryptoStructs crypto)