summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/embedded.rs3
-rw-r--r--src/info_file.rs4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/embedded.rs b/src/embedded.rs
index 23c8d6e..45f8eca 100644
--- a/src/embedded.rs
+++ b/src/embedded.rs
@@ -70,6 +70,7 @@ impl ExerciseDir {
}
pub struct EmbeddedFiles {
+ pub info_file: &'static str,
exercise_files: &'static [ExerciseFiles],
exercise_dirs: &'static [ExerciseDir],
}
@@ -148,7 +149,7 @@ mod tests {
#[test]
fn dirs() {
- let exercises = toml_edit::de::from_str::<InfoFile>(include_str!("../info.toml"))
+ let exercises = toml_edit::de::from_str::<InfoFile>(EMBEDDED_FILES.info_file)
.expect("Failed to parse `info.toml`")
.exercises;
diff --git a/src/info_file.rs b/src/info_file.rs
index dbe4f08..14b886b 100644
--- a/src/info_file.rs
+++ b/src/info_file.rs
@@ -2,6 +2,8 @@ use anyhow::{bail, Context, Error, Result};
use serde::Deserialize;
use std::{fs, io::ErrorKind};
+use crate::embedded::EMBEDDED_FILES;
+
// Deserialized from the `info.toml` file.
#[derive(Deserialize)]
pub struct ExerciseInfo {
@@ -47,7 +49,7 @@ impl InfoFile {
.context("Failed to parse the `info.toml` file")?,
Err(e) => {
if e.kind() == ErrorKind::NotFound {
- return toml_edit::de::from_str(include_str!("../info.toml"))
+ return toml_edit::de::from_str(EMBEDDED_FILES.info_file)
.context("Failed to parse the embedded `info.toml` file");
}