Merge "Throw an errno exception when open BPF map failed"
This commit is contained in:
commit
22d5336279
2 changed files with 13 additions and 0 deletions
|
|
@ -42,6 +42,8 @@ static jint com_android_networkstack_tethering_BpfMap_bpfFdGet(JNIEnv *env, jobj
|
|||
|
||||
jint fd = bpf::bpfFdGet(pathname.c_str(), static_cast<unsigned>(mode));
|
||||
|
||||
if (fd < 0) jniThrowErrnoException(env, "bpfFdGet", errno);
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -388,4 +388,15 @@ public final class BpfMapTest {
|
|||
assertEquals(OsConstants.E2BIG, expected.errno);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOpenNonexistentMap() throws Exception {
|
||||
try {
|
||||
final BpfMap<TetherDownstream6Key, Tether6Value> nonexistentMap = new BpfMap<>(
|
||||
"/sys/fs/bpf/tethering/nonexistent", BpfMap.BPF_F_RDWR,
|
||||
TetherDownstream6Key.class, Tether6Value.class);
|
||||
} catch (ErrnoException expected) {
|
||||
assertEquals(OsConstants.ENOENT, expected.errno);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue