diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 050c066..cdb099f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,8 @@ test:stable: script: - rustc --version && cargo --version # Print version info for debugging - cargo build --all - - cargo test --all --verbose --jobs 1 + # - cargo test --all --verbose --jobs 1 + - cargo test --all --verbose # Use cargo to test the project test:nightly: @@ -26,8 +27,7 @@ test:nightly: script: - rustc --version && cargo --version # Print version info for debugging - cargo build - # - cargo test --verbose - # # Don't paralize, At least until I fix tempdb helper fn. - - cargo test --verbose --jobs 1 + - cargo test --verbose + # - cargo test --verbose --jobs 1 # - cargo bench allow_failure: true diff --git a/hammond-data/Cargo.toml b/hammond-data/Cargo.toml index 246f02b..b95c3fc 100644 --- a/hammond-data/Cargo.toml +++ b/hammond-data/Cargo.toml @@ -19,4 +19,5 @@ rss = "1.1.0" dotenv = "*" [dev-dependencies] -tempdir = "0.3.5" \ No newline at end of file +tempdir = "0.3.5" +rand = "0.3.16" \ No newline at end of file diff --git a/hammond-data/src/index_feed.rs b/hammond-data/src/index_feed.rs index b6b918c..f4e8b2a 100644 --- a/hammond-data/src/index_feed.rs +++ b/hammond-data/src/index_feed.rs @@ -211,8 +211,11 @@ fn refresh_source( mod tests { extern crate tempdir; + extern crate rand; + use diesel::prelude::*; use rss; + use self::rand::Rng; use std::io::BufReader; use std::path::PathBuf; @@ -229,11 +232,11 @@ mod tests { /// Create and return a Temporary DB. /// Will be destroed once the returned variable(s) is dropped. - // TODO: make it an Iterator so it will give a unique db_path each time. - // And will also be able to run tests in parallel. fn get_temp_db() -> TempDB { + let mut rng = rand::thread_rng(); + let tmp_dir = tempdir::TempDir::new("hammond_unit_test").unwrap(); - let db_path = tmp_dir.path().join("foo_tests.db"); + let db_path = tmp_dir.path().join(format!("hammonddb_{}.db", rng.gen::())); let db = SqliteConnection::establish(db_path.to_str().unwrap()).unwrap(); ::run_migration_on(&db).unwrap();