Skip to content

Commit

Permalink
Check Oracle versions in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kubo committed Apr 17, 2021
1 parent 95553cd commit 7cb9986
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
10 changes: 8 additions & 2 deletions src/batch.rs
Expand Up @@ -315,8 +315,11 @@ impl<'conn, 'sql> BatchBuilder<'conn, 'sql> {
///
/// ```
/// # use oracle::Error;
/// # use oracle::test_util;
/// # use oracle::test_util::{self, check_version, VER12_1};
/// # let conn = test_util::connect()?;
/// # if !check_version(&conn, &VER12_1, &VER12_1)? {
/// # return Ok(()); // skip this test
/// # }
/// # conn.execute("delete from TestTempTable", &[])?;
/// let sql_stmt = "insert into TestTempTable values(:1, :2)";
/// let batch_size = 10;
Expand Down Expand Up @@ -361,8 +364,11 @@ impl<'conn, 'sql> BatchBuilder<'conn, 'sql> {
/// ```
/// # use oracle::Error;
/// # use oracle::sql_type::OracleType;
/// # use oracle::test_util;
/// # use oracle::test_util::{self, check_version, VER12_1};
/// # let conn = test_util::connect()?;
/// # if !check_version(&conn, &VER12_1, &VER12_1)? {
/// # return Ok(()); // skip this test
/// # }
/// # conn.execute("delete from TestTempTable", &[])?;
/// # let sql_stmt = "insert into TestTempTable values(:1, :2)";
/// # let batch_size = 10;
Expand Down
10 changes: 10 additions & 0 deletions src/lib.rs
Expand Up @@ -526,6 +526,8 @@ pub mod test_util {
use super::*;
use std::env;

pub const VER12_1: Version = Version::new(12, 1, 0, 0, 0);

fn env_var_or(env_name: &str, default: &str) -> String {
match env::var_os(env_name) {
Some(env_var) => env_var.into_string().unwrap(),
Expand All @@ -548,4 +550,12 @@ pub mod test_util {
pub fn connect() -> Result<Connection> {
Connection::connect(&main_user(), &main_password(), &connect_string())
}

pub fn check_version(
conn: &Connection,
client_ver: &Version,
server_ver: &Version,
) -> Result<bool> {
Ok(&Version::client()? >= client_ver && &conn.server_version()?.0 >= server_ver)
}
}
2 changes: 1 addition & 1 deletion src/version.rs
Expand Up @@ -52,7 +52,7 @@ pub struct Version {

impl Version {
/// Creates a new version information
pub fn new(major: i32, minor: i32, update: i32, patch: i32, port_update: i32) -> Version {
pub const fn new(major: i32, minor: i32, update: i32, patch: i32, port_update: i32) -> Version {
Version {
major: major,
minor: minor,
Expand Down

0 comments on commit 7cb9986

Please sign in to comment.