Skip to content

Commit a63167c

Browse files
committed
Add some test from doctest and rustfmt
1 parent 4a4e452 commit a63167c

File tree

6 files changed

+221
-61
lines changed

6 files changed

+221
-61
lines changed

sgx/gbdt-sgx-test/app/build.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,9 @@
2828

2929
use std::env;
3030

31-
fn main () {
32-
33-
let sdk_dir = env::var("SGX_SDK")
34-
.unwrap_or_else(|_| "/opt/intel/sgxsdk".to_string());
35-
let is_sim = env::var("SGX_MODE")
36-
.unwrap_or_else(|_| "HW".to_string());
31+
fn main() {
32+
let sdk_dir = env::var("SGX_SDK").unwrap_or_else(|_| "/opt/intel/sgxsdk".to_string());
33+
let is_sim = env::var("SGX_MODE").unwrap_or_else(|_| "HW".to_string());
3734

3835
println!("cargo:rustc-link-search=native=../lib");
3936
println!("cargo:rustc-link-lib=static=Enclave_u");
@@ -42,6 +39,6 @@ fn main () {
4239
match is_sim.as_ref() {
4340
"SW" => println!("cargo:rustc-link-lib=dylib=sgx_urts_sim"),
4441
"HW" => println!("cargo:rustc-link-lib=dylib=sgx_urts"),
45-
_ => println!("cargo:rustc-link-lib=dylib=sgx_urts"), // Treat undefined as HW
42+
_ => println!("cargo:rustc-link-lib=dylib=sgx_urts"), // Treat undefined as HW
4643
}
4744
}

sgx/gbdt-sgx-test/app/src/main.rs

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -26,26 +26,29 @@
2626
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2727
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828

29+
extern crate dirs;
2930
extern crate sgx_types;
3031
extern crate sgx_urts;
31-
extern crate dirs;
3232
use sgx_types::*;
3333
use sgx_urts::SgxEnclave;
3434

35-
use std::io::{Read, Write};
3635
use std::fs;
36+
use std::io::{Read, Write};
3737
use std::path;
3838

3939
static ENCLAVE_FILE: &'static str = "enclave.signed.so";
4040
static ENCLAVE_TOKEN: &'static str = "enclave.token";
4141

42-
extern {
43-
fn say_something(eid: sgx_enclave_id_t, retval: *mut sgx_status_t,
44-
some_string: *const u8, len: usize) -> sgx_status_t;
42+
extern "C" {
43+
fn say_something(
44+
eid: sgx_enclave_id_t,
45+
retval: *mut sgx_status_t,
46+
some_string: *const u8,
47+
len: usize,
48+
) -> sgx_status_t;
4549
}
4650

4751
fn init_enclave() -> SgxResult<SgxEnclave> {
48-
4952
let mut launch_token: sgx_launch_token_t = [0; 1024];
5053
let mut launch_token_updated: i32 = 0;
5154
// Step 1: try to retrieve the launch token saved by last transaction
@@ -58,7 +61,7 @@ fn init_enclave() -> SgxResult<SgxEnclave> {
5861
println!("[+] Home dir is {}", path.display());
5962
home_dir = path;
6063
true
61-
},
64+
}
6265
None => {
6366
println!("[-] Cannot get home dir");
6467
false
@@ -69,14 +72,17 @@ fn init_enclave() -> SgxResult<SgxEnclave> {
6972
if use_token == true {
7073
match fs::File::open(&token_file) {
7174
Err(_) => {
72-
println!("[-] Open token file {} error! Will create one.", token_file.as_path().to_str().unwrap());
73-
},
75+
println!(
76+
"[-] Open token file {} error! Will create one.",
77+
token_file.as_path().to_str().unwrap()
78+
);
79+
}
7480
Ok(mut f) => {
7581
println!("[+] Open token file success! ");
7682
match f.read(&mut launch_token) {
7783
Ok(1024) => {
7884
println!("[+] Token file valid!");
79-
},
85+
}
8086
_ => println!("[+] Token file invalid, will create new token file"),
8187
}
8288
}
@@ -86,58 +92,62 @@ fn init_enclave() -> SgxResult<SgxEnclave> {
8692
// Step 2: call sgx_create_enclave to initialize an enclave instance
8793
// Debug Support: set 2nd parameter to 1
8894
let debug = 1;
89-
let mut misc_attr = sgx_misc_attribute_t {secs_attr: sgx_attributes_t { flags:0, xfrm:0}, misc_select:0};
90-
let enclave = try!(SgxEnclave::create(ENCLAVE_FILE,
91-
debug,
92-
&mut launch_token,
93-
&mut launch_token_updated,
94-
&mut misc_attr));
95+
let mut misc_attr = sgx_misc_attribute_t {
96+
secs_attr: sgx_attributes_t { flags: 0, xfrm: 0 },
97+
misc_select: 0,
98+
};
99+
let enclave = try!(SgxEnclave::create(
100+
ENCLAVE_FILE,
101+
debug,
102+
&mut launch_token,
103+
&mut launch_token_updated,
104+
&mut misc_attr
105+
));
95106

96107
// Step 3: save the launch token if it is updated
97108
if use_token == true && launch_token_updated != 0 {
98109
// reopen the file with write capablity
99110
match fs::File::create(&token_file) {
100-
Ok(mut f) => {
101-
match f.write_all(&launch_token) {
102-
Ok(()) => println!("[+] Saved updated launch token!"),
103-
Err(_) => println!("[-] Failed to save updated launch token!"),
104-
}
111+
Ok(mut f) => match f.write_all(&launch_token) {
112+
Ok(()) => println!("[+] Saved updated launch token!"),
113+
Err(_) => println!("[-] Failed to save updated launch token!"),
105114
},
106115
Err(_) => {
107116
println!("[-] Failed to save updated enclave token, but doesn't matter");
108-
},
117+
}
109118
}
110119
}
111120

112121
Ok(enclave)
113122
}
114123

115124
fn main() {
116-
117125
let enclave = match init_enclave() {
118126
Ok(r) => {
119127
println!("[+] Init Enclave Successful {}!", r.geteid());
120128
r
121-
},
129+
}
122130
Err(x) => {
123131
println!("[-] Init Enclave Failed {}!", x.as_str());
124132
return;
125-
},
133+
}
126134
};
127135

128136
let input_string = String::from("This is a normal world string passed into Enclave!\n");
129137

130138
let mut retval = sgx_status_t::SGX_SUCCESS;
131139

132140
let result = unsafe {
133-
say_something(enclave.geteid(),
134-
&mut retval,
135-
input_string.as_ptr() as * const u8,
136-
input_string.len())
141+
say_something(
142+
enclave.geteid(),
143+
&mut retval,
144+
input_string.as_ptr() as *const u8,
145+
input_string.len(),
146+
)
137147
};
138148

139149
match result {
140-
sgx_status_t::SGX_SUCCESS => {},
150+
sgx_status_t::SGX_SUCCESS => {}
141151
_ => {
142152
println!("[-] ECALL Enclave Failed {}!", result.as_str());
143153
return;

sgx/gbdt-sgx-test/enclave/src/lib.rs

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828

2929
#![crate_name = "gbdtenclave"]
3030
#![crate_type = "staticlib"]
31-
3231
#![cfg_attr(not(target_env = "sgx"), no_std)]
3332
#![cfg_attr(target_env = "sgx", feature(rustc_private))]
3433

@@ -38,30 +37,29 @@ extern crate sgx_types;
3837
extern crate sgx_tstd as std;
3938
extern crate sgx_tunittest;
4039

40+
use sgx_tunittest::*;
4141
use sgx_types::*;
42-
use std::string::String;
43-
use std::vec::Vec;
4442
use std::io::{self, Write};
4543
use std::slice;
46-
use sgx_tunittest::*;
44+
use std::string::String;
45+
use std::vec::Vec;
4746

4847
extern crate gbdt_sgx;
4948

50-
mod test_lib;
5149
mod test_agaricus_lepiota;
50+
mod test_lib;
5251

5352
#[no_mangle]
5453
pub extern "C" fn say_something(some_string: *const u8, some_len: usize) -> sgx_status_t {
55-
5654
let str_slice = unsafe { slice::from_raw_parts(some_string, some_len) };
5755
let _ = io::stdout().write(str_slice);
5856

5957
// A sample &'static string
6058
let rust_raw_string = "This is a in-Enclave ";
6159
// An array
62-
let word:[u8;4] = [82, 117, 115, 116];
60+
let word: [u8; 4] = [82, 117, 115, 116];
6361
// An vector
64-
let word_vec:Vec<u8> = vec![32, 115, 116, 114, 105, 110, 103, 33];
62+
let word_vec: Vec<u8> = vec![32, 115, 116, 114, 105, 110, 103, 33];
6563

6664
// Construct a string from &'static string
6765
let mut hello_string = String::from(rust_raw_string);
@@ -72,21 +70,21 @@ pub extern "C" fn say_something(some_string: *const u8, some_len: usize) -> sgx_
7270
}
7371

7472
// Rust style convertion
75-
hello_string += String::from_utf8(word_vec).expect("Invalid UTF-8")
76-
.as_str();
73+
hello_string += String::from_utf8(word_vec).expect("Invalid UTF-8").as_str();
7774

7875
// Ocall to normal world for output
7976
println!("{}", &hello_string);
8077

81-
test_agaricus_lepiota::test_main();
78+
test_agaricus_lepiota::test_main();
8279

8380
rsgx_unit_tests!(
84-
test_lib::walk_tree,
85-
test_lib::decision_tree,
86-
test_lib::build_decision_tree,
87-
test_lib::config_express,
88-
test_lib::loss_type,
89-
test_lib::fitness);
81+
test_lib::walk_tree,
82+
test_lib::decision_tree,
83+
test_lib::build_decision_tree,
84+
test_lib::config_express,
85+
test_lib::loss_type,
86+
test_lib::fitness
87+
);
9088

9189
sgx_status_t::SGX_SUCCESS
9290
}

sgx/gbdt-sgx-test/enclave/src/test_lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,7 @@ pub fn fitness() {
154154
});
155155

156156
use gbdt_sgx::fitness::{
157-
almost_equal, average, label_average, same, weighted_label_median,
158-
weighted_residual_median,
157+
almost_equal, average, label_average, same, weighted_label_median, weighted_residual_median,
159158
};
160159
assert_eq!(true, almost_equal(0.1, 0.100000000001));
161160
assert_eq!(false, same(&dv, dv.len()));

0 commit comments

Comments
 (0)