Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tamer/Cargo.lock213
-rw-r--r--tamer/Cargo.toml4
-rw-r--r--tamer/tests/data/empty.xmlo0
-rw-r--r--tamer/tests/data/invalid.xmlo1
-rw-r--r--tamer/tests/tamec.rs96
-rw-r--r--tamer/tests/tameld.rs105
6 files changed, 10 insertions, 409 deletions
diff --git a/tamer/Cargo.lock b/tamer/Cargo.lock
index b46eebc..87db285 100644
--- a/tamer/Cargo.lock
+++ b/tamer/Cargo.lock
@@ -3,31 +3,10 @@
version = 3
[[package]]
-name = "aho-corasick"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-dependencies = [
- "memchr",
-]
-
-[[package]]
name = "arrayvec"
-version = "0.7.1"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
-
-[[package]]
-name = "assert_cmd"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7ac5c260f75e4e4ba87b7342be6edcecbcb3eb6741a0507fda7ad115845cc65"
-dependencies = [
- "escargot",
- "predicates",
- "predicates-core",
- "predicates-tree",
-]
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
[[package]]
name = "autocfg"
@@ -48,22 +27,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
-name = "difference"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
-
-[[package]]
-name = "escargot"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19db1f7e74438642a5018cdf263bb1325b2e792f02dd0a3ca6d6c0f0d7b1d5a5"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
name = "exitcode"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -76,15 +39,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
[[package]]
-name = "float-cmp"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
name = "fxhash"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -104,27 +58,21 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.9.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
[[package]]
name = "indexmap"
-version = "1.6.2"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
+checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
dependencies = [
"autocfg",
"hashbrown",
]
[[package]]
-name = "itoa"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-
-[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -132,24 +80,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "memchr"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
-
-[[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg",
-]
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]]
name = "paste"
@@ -178,44 +111,6 @@ dependencies = [
]
[[package]]
-name = "predicates"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df"
-dependencies = [
- "difference",
- "float-cmp",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2"
-dependencies = [
- "predicates-core",
- "treeline",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
name = "quick-xml"
version = "0.23.0-alpha3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -225,91 +120,16 @@ dependencies = [
]
[[package]]
-name = "quote"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "regex"
-version = "1.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
-[[package]]
-name = "ryu"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
-[[package]]
-name = "serde"
-version = "1.0.126"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.126"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
-name = "syn"
-version = "1.0.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
name = "tamer"
version = "0.0.0"
dependencies = [
"arrayvec",
- "assert_cmd",
"bumpalo",
"exitcode",
"fxhash",
@@ -319,28 +139,15 @@ dependencies = [
"paste",
"petgraph",
"petgraph-graphml",
- "predicates",
"quick-xml",
"static_assertions",
]
[[package]]
-name = "treeline"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
-
-[[package]]
name = "unicode-width"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.2"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
[[package]]
name = "xml-rs"
diff --git a/tamer/Cargo.toml b/tamer/Cargo.toml
index 8488f0c..73a63b2 100644
--- a/tamer/Cargo.toml
+++ b/tamer/Cargo.toml
@@ -22,10 +22,6 @@ lto = true
# in a release.
lto = true
-[dev-dependencies]
-assert_cmd = "0.10"
-predicates = "1"
-
[dependencies]
arrayvec = ">= 0.7.1"
bumpalo = ">= 2.6.0"
diff --git a/tamer/tests/data/empty.xmlo b/tamer/tests/data/empty.xmlo
deleted file mode 100644
index e69de29..0000000
--- a/tamer/tests/data/empty.xmlo
+++ /dev/null
diff --git a/tamer/tests/data/invalid.xmlo b/tamer/tests/data/invalid.xmlo
deleted file mode 100644
index dd52bf9..0000000
--- a/tamer/tests/data/invalid.xmlo
+++ /dev/null
@@ -1 +0,0 @@
-This is not valid XML!
diff --git a/tamer/tests/tamec.rs b/tamer/tests/tamec.rs
deleted file mode 100644
index 3eef1cd..0000000
--- a/tamer/tests/tamec.rs
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (C) 2014-2021 Ryan Specialty Group, LLC.
-//
-// This file is part of TAME.
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use assert_cmd::prelude::*;
-use predicates::prelude::*;
-use std::process::Command;
-
-#[test]
-fn compile_invalid_argument() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("-q");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("Unrecognized option:"));
-
- Ok(())
-}
-
-#[test]
-fn compile_missing_input_file() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("--emit").arg("xmlo");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("INPUT"));
-
- Ok(())
-}
-
-#[test]
-fn compile_missing_emit() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("foobar");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("--emit xmlo"));
-
- Ok(())
-}
-
-#[test]
-fn compile_invalid_emit() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("foobar");
- cmd.arg("--emit").arg("foo");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("--emit xmlo"));
-
- Ok(())
-}
-
-#[test]
-fn compile_input_file_does_not_exist() -> Result<(), Box<dyn std::error::Error>>
-{
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("foobar.xml");
- cmd.arg("--emit").arg("xmlo");
- cmd.assert()
- .failure()
- .code(1)
- .stderr(predicate::str::contains("No such file or directory"));
-
- Ok(())
-}
-
-#[test]
-fn compile_input_file_wrong_extension() -> Result<(), Box<dyn std::error::Error>>
-{
- let mut cmd = Command::cargo_bin("tamec")?;
- cmd.arg("foobar.php");
- cmd.arg("--emit").arg("xmlo");
- cmd.assert().failure().stderr(predicate::str::contains(
- "foobar.php: file format not recognized",
- ));
-
- Ok(())
-}
diff --git a/tamer/tests/tameld.rs b/tamer/tests/tameld.rs
deleted file mode 100644
index 78a401a..0000000
--- a/tamer/tests/tameld.rs
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright (C) 2014-2021 Ryan Specialty Group, LLC.
-//
-// This file is part of TAME.
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use assert_cmd::prelude::*;
-use predicates::prelude::*;
-use std::process::Command;
-
-#[test]
-fn link_invalid_argument() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("-q");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("Unrecognized option:"));
-
- Ok(())
-}
-
-#[test]
-fn link_missing_input_file() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("FILE"));
-
- Ok(())
-}
-
-#[test]
-fn link_missing_output_file() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("foobar");
- cmd.assert()
- .failure()
- .code(exitcode::USAGE)
- .stderr(predicate::str::contains("-o OUTPUT"));
-
- Ok(())
-}
-
-#[test]
-fn link_input_file_does_not_exist() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("foobar");
- cmd.arg("-o").arg("tests/data/test-output.xmle");
- cmd.assert()
- .failure()
- .code(1)
- .stderr(predicate::str::contains("No such file or directory"));
-
- Ok(())
-}
-
-#[test]
-fn link_invalid_emit() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("foobar");
- cmd.arg("--emit").arg("notgood");
- cmd.arg("-o").arg("tests/data/test-output.xmle");
- cmd.assert()
- .failure()
- .stderr(predicate::str::contains("--emit notgood"));
-
- Ok(())
-}
-
-#[test]
-fn link_empty_input_file() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("tests/data/empty.xmlo");
- cmd.arg("-o").arg("tests/data/test-output.xmle");
- cmd.assert()
- .failure()
- .stderr(predicate::str::contains("stack overflow")); // uh oh
-
- Ok(())
-}
-
-#[test]
-fn link_invalid_input_file() -> Result<(), Box<dyn std::error::Error>> {
- let mut cmd = Command::cargo_bin("tameld")?;
- cmd.arg("tests/data/invalid.xmlo");
- cmd.arg("-o").arg("tests/data/test-output.xmle");
- cmd.assert()
- .failure()
- .stderr(predicate::str::contains("stack overflow")); // uh oh
-
- Ok(())
-}