[starnix] Test `mk{nod,dir}` in FUSE mount

The newly introduced tests pass when run on Linux with `CAP_SYS_ADMIN`:
```
ghanan@ghanan-cloudtop:~/Projects/fuchsia$ TZ=America/Los_Angeles date
Mon May 13 03:05:32 PM PDT 2024
ghanan@ghanan-cloudtop:~/Projects/fuchsia$ git log -1 --format="%H (%ch) %s"
17f8252a3d8382f16093910bafeb3a8a684cda2c (3 hours ago) [starnix] Test `mk{nod,dir}` in FUSE mount
ghanan@ghanan-cloudtop:~/Projects/fuchsia$ capsh --current
Current: cap_net_admin,cap_net_raw,cap_sys_chroot,cap_sys_admin=eip
Current IAB: ^cap_net_admin,^cap_net_raw,^cap_sys_chroot,^cap_sys_admin
ghanan@ghanan-cloudtop:~/Projects/fuchsia$  fx test --host -o syscalls_cpp_host_test -- --gtest_filter="*MkPermissionCheck*"
Welcome to fx test 🧪

Found 653 total tests in //out/core.qemu-x64/tests.json

Plan to run 1 test

Refreshing 2 targets
> fx build --toolchain=//build/toolchain:host_x64 //src/starnix/tests/syscalls/cpp:syscalls_cpp_host_tests
Use --no-build to skip building

Executing build. Status output suspended.
Building Ninja target(s): host_x64/obj/src/starnix/tests/syscalls/cpp/syscalls_cpp_host_tests.stamp
ninja: Entering directory `/usr/local/google/home/ghanan/Projects/fuchsia/out/core.qemu-x64'
ninja: no work to do.
Running 1 tests

Starting: linux_x64/syscalls_cpp_test_bin (NOT HERMETIC)
Command: /usr/local/google/home/ghanan/Projects/fuchsia/out/core.qemu-x64/linux_x64/syscalls_cpp_test_bin --gtest_filter=*MkPermissionCheck*
Note: Google Test filter = *MkPermissionCheck*
Note: Randomizing tests' orders with a seed of 39266 .
[==========] Running 8 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 8 tests from FuseMkPermissionCheck/FuseMkPermissionCheck
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/6
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/6 (103 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/0
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/0 (56 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/3
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/3 (66 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/4
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/4 (57 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/5
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/5 (58 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/7
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/7 (69 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/1
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/1 (57 ms)
[ RUN      ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/2
[       OK ] FuseMkPermissionCheck/FuseMkPermissionCheck.MkPermissionCheck/2 (100 ms)
[----------] 8 tests from FuseMkPermissionCheck/FuseMkPermissionCheck (569 ms total)

[----------] Global test environment tear-down
[==========] 8 tests from 1 test suite ran. (569 ms total)
[  PASSED  ] 8 tests.
PASSED: linux_x64/syscalls_cpp_test_bin

RAN: 1 PASSED: 1 FAILED: 0 SKIPPED: 0

Completed in 10.658s

ghanan@ghanan-cloudtop:~/Projects/fuchsia$ TZ=America/Los_Angeles date
Mon May 13 03:06:25 PM PDT 2024
```

Bug: b/324955805, b/331965660
Change-Id: Ie95545ff8c9529babbe006e6d143461b4f124d16
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1047412
Reviewed-by: Vickie Cheng <vickiecheng@google.com>
Commit-Queue: Ghanan Gowripalan <ghanan@google.com>
Fuchsia-Auto-Submit: Ghanan Gowripalan <ghanan@google.com>
2 files changed
tree: 939a119b60a613796a18f11a97d4d8aef92fecdf
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. analysis_options.yaml
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. CONTRIBUTING.md
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyproject.toml
  33. pyrightconfig.json
  34. README.md
  35. rustfmt.toml
  36. shac.star
  37. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.