Skip to content

Commit 8cbf029

Browse files
committed
imports formatting and serde_path_to_error
1 parent 8f41c8e commit 8cbf029

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+464
-385
lines changed

Cargo.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/tmc-langs-node/src/de.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
//!
21
//! Deserialize a `JsValue` into a Rust data structure
3-
//!
42
5-
use crate::error::Error as LibError;
6-
use crate::error::Result as LibResult;
7-
use neon::prelude::*;
8-
use neon::types::buffer::TypedArray;
9-
use serde::de::Visitor;
3+
use crate::error::{Error as LibError, Result as LibResult};
4+
use neon::{prelude::*, types::buffer::TypedArray};
105
use serde::de::{
116
DeserializeOwned, DeserializeSeed, EnumAccess, MapAccess, SeqAccess, Unexpected, VariantAccess,
7+
Visitor,
128
};
139

1410
pub fn from_value<'j, C, T>(cx: &mut C, value: Handle<'j, JsValue>) -> LibResult<T>

bindings/tmc-langs-node/src/error.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use serde::{de, ser};
2-
use std::convert::From;
3-
use std::fmt::Display;
2+
use std::{convert::From, fmt::Display};
43

54
pub type Result<T> = std::result::Result<T, Error>;
65

bindings/tmc-langs-node/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -918,9 +918,8 @@ ts_rs::export! {
918918

919919
#[cfg(test)]
920920
mod test {
921-
use std::{env, process::Command};
922-
923921
use once_cell::sync::OnceCell;
922+
use std::{env, process::Command};
924923
use tmc_server_mock::mockito::{server_address, Mock};
925924

926925
static MOCKS: OnceCell<Vec<Mock>> = OnceCell::new();

bindings/tmc-langs-node/src/ser.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
//! Serialize a Rust data structure into a `JsValue`
33
//!
44
5-
use crate::error::Error;
6-
use crate::error::Result as LibResult;
7-
use neon::prelude::*;
8-
use neon::types::buffer::TypedArray;
5+
use crate::error::{Error, Result as LibResult};
6+
use neon::{prelude::*, types::buffer::TypedArray};
97
use serde::ser::{self, Serialize};
108
use std::marker::PhantomData;
119

bindings/tmc-langs-node/ts/generated.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export interface Exercise {
134134
all_review_points_given: boolean;
135135
memory_limit: number | null;
136136
runtime_params: Array<string>;
137-
valgrind_strategy: string;
137+
valgrind_strategy: string | null;
138138
code_review_requests_enabled: boolean;
139139
run_tests_locally_action_enabled: boolean;
140140
latest_submission_url: string | null;

plugins/csharp/src/cs_test_result.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ impl CSTestResult {
3333
#[allow(clippy::unwrap_used)]
3434
mod test {
3535
use super::*;
36+
use tmc_langs_util::deserialize;
3637

3738
#[test]
3839
fn deserializes() {
@@ -46,6 +47,6 @@ mod test {
4647
}
4748
"#;
4849

49-
let _cstr: CSTestResult = serde_json::from_str(s).unwrap();
50+
let _cstr: CSTestResult = deserialize::json_from_str(s).unwrap();
5051
}
5152
}

plugins/csharp/src/error.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
use std::path::PathBuf;
44
use thiserror::Error;
55
use tmc_langs_framework::TmcError;
6-
use tmc_langs_util::FileError;
6+
use tmc_langs_util::{FileError, JsonError};
77

88
#[derive(Debug, Error)]
99
pub enum CSharpError {
1010
// Original error types.
1111
#[error("Failed to parse exercise description at {0}")]
12-
ParseExerciseDesc(PathBuf, #[source] serde_json::Error),
12+
ParseExerciseDesc(PathBuf, #[source] JsonError),
1313
#[error("Failed to parse test results at {0}")]
14-
ParseTestResults(PathBuf, #[source] serde_json::Error),
14+
ParseTestResults(PathBuf, #[source] JsonError),
1515
#[error("Could not locate cache directory")]
1616
CacheDir,
1717
#[error("Could not locate boostrap DLL at {0}")]

plugins/csharp/src/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,4 @@ mod error;
77
mod plugin;
88
mod policy;
99

10-
pub use self::error::CSharpError;
11-
pub use self::plugin::CSharpPlugin;
12-
pub use self::policy::CSharpStudentFilePolicy;
10+
pub use self::{error::CSharpError, plugin::CSharpPlugin, policy::CSharpStudentFilePolicy};

plugins/csharp/src/plugin.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
//! An implementation of LanguagePlugin for C#.
22
3-
use crate::policy::CSharpStudentFilePolicy;
4-
use crate::{cs_test_result::CSTestResult, CSharpError};
5-
use std::collections::{HashMap, HashSet};
6-
use std::env;
7-
use std::ffi::{OsStr, OsString};
8-
use std::io::{BufReader, Cursor, Read, Seek};
9-
use std::path::{Path, PathBuf};
10-
use std::time::Duration;
3+
use crate::{cs_test_result::CSTestResult, policy::CSharpStudentFilePolicy, CSharpError};
4+
use std::{
5+
collections::{HashMap, HashSet},
6+
env,
7+
ffi::{OsStr, OsString},
8+
io::{BufReader, Cursor, Read, Seek},
9+
path::{Path, PathBuf},
10+
time::Duration,
11+
};
1112
use tmc_langs_framework::{
1213
nom::{bytes, character, combinator, error::VerboseError, sequence, IResult},
1314
CommandError, ExerciseDesc, Language, LanguagePlugin, RunResult, RunStatus,
1415
StyleValidationResult, StyleValidationStrategy, TestDesc, TestResult, TmcCommand, TmcError,
1516
};
16-
use tmc_langs_util::{file_util, parse_util, FileError};
17+
use tmc_langs_util::{deserialize, file_util, parse_util, FileError};
1718
use walkdir::WalkDir;
1819
use zip::ZipArchive;
1920

@@ -108,7 +109,7 @@ impl CSharpPlugin {
108109
) -> Result<(RunStatus, Vec<TestResult>), CSharpError> {
109110
log::debug!("parsing C# test results");
110111
let test_results = file_util::open_file(test_results_path)?;
111-
let test_results: Vec<CSTestResult> = serde_json::from_reader(test_results)
112+
let test_results: Vec<CSTestResult> = deserialize::json_from_reader(test_results)
112113
.map_err(|e| CSharpError::ParseTestResults(test_results_path.to_path_buf(), e))?;
113114

114115
let mut status = RunStatus::Passed;
@@ -194,7 +195,7 @@ impl LanguagePlugin for CSharpPlugin {
194195
// parse result file
195196
let exercise_desc_json = file_util::open_file(&exercise_desc_json_path)?;
196197
let json: HashMap<String, Vec<String>> =
197-
serde_json::from_reader(BufReader::new(exercise_desc_json))
198+
deserialize::json_from_reader(BufReader::new(exercise_desc_json))
198199
.map_err(|e| CSharpError::ParseExerciseDesc(exercise_desc_json_path, e))?;
199200

200201
let mut tests = vec![];

0 commit comments

Comments
 (0)