浏览代码

Cleanup. Began unit_test.rs

themultiplexer 8 年前
父节点
当前提交
be1f6605ef
共有 2 个文件被更改,包括 20 次插入3 次删除
  1. 6
    2
      hw5/task1/src/child/mod.rs
  2. 14
    1
      hw5/task1/src/unit_tests.rs

+ 6
- 2
hw5/task1/src/child/mod.rs 查看文件

10
     match count {
10
     match count {
11
         Ok(value) => {
11
         Ok(value) => {
12
 
12
 
13
-            if value > 0 { }
14
-            fork_children(0, value - 1, start_pid);
13
+            if value > 0 {
14
+                fork_children(0, value - 1, start_pid);
15
+            } else {
16
+                return Err("Number of forks must not be zero.".to_string())
17
+            }
18
+
15
             Ok(())
19
             Ok(())
16
         },
20
         },
17
         Err(_) => {
21
         Err(_) => {

+ 14
- 1
hw5/task1/src/unit_tests.rs 查看文件

1
 #[cfg(test)]
1
 #[cfg(test)]
2
 mod tests {
2
 mod tests {
3
+
4
+    use procinfo;
3
     use child::*;
5
     use child::*;
4
 
6
 
7
+    #[test]
5
     fn test_zero_forks(){
8
     fn test_zero_forks(){
6
-        assert_eq!(run_childs(123,"2"))
9
+        assert_eq!(run_childs(123,"0"), Err("Number of forks must not be zero.".to_string()))
10
+    }
11
+
12
+    #[test]
13
+    fn test_one_fork(){
14
+        assert_eq!(run_childs(procinfo::pid::stat_self().unwrap().pid,"1"), Ok(()))
15
+    }
16
+
17
+    #[test]
18
+    fn test_wrong_pid(){
19
+        assert_eq!(run_childs(2,"1"), Ok(()))
7
     }
20
     }
8
 }
21
 }

正在加载...
取消
保存