1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
// Take a look at the license at the top of the repository in the LICENSE file.
use super::utils::{show_error, TestResult};
use std::path::Path;
pub fn check_license_header(content: &str, p: &Path) -> TestResult {
let mut lines = content.lines();
let next = lines.next();
let header = "// Take a look at the license at the top of the repository in the LICENSE file.";
match next {
Some(s) if s == header => {
let next = lines.next();
match next {
Some("") => TestResult {
nb_tests: 1,
nb_errors: 0,
},
Some(s) => {
show_error(
p,
&format!("Expected empty line after license header, found `{}`", s),
);
TestResult {
nb_tests: 1,
nb_errors: 1,
}
}
None => {
show_error(p, "This file should very likely not exist...");
TestResult {
nb_tests: 1,
nb_errors: 1,
}
}
}
}
Some(s) => {
show_error(
p,
&format!(
"Expected license header at the top of the file (`{}`), found: `{}`",
header, s
),
);
TestResult {
nb_tests: 1,
nb_errors: 1,
}
}
None => {
show_error(p, "This (empty?) file should very likely not exist...");
TestResult {
nb_tests: 1,
nb_errors: 1,
}
}
}
}
|