diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-10-24 01:14:45 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-10-24 01:14:45 +0000 |
commit | b6330719b696a4c2a3e707a37f6f21f84ef8f554 (patch) | |
tree | b54dcd4474b7f6195f7426d1c1ac3867c7fe5729 | |
parent | c63ba63bb78506917e471738b782ea8b1a70de3d (diff) | |
parent | a08a6ef78680ee13f4901314759352bb449c6a54 (diff) | |
download | p9-b6330719b696a4c2a3e707a37f6f21f84ef8f554.tar.gz |
Snap for 6927337 from a08a6ef78680ee13f4901314759352bb449c6a54 to sc-release
Change-Id: I5d6dc448ed6fe9acecc07d2e79e81ad746745f04
-rw-r--r-- | Android.bp | 47 | ||||
-rw-r--r-- | TEST_MAPPING | 13 | ||||
-rw-r--r-- | src/server/mod.rs | 34 | ||||
-rw-r--r-- | src/server/tests.rs | 44 | ||||
-rw-r--r-- | wire_format_derive/Android.bp | 13 |
5 files changed, 112 insertions, 39 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..126d2c0 --- /dev/null +++ b/Android.bp @@ -0,0 +1,47 @@ +// This file is generated by cargo2android.py --run --device --tests --dependencies. + +rust_library { + name: "libp9", + host_supported: true, + crate_name: "p9", + srcs: ["src/lib.rs"], + edition: "2018", + rustlibs: [ + "liblibc", + ], + proc_macros: [ + "libwire_format_derive", + ], +} + +rust_defaults { + name: "p9_defaults", + crate_name: "p9", + srcs: ["src/lib.rs"], + test_suites: ["general-tests"], + auto_gen_config: true, + edition: "2018", + rustlibs: [ + "liblibc", + ], + proc_macros: [ + "libwire_format_derive", + ], +} + +rust_test_host { + name: "p9_host_test_src_lib", + defaults: ["p9_defaults"], +} + +rust_test { + name: "p9_device_test_src_lib", + defaults: ["p9_defaults"], +} + +// dependent_library ["feature_list"] +// libc-0.2.79 "default,std" +// proc-macro2-1.0.24 "default,proc-macro" +// quote-1.0.7 "default,proc-macro" +// syn-1.0.45 "clone-impls,default,derive,parsing,printing,proc-macro,quote" +// unicode-xid-0.2.1 "default" diff --git a/TEST_MAPPING b/TEST_MAPPING new file mode 100644 index 0000000..656256d --- /dev/null +++ b/TEST_MAPPING @@ -0,0 +1,13 @@ +// Generated by cargo2android.py for tests in Android.bp +{ + "presubmit": [ + { + "name": "p9_host_test_src_lib", + "host": true +// Presubmit tries to run x86, but we only support 64-bit builds. +// }, +// { +// "name": "p9_device_test_src_lib" + } + ] +} diff --git a/src/server/mod.rs b/src/server/mod.rs index c25cb3b..6a4a5c1 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -8,7 +8,7 @@ use std::ffi::CString; use std::fs; use std::io::{self, Cursor, Read, Write}; use std::mem; -use std::os::linux::fs::MetadataExt; +use std::os::unix::fs::MetadataExt; use std::os::unix::fs::{DirBuilderExt, FileExt, OpenOptionsExt}; use std::os::unix::io::AsRawFd; use std::path::{Component, Path, PathBuf}; @@ -126,8 +126,8 @@ fn metadata_to_qid(metadata: &fs::Metadata) -> Qid { Qid { ty, // TODO: deal with the 2038 problem before 2038 - version: metadata.st_mtime() as u32, - path: metadata.st_ino(), + version: metadata.mtime() as u32, + path: metadata.ino(), } } @@ -634,20 +634,20 @@ impl Server { Ok(Rgetattr { valid: P9_GETATTR_BASIC, qid: metadata_to_qid(&fid.metadata), - mode: fid.metadata.st_mode(), - uid: map_id_from_host(&self.uid_map, fid.metadata.st_uid()), - gid: map_id_from_host(&self.gid_map, fid.metadata.st_gid()), - nlink: fid.metadata.st_nlink(), - rdev: fid.metadata.st_rdev(), - size: fid.metadata.st_size(), - blksize: fid.metadata.st_blksize(), - blocks: fid.metadata.st_blocks(), - atime_sec: fid.metadata.st_atime() as u64, - atime_nsec: fid.metadata.st_atime_nsec() as u64, - mtime_sec: fid.metadata.st_mtime() as u64, - mtime_nsec: fid.metadata.st_mtime_nsec() as u64, - ctime_sec: fid.metadata.st_ctime() as u64, - ctime_nsec: fid.metadata.st_ctime_nsec() as u64, + mode: fid.metadata.mode(), + uid: map_id_from_host(&self.uid_map, fid.metadata.uid()), + gid: map_id_from_host(&self.gid_map, fid.metadata.gid()), + nlink: fid.metadata.nlink(), + rdev: fid.metadata.rdev(), + size: fid.metadata.size(), + blksize: fid.metadata.blksize(), + blocks: fid.metadata.blocks(), + atime_sec: fid.metadata.atime() as u64, + atime_nsec: fid.metadata.atime_nsec() as u64, + mtime_sec: fid.metadata.mtime() as u64, + mtime_nsec: fid.metadata.mtime_nsec() as u64, + ctime_sec: fid.metadata.ctime() as u64, + ctime_nsec: fid.metadata.ctime_nsec() as u64, btime_sec: 0, btime_nsec: 0, gen: 0, diff --git a/src/server/tests.rs b/src/server/tests.rs index fa161e9..cc000b6 100644 --- a/src/server/tests.rs +++ b/src/server/tests.rs @@ -12,7 +12,7 @@ use std::fs::File; use std::io::{self, Cursor}; use std::mem; use std::ops::Deref; -use std::os::linux::fs::MetadataExt; +use std::os::unix::fs::MetadataExt; use std::os::unix::ffi::OsStringExt; use std::path::{Path, PathBuf}; use std::u32; @@ -112,8 +112,8 @@ fn check_qid(qid: &Qid, md: &fs::Metadata) { panic!("unknown file type: {:?}", md.file_type()); }; assert_eq!(qid.ty, ty); - assert_eq!(qid.version, md.st_mtime() as u32); - assert_eq!(qid.path, md.st_ino()); + assert_eq!(qid.version, md.mtime() as u32); + assert_eq!(qid.path, md.ino()); } fn check_attr(server: &mut Server, fid: u32, md: &fs::Metadata) { @@ -135,20 +135,20 @@ fn check_attr(server: &mut Server, fid: u32, md: &fs::Metadata) { }; assert_eq!(rgetattr.valid, P9_GETATTR_BASIC); assert_eq!(rgetattr.qid.ty, ty); - assert_eq!(rgetattr.qid.version, md.st_mtime() as u32); - assert_eq!(rgetattr.qid.path, md.st_ino()); - assert_eq!(rgetattr.mode, md.st_mode()); - assert_eq!(rgetattr.uid, md.st_uid()); - assert_eq!(rgetattr.gid, md.st_gid()); - assert_eq!(rgetattr.nlink, md.st_nlink()); - assert_eq!(rgetattr.rdev, md.st_rdev()); - assert_eq!(rgetattr.size, md.st_size()); - assert_eq!(rgetattr.atime_sec, md.st_atime() as u64); - assert_eq!(rgetattr.atime_nsec, md.st_atime_nsec() as u64); - assert_eq!(rgetattr.mtime_sec, md.st_mtime() as u64); - assert_eq!(rgetattr.mtime_nsec, md.st_mtime_nsec() as u64); - assert_eq!(rgetattr.ctime_sec, md.st_ctime() as u64); - assert_eq!(rgetattr.ctime_nsec, md.st_ctime_nsec() as u64); + assert_eq!(rgetattr.qid.version, md.mtime() as u32); + assert_eq!(rgetattr.qid.path, md.ino()); + assert_eq!(rgetattr.mode, md.mode()); + assert_eq!(rgetattr.uid, md.uid()); + assert_eq!(rgetattr.gid, md.gid()); + assert_eq!(rgetattr.nlink, md.nlink()); + assert_eq!(rgetattr.rdev, md.rdev()); + assert_eq!(rgetattr.size, md.size()); + assert_eq!(rgetattr.atime_sec, md.atime() as u64); + assert_eq!(rgetattr.atime_nsec, md.atime_nsec() as u64); + assert_eq!(rgetattr.mtime_sec, md.mtime() as u64); + assert_eq!(rgetattr.mtime_nsec, md.mtime_nsec() as u64); + assert_eq!(rgetattr.ctime_sec, md.ctime() as u64); + assert_eq!(rgetattr.ctime_nsec, md.ctime_nsec() as u64); assert_eq!(rgetattr.btime_sec, 0); assert_eq!(rgetattr.btime_nsec, 0); assert_eq!(rgetattr.gen, 0); @@ -588,7 +588,7 @@ fn set_len() { }) .expect("failed to run set length of file"); - assert_eq!(md.st_size(), len); + assert_eq!(md.size(), len); } #[test] @@ -637,8 +637,8 @@ fn set_mtime() { }) .expect("failed to set mtime"); - assert_eq!(md.st_mtime() as u64, secs); - assert_eq!(md.st_mtime_nsec() as u64, nanos); + assert_eq!(md.mtime() as u64, secs); + assert_eq!(md.mtime_nsec() as u64, nanos); } #[test] @@ -651,8 +651,8 @@ fn set_atime() { }) .expect("failed to set atime"); - assert_eq!(md.st_atime() as u64, secs); - assert_eq!(md.st_atime_nsec() as u64, nanos); + assert_eq!(md.atime() as u64, secs); + assert_eq!(md.atime_nsec() as u64, nanos); } #[test] diff --git a/wire_format_derive/Android.bp b/wire_format_derive/Android.bp new file mode 100644 index 0000000..1604435 --- /dev/null +++ b/wire_format_derive/Android.bp @@ -0,0 +1,13 @@ +// This file is generated by cargo2android.py --run --device --tests --dependencies. + +rust_proc_macro { + name: "libwire_format_derive", + crate_name: "wire_format_derive", + srcs: ["wire_format_derive.rs"], + edition: "2015", + rustlibs: [ + "libproc_macro2", + "libquote", + "libsyn", + ], +} |