File tree Expand file tree Collapse file tree 4 files changed +437
-0
lines changed
uefi-test-runner/src/proto Expand file tree Collapse file tree 4 files changed +437
-0
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ pub fn test() {
42
42
target_arch = "aarch64"
43
43
) ) ]
44
44
shim:: test ( ) ;
45
+ shell:: test ( ) ;
45
46
tcg:: test ( ) ;
46
47
}
47
48
@@ -96,6 +97,7 @@ mod shell_params;
96
97
target_arch = "arm" ,
97
98
target_arch = "aarch64"
98
99
) ) ]
100
+ mod shell;
99
101
mod shim;
100
102
mod string;
101
103
mod tcg;
Original file line number Diff line number Diff line change
1
+ use uefi:: CStr16 ;
2
+ use uefi:: prelude:: BootServices ;
3
+ use uefi:: proto:: shell:: Shell ;
4
+
5
+ pub fn test ( bt : & BootServices ) {
6
+ info ! ( "Running shell protocol tests" ) ;
7
+
8
+ let handle = bt. get_handle_for_protocol :: < Shell > ( ) . expect ( "No Shell handles" ) ;
9
+
10
+ let mut shell = bt
11
+ . open_protocol_exclusive :: < Shell > ( handle)
12
+ . expect ( "Failed to open Shell protocol" ) ;
13
+
14
+ // create some files
15
+ let mut test_buf = [ 0u16 ; 12 ] ;
16
+ let test_str = CStr16 :: from_str_with_buf ( "test" , & mut test_buf) . unwrap ( ) ;
17
+ shell. create_file ( test_str, 0 ) ;
18
+
19
+ // get file tree
20
+ let mut str_buf = [ 0u16 ; 12 ] ;
21
+ let str_str = CStr16 :: from_str_with_buf ( r"fs0:\*" , & mut str_buf) . unwrap ( ) ;
22
+ let res = shell. find_files ( str_str) ;
23
+ let list = res. unwrap ( ) ;
24
+ let list = list. unwrap ( ) ;
25
+ let first = list. first ( ) ;
26
+
27
+ info ! ( "filetree test successful" )
28
+ }
Original file line number Diff line number Diff line change @@ -101,3 +101,4 @@ where
101
101
ptr. cast :: < Self > ( )
102
102
}
103
103
}
104
+
You can’t perform that action at this time.
0 commit comments