Skip to content

Commit 5fe39ca

Browse files
committed
fix(lua,coverage): file paths, struct names
1 parent a928489 commit 5fe39ca

6 files changed

Lines changed: 32 additions & 65 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ test-coverage = ["dep:syn", "dep:regex"]
9090
java = ["client", "dep:jni", "dep:tracing-subscriber", "dep:jni-toolbox", "codemp-proto/java"]
9191
js = ["client", "dep:napi-build", "dep:tracing-subscriber", "dep:napi", "dep:napi-derive", "codemp-proto/js"]
9292
py = ["client", "dep:pyo3", "dep:tracing-subscriber", "dep:pyo3-build-config", "dep:pyo3-introspection", "codemp-proto/py"]
93-
lua = ["client", "serialize", "dep:mlua", "dep:mlua-serde-derive", "dep:tracing-subscriber", "codemp-proto/lua"]
93+
lua = ["client", "serialize", "dep:mlua", "dep:mlua-serde-derive", "dep:tracing-subscriber", "dep:uuid", "codemp-proto/lua"]
9494
# ffi variants
9595
lua-jit = ["mlua?/luajit"]
9696
lua-54 = ["mlua?/lua54"]

src/ffi/lua/ext/callback.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ callback_args! {
120120
VecStr: Vec<String>,
121121
UserInfo: CodempUserInfo,
122122
VecUserInfo: Vec<CodempUserInfo>,
123-
Client: CodempClient,
123+
Session: CodempSession,
124124
CursorController: CodempCursorController,
125125
BufferController: CodempBufferController,
126126
Workspace: CodempWorkspace,

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ pub mod prelude;
122122
pub mod ext;
123123

124124
/// end-to-end tests, useful to assert server compliance
125-
#[cfg(any(feature = "test-e2e", test))]
125+
#[cfg(any(test, feature = "test-e2e", feature = "test-coverage"))]
126126
pub mod tests;
127127

128128
/// re-export codemp_proto as codemp::proto

src/tests/coverage/annotations.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#[test]
2-
#[cfg(all(test, feature = "lua"))]
2+
#[cfg(test)]
33
fn lua_annotations_should_cover_ffi_api_surface() {
44
let annotations = include_str!("../../../dist/lua/annotations.lua");
55

66
let source_maps = [
7-
("Client", include_str!("../../ffi/lua/client.rs"), false),
7+
("Session", include_str!("../../ffi/lua/session.rs"), false),
88
("Workspace", include_str!("../../ffi/lua/workspace.rs"), false),
99
("BufferController", include_str!("../../ffi/lua/buffer.rs"), false),
1010
("CursorController", include_str!("../../ffi/lua/cursor.rs"), false),
@@ -36,12 +36,12 @@ fn lua_annotations_should_cover_ffi_api_surface() {
3636
}
3737

3838
#[test]
39-
#[cfg(all(test, feature = "java"))]
39+
#[cfg(test)]
4040
fn java_annotations_should_cover_ffi_api_surface() {
4141

4242
let mut annotations_map = std::collections::HashMap::new();
4343
for (clazz, content) in [
44-
("Client", include_str!("../../../dist/java/src/mp/code/Client.java")),
44+
("Session", include_str!("../../../dist/java/src/mp/code/Session.java")),
4545
("Workspace", include_str!("../../../dist/java/src/mp/code/Workspace.java")),
4646
("Extensions", include_str!("../../../dist/java/src/mp/code/Extensions.java")),
4747
("BufferController", include_str!("../../../dist/java/src/mp/code/BufferController.java")),
@@ -51,7 +51,7 @@ fn java_annotations_should_cover_ffi_api_surface() {
5151
}
5252

5353
let source = concat!(
54-
include_str!("../../ffi/java/client.rs"),
54+
include_str!("../../ffi/java/session.rs"),
5555
include_str!("../../ffi/java/workspace.rs"),
5656
include_str!("../../ffi/java/buffer.rs"),
5757
include_str!("../../ffi/java/cursor.rs"),

src/tests/coverage/ffi.rs

Lines changed: 23 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
#![allow(missing_docs)] // internal test helper
22

33
use std::collections::{BTreeMap, BTreeSet};
4-
use std::fs;
54

6-
fn parse(path: &str) -> syn::File {
7-
syn::parse_file(&fs::read_to_string(path).expect("Could not parse file")).unwrap()
8-
}
5+
const SOURCE_FILES: &[&str] = &[
6+
include_str!("../../../src/client/session.rs"),
7+
include_str!("../../../src/client/workspace.rs"),
8+
include_str!("../../../src/client/buffer/controller.rs"),
9+
include_str!("../../../src/client/cursor/controller.rs"),
10+
include_str!("../../../src/api/controller.rs"),
11+
];
912

1013
// 1) Discover core API from target objects
1114
fn discover_core_surface(files: &[&str], targets: &[&str]) -> BTreeMap<String, BTreeSet<String>> {
@@ -17,7 +20,7 @@ fn discover_core_surface(files: &[&str], targets: &[&str]) -> BTreeMap<String, B
1720
let mut supertraits_to_check: BTreeMap<String, String> = BTreeMap::new();
1821

1922
for file in files {
20-
let ast = parse(file);
23+
let ast = syn::parse_file(file).unwrap();
2124

2225
for item in ast.items {
2326
match item {
@@ -85,7 +88,7 @@ fn discover_core_surface(files: &[&str], targets: &[&str]) -> BTreeMap<String, B
8588

8689
// second pass to explore also all supertraits
8790
for file in files {
88-
let ast = parse(file);
91+
let ast = syn::parse_file(file).unwrap();
8992

9093
for item in ast.items {
9194
match item {
@@ -161,33 +164,24 @@ fn missing_lang_coverage(
161164
}
162165

163166
#[test]
164-
#[cfg(all(test, feature = "py"))]
165167
fn python_ffi_should_cover_rust_api_surface() {
166168
let targets = &[
167-
"Client",
169+
"Session",
168170
"Workspace",
169171
"BufferController",
170172
"CursorController",
171173
"Controller",
172174
];
173175

174-
let files = &[
175-
"src/client.rs",
176-
"src/workspace.rs",
177-
"src/buffer/controller.rs",
178-
"src/cursor/controller.rs",
179-
"src/api/controller.rs",
180-
];
181-
182-
let required = discover_core_surface(files, targets);
176+
let required = discover_core_surface(SOURCE_FILES, targets);
183177

184178
let python_src = concat!(
185-
include_str!("../../ffi/python/client.rs"),
179+
include_str!("../../ffi/python/session.rs"),
186180
include_str!("../../ffi/python/workspace.rs"),
187181
include_str!("../../ffi/python/controllers.rs"),
188182
);
189183

190-
let python_ignore = ["Client.connect"];
184+
let python_ignore = ["Session.connect"];
191185

192186
let missings = missing_lang_coverage("python", python_src, required, &python_ignore);
193187

@@ -204,28 +198,19 @@ fn python_ffi_should_cover_rust_api_surface() {
204198
}
205199

206200
#[test]
207-
#[cfg(all(test, feature = "js"))]
208201
fn javascript_ffi_should_cover_rust_api_surface() {
209202
let targets = &[
210-
"Client",
203+
"Session",
211204
"Workspace",
212205
"BufferController",
213206
"CursorController",
214207
"Controller",
215208
];
216209

217-
let files = &[
218-
"src/client.rs",
219-
"src/workspace.rs",
220-
"src/buffer/controller.rs",
221-
"src/cursor/controller.rs",
222-
"src/api/controller.rs",
223-
];
224-
225-
let required = discover_core_surface(files, targets);
210+
let required = discover_core_surface(SOURCE_FILES, targets);
226211

227212
let js_src = concat!(
228-
include_str!("../../ffi/js/client.rs"),
213+
include_str!("../../ffi/js/session.rs"),
229214
include_str!("../../ffi/js/workspace.rs"),
230215
include_str!("../../ffi/js/buffer.rs"),
231216
include_str!("../../ffi/js/cursor.rs"),
@@ -248,34 +233,25 @@ fn javascript_ffi_should_cover_rust_api_surface() {
248233
}
249234

250235
#[test]
251-
#[cfg(all(test, feature = "lua"))]
252236
fn lua_ffi_should_cover_rust_api_surface() {
253237
let targets = &[
254-
"Client",
238+
"Session",
255239
"Workspace",
256240
"BufferController",
257241
"CursorController",
258242
"Controller",
259243
];
260244

261-
let files = &[
262-
"src/client.rs",
263-
"src/workspace.rs",
264-
"src/buffer/controller.rs",
265-
"src/cursor/controller.rs",
266-
"src/api/controller.rs",
267-
];
268-
269-
let required = discover_core_surface(files, targets);
245+
let required = discover_core_surface(SOURCE_FILES, targets);
270246

271247
let lua_src = concat!(
272-
include_str!("../../ffi/lua/client.rs"),
248+
include_str!("../../ffi/lua/session.rs"),
273249
include_str!("../../ffi/lua/workspace.rs"),
274250
include_str!("../../ffi/lua/buffer.rs"),
275251
include_str!("../../ffi/lua/cursor.rs"),
276252
);
277253

278-
let lua_ignore = ["Client.connect"];
254+
let lua_ignore = ["Session.connect"];
279255

280256
let missings = missing_lang_coverage("lua", lua_src, required, &lua_ignore);
281257

@@ -292,28 +268,19 @@ fn lua_ffi_should_cover_rust_api_surface() {
292268
}
293269

294270
#[test]
295-
#[cfg(all(test, feature = "java"))]
296271
fn java_ffi_should_cover_rust_api_surface() {
297272
let targets = &[
298-
"Client",
273+
"Session",
299274
"Workspace",
300275
"BufferController",
301276
"CursorController",
302277
"Controller",
303278
];
304279

305-
let files = &[
306-
"src/client.rs",
307-
"src/workspace.rs",
308-
"src/buffer/controller.rs",
309-
"src/cursor/controller.rs",
310-
"src/api/controller.rs",
311-
];
312-
313-
let required = discover_core_surface(files, targets);
280+
let required = discover_core_surface(SOURCE_FILES, targets);
314281

315282
let java_src = concat!(
316-
include_str!("../../ffi/java/client.rs"),
283+
include_str!("../../ffi/java/session.rs"),
317284
include_str!("../../ffi/java/workspace.rs"),
318285
include_str!("../../ffi/java/buffer.rs"),
319286
include_str!("../../ffi/java/cursor.rs"),

src/tests/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
#[cfg(feature = "test-e2e")]
44
pub mod e2e;
55

6-
#[cfg(feature = "test-coverage")]
6+
#[cfg(all(test, feature = "test-coverage"))]
77
mod coverage;

0 commit comments

Comments
 (0)