Skip to content

Commit bea5177

Browse files
authored
Merge pull request #33 from Nemo157/update-travis
Update travis config
2 parents 9079d7f + af0fafe commit bea5177

File tree

5 files changed

+89
-71
lines changed

5 files changed

+89
-71
lines changed

.travis.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
11
language: rust
2-
sudo: false
3-
rust: nightly
2+
rust:
3+
- stable
4+
- beta
5+
- nightly
6+
7+
script:
8+
- cargo test
9+
10+
matrix:
11+
include:
12+
- name: cargo fmt
13+
install:
14+
- rustup component add rustfmt
15+
script:
16+
- cargo fmt --all -- --check
17+
18+
- name: cargo clippy
19+
install:
20+
- rustup component add clippy
21+
script:
22+
- cargo clippy --lib --tests -- -Dwarnings

benches/bench.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#![feature(test)]
2+
3+
extern crate route_recognizer;
4+
extern crate test;
5+
6+
use route_recognizer::Router;
7+
8+
#[bench]
9+
fn benchmark(b: &mut test::Bencher) {
10+
let mut router = Router::new();
11+
router.add("/posts/:post_id/comments/:id", "comment".to_string());
12+
router.add("/posts/:post_id/comments", "comments".to_string());
13+
router.add("/posts/:post_id", "post".to_string());
14+
router.add("/posts", "posts".to_string());
15+
router.add("/comments", "comments2".to_string());
16+
router.add("/comments/:id", "comment2".to_string());
17+
18+
b.iter(|| router.recognize("/posts/100/comments/200"));
19+
}

benches/nfa.rs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#![feature(test)]
2+
3+
extern crate route_recognizer;
4+
extern crate test;
5+
6+
use route_recognizer::nfa::CharSet;
7+
use std::collections::{BTreeSet, HashSet};
8+
9+
#[bench]
10+
fn bench_char_set(b: &mut test::Bencher) {
11+
let mut set = CharSet::new();
12+
set.insert('p');
13+
set.insert('n');
14+
set.insert('/');
15+
16+
b.iter(|| {
17+
assert!(set.contains('p'));
18+
assert!(set.contains('/'));
19+
assert!(!set.contains('z'));
20+
});
21+
}
22+
23+
#[bench]
24+
fn bench_hash_set(b: &mut test::Bencher) {
25+
let mut set = HashSet::new();
26+
set.insert('p');
27+
set.insert('n');
28+
set.insert('/');
29+
30+
b.iter(|| {
31+
assert!(set.contains(&'p'));
32+
assert!(set.contains(&'/'));
33+
assert!(!set.contains(&'z'));
34+
});
35+
}
36+
37+
#[bench]
38+
fn bench_btree_set(b: &mut test::Bencher) {
39+
let mut set = BTreeSet::new();
40+
set.insert('p');
41+
set.insert('n');
42+
set.insert('/');
43+
44+
b.iter(|| {
45+
assert!(set.contains(&'p'));
46+
assert!(set.contains(&'/'));
47+
assert!(!set.contains(&'z'));
48+
});
49+
}

src/lib.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
#![cfg_attr(test, feature(test))]
2-
3-
#[cfg(test)]
4-
extern crate test;
5-
61
use nfa::CharacterClass;
72
use nfa::NFA;
83
use std::cmp::Ordering;
@@ -350,20 +345,6 @@ fn star() {
350345
assert_eq!(m.params, params("foo", "bar/foo"));
351346
}
352347

353-
#[cfg(test)]
354-
#[bench]
355-
fn benchmark(b: &mut test::Bencher) {
356-
let mut router = Router::new();
357-
router.add("/posts/:post_id/comments/:id", "comment".to_string());
358-
router.add("/posts/:post_id/comments", "comments".to_string());
359-
router.add("/posts/:post_id", "post".to_string());
360-
router.add("/posts", "posts".to_string());
361-
router.add("/comments", "comments2".to_string());
362-
router.add("/comments/:id", "comment2".to_string());
363-
364-
b.iter(|| router.recognize("/posts/100/comments/200"));
365-
}
366-
367348
#[allow(dead_code)]
368349
fn params(key: &str, val: &str) -> Params {
369350
let mut map = Params::new();

src/nfa.rs

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@ use self::CharacterClass::{Ascii, InvalidChars, ValidChars};
22
use std::collections::HashSet;
33
use std::u64;
44

5-
#[cfg(test)]
6-
use std::collections::BTreeSet;
7-
#[cfg(test)]
8-
use test;
9-
105
#[derive(PartialEq, Eq, Clone, Default)]
116
pub struct CharSet {
127
low_mask: u64,
@@ -591,51 +586,6 @@ fn test_ascii_set() {
591586
assert!(!set.contains('ü'), "The set does not contain ü");
592587
}
593588

594-
#[cfg(test)]
595-
#[bench]
596-
fn bench_char_set(b: &mut test::Bencher) {
597-
let mut set = CharSet::new();
598-
set.insert('p');
599-
set.insert('n');
600-
set.insert('/');
601-
602-
b.iter(|| {
603-
assert!(set.contains('p'));
604-
assert!(set.contains('/'));
605-
assert!(!set.contains('z'));
606-
});
607-
}
608-
609-
#[cfg(test)]
610-
#[bench]
611-
fn bench_hash_set(b: &mut test::Bencher) {
612-
let mut set = HashSet::new();
613-
set.insert('p');
614-
set.insert('n');
615-
set.insert('/');
616-
617-
b.iter(|| {
618-
assert!(set.contains(&'p'));
619-
assert!(set.contains(&'/'));
620-
assert!(!set.contains(&'z'));
621-
});
622-
}
623-
624-
#[cfg(test)]
625-
#[bench]
626-
fn bench_btree_set(b: &mut test::Bencher) {
627-
let mut set = BTreeSet::new();
628-
set.insert('p');
629-
set.insert('n');
630-
set.insert('/');
631-
632-
b.iter(|| {
633-
assert!(set.contains(&'p'));
634-
assert!(set.contains(&'/'));
635-
assert!(!set.contains(&'z'));
636-
});
637-
}
638-
639589
#[allow(dead_code)]
640590
fn valid(char: char) -> CharacterClass {
641591
CharacterClass::valid_char(char)

0 commit comments

Comments
 (0)