apache / incubator-teaclave

Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.
https://teaclave.apache.org
Apache License 2.0
763 stars 158 forks source link

protected_fs's tests module is not tracked by cmake #117

Closed mssun closed 4 years ago

mssun commented 4 years ago

Current protected_fs's tests module is built in source dir. Because it is not tracked by cmake, this may cause some issues:

$ cat module_test.sh
#!/bin/bash
trap "pkill -2 -P $$; wait" SIGINT SIGTERM EXIT

echo "[+] Running module test: protected_fs_rs ..."
cd ../mesatee_utils/protected_fs_rs
cargo test

I encounter this issue when building protected_fs_rs with 18.04 and 16.04. I only delete the build dir which does not clean up protected_fs's built.

root@443183963ae6:/mesatee/build# make sgx-test
[+] Running module test: protected_fs_rs ...
    Updating crates.io index
  Downloaded cfg-if v0.1.10
  Downloaded rand_core v0.4.2
  Downloaded rdrand v0.6.0
  Downloaded libc v0.2.66
    Finished dev [unoptimized + debuginfo] target(s) in 15.72s
     Running target/debug/deps/protected_fs-5cf4f9815b6d6596
/mesatee/mesatee_utils/protected_fs_rs/target/debug/deps/protected_fs-5cf4f9815b6d6596: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
error: test failed, to rerun pass '--lib'
CMakeFiles/sgx-test.dir/build.make:57: recipe for target 'CMakeFiles/sgx-test' failed
make[3]: *** [CMakeFiles/sgx-test] Error 127
CMakeFiles/Makefile2:1257: recipe for target 'CMakeFiles/sgx-test.dir/all' failed
make[2]: *** [CMakeFiles/sgx-test.dir/all] Error 2
CMakeFiles/Makefile2:1264: recipe for target 'CMakeFiles/sgx-test.dir/rule' failed
make[1]: *** [CMakeFiles/sgx-test.dir/rule] Error 2
Makefile:612: recipe for target 'sgx-test' failed
make: *** [sgx-test] Error 2
mssun commented 4 years ago

We use a temporary directory as target (https://github.com/apache/incubator-teaclave/blob/develop/cmake/scripts/test.sh) to resolve this issue. This has been implemented in the develop branch. Closed.