|
1 | | -extern crate debian; |
2 | | -#[macro_use] |
3 | | -extern crate log; |
4 | | -extern crate tempfile; |
5 | | - |
6 | 1 | use std::env; |
7 | 2 | use std::path::PathBuf; |
8 | | -use std::str::FromStr; |
9 | 3 |
|
| 4 | +use log::*; |
10 | 5 | use tempfile::TempDir; |
11 | 6 |
|
12 | 7 | use debian::control::{parse_dep_list, ControlFile, VRel}; |
13 | | -use debian::version::{Version, VersionElement, VersionPart}; |
| 8 | +use debian::{Version, VersionElement, VersionPart}; |
14 | 9 |
|
15 | 10 | fn data_path() -> PathBuf { |
16 | 11 | // Not sure what the best way is - this works when invoked from cargo. |
@@ -65,92 +60,42 @@ fn control_file_postgis() { |
65 | 60 |
|
66 | 61 | let path = data_path().join("control-postgis"); |
67 | 62 | let cf = ControlFile::from_file(&path).unwrap(); |
68 | | - assert!(cf.get_paragraphs().len() == 10); |
| 63 | + assert_eq!(cf.get_paragraphs().len(), 10, "number of paragraphs"); |
69 | 64 |
|
70 | 65 | let gp = cf.get_paragraphs().get(0).unwrap(); |
71 | 66 | assert_eq!(gp.get_entry("Source").unwrap(), "postgis"); |
72 | 67 | } |
73 | 68 |
|
74 | 69 | #[test] |
75 | | -fn version_basics() { |
76 | | - let v = Version::parse("7:2.1.4-0~bpo2").unwrap(); |
77 | | - assert_eq!(v.epoch, 7); |
78 | | - assert_eq!(&v.upstream_version.to_string(), "2.1.4"); |
79 | | - assert_eq!(&v.upstream_version.to_string(), "2.1.4"); |
80 | | - assert_eq!(&v.debian_revision.to_string(), "0~bpo2"); |
81 | | - assert_eq!(Version::from_str("7:2.1.4-0~bpo2").unwrap(), v); |
82 | | - |
83 | | - let v = Version::parse("2.1.4-0~bpo2").unwrap(); |
84 | | - assert_eq!(v.epoch, 0); |
85 | | - assert_eq!(&v.upstream_version.to_string(), "2.1.4"); |
86 | | - assert_eq!(&v.debian_revision.to_string(), "0~bpo2"); |
87 | | - |
88 | | - let v = Version::parse("7:2.1.4").unwrap(); |
89 | | - assert_eq!(v.epoch, 7); |
90 | | - assert_eq!(v.upstream_version.to_string(), "2.1.4"); |
91 | | - assert_eq!(v.debian_revision.to_string(), ""); |
92 | | - |
93 | | - let v = Version::parse("2.1.4").unwrap(); |
94 | | - assert_eq!(v.epoch, 0); |
95 | | - assert_eq!(v.upstream_version.to_string(), "2.1.4"); |
96 | | - assert_eq!(v.debian_revision.to_string(), ""); |
97 | | - |
98 | | - let v = Version::parse("1:1:1-8-8").unwrap(); |
99 | | - assert_eq!(v.epoch, 1); |
100 | | - assert_eq!(v.upstream_version.to_string(), "1:1-8"); |
101 | | - assert_eq!(v.debian_revision.to_string(), "8"); |
102 | | -} |
| 70 | +fn control_file_fbautostart() { |
| 71 | + setup(); |
103 | 72 |
|
104 | | -#[test] |
105 | | -fn version_comparisons() { |
106 | | - let v = Version::parse("7:2.1.4-0~bpo2").unwrap(); |
107 | | - assert!(v < Version::parse("8:1.8-0~bpo2").unwrap()); |
| 73 | + let path = data_path().join("control-fbautostart"); |
| 74 | + let cf = ControlFile::from_file(&path).unwrap(); |
| 75 | + assert_eq!(cf.get_paragraphs().len(), 2, "number of paragraphs"); |
108 | 76 |
|
| 77 | + let source = cf.get_paragraphs().get(0).unwrap(); |
109 | 78 | assert_eq!( |
110 | | - Version::parse("0:1.0").unwrap(), |
111 | | - Version::parse("1.0").unwrap() |
112 | | - ); |
113 | | - assert!( |
114 | | - Version::parse("7:1.8-0~bpo2").unwrap() |
115 | | - < Version::parse("8:1.8-0~bpo2").unwrap() |
116 | | - ); |
117 | | - assert!( |
118 | | - Version::parse("8:1.8-0~bpo1").unwrap() |
119 | | - < Version::parse("8:1.8-0~bpo2").unwrap() |
120 | | - ); |
121 | | - assert!( |
122 | | - Version::parse("8:1.8-0~bpo2").unwrap() |
123 | | - < Version::parse("8:1.8-1~bpo2").unwrap() |
124 | | - ); |
125 | | - assert!( |
126 | | - Version::parse("8:1.7-0~bpo2").unwrap() |
127 | | - < Version::parse("8:1.8-0~bpo2").unwrap() |
128 | | - ); |
129 | | - assert!( |
130 | | - Version::parse("8:0.8-0~bpo2").unwrap() |
131 | | - < Version::parse("8:1.8-0~bpo2").unwrap() |
| 79 | + source.get_entry("Maintainer").unwrap(), |
| 80 | + "Paul Tagliamonte <paultag@ubuntu.com>" |
132 | 81 | ); |
| 82 | + assert_eq!(source.get_entry("Source").unwrap(), "fbautostart"); |
133 | 83 |
|
134 | | - assert!( |
135 | | - Version::parse("9:1.8-0~bpo2").unwrap() |
136 | | - > Version::parse("8:1.8-0~bpo2").unwrap() |
137 | | - ); |
138 | | - assert!( |
139 | | - Version::parse("8:1.8-0~bpo3").unwrap() |
140 | | - > Version::parse("8:1.8-0~bpo2").unwrap() |
141 | | - ); |
142 | | - assert!( |
143 | | - Version::parse("8:1.8-2~bpo2").unwrap() |
144 | | - > Version::parse("8:1.8-1~bpo2").unwrap() |
145 | | - ); |
146 | | - assert!( |
147 | | - Version::parse("8:1.9-0~bpo2").unwrap() |
148 | | - > Version::parse("8:1.8-0~bpo2").unwrap() |
149 | | - ); |
150 | | - assert!( |
151 | | - Version::parse("8:2.8-0~bpo2").unwrap() |
152 | | - > Version::parse("8:1.8-0~bpo2").unwrap() |
| 84 | + let bd_str = source.get_entry("Build-Depends").unwrap(); |
| 85 | + let bd = parse_dep_list(bd_str).unwrap(); |
| 86 | + assert_eq!(bd.len(), 1); |
| 87 | + assert_eq!(bd[0].alternatives.len(), 1); |
| 88 | + |
| 89 | + let first_dep = &bd[0].alternatives[0]; |
| 90 | + assert_eq!(first_dep.package, "debhelper"); |
| 91 | + assert_eq!( |
| 92 | + first_dep.version, |
| 93 | + Some((VRel::GreaterOrEqual, Version::parse("9").unwrap())) |
153 | 94 | ); |
| 95 | + |
| 96 | + let package = cf.get_paragraphs().get(1).unwrap(); |
| 97 | + assert_eq!(package.get_entry("Package").unwrap(), "fbautostart"); |
| 98 | + assert_eq!(package.get_entry("Architecture").unwrap(), "any"); |
154 | 99 | } |
155 | 100 |
|
156 | 101 | #[test] |
@@ -205,22 +150,3 @@ fn dependency_basics() { |
205 | 150 | )) |
206 | 151 | ); |
207 | 152 | } |
208 | | - |
209 | | -#[cfg(feature = "serde")] |
210 | | -#[test] |
211 | | -fn serde_tests() { |
212 | | - let data = r#"[ |
213 | | - "8:1.8-0~bpo2", |
214 | | - "1.8-0", |
215 | | - "1:1:1-8-8" |
216 | | - ]"#; |
217 | | - let versions: Vec<Version> = serde_json::from_str(data).unwrap(); |
218 | | - assert_eq!(versions.len(), 3); |
219 | | - assert_eq!(versions[0], Version::parse("8:1.8-0~bpo2").unwrap()); |
220 | | - assert_eq!(versions[1], Version::parse("1.8-0").unwrap()); |
221 | | - assert_eq!(versions[2], Version::parse("1:1:1-8-8").unwrap()); |
222 | | - |
223 | | - // test serialization |
224 | | - let ser = serde_json::to_string(&versions).unwrap(); |
225 | | - assert_eq!(ser, r#"["8:1.8-0~bpo2","1.8-0","1:1:1-8-8"]"#); |
226 | | -} |
0 commit comments