All checks were successful
Source release / source-package (push) Successful in 50s
Add an optional Linux-side AFP smoke-suite shell helper that runs the currently verified AFP NCP 0x2222/35 probes as a single collectable report. The helper is intended for the same ncpfs/libncp smoke workflow as the individual C helpers, but it groups the read-only probes, the narrow Set File Information metadata writes, Linux xattr verification, and a filtered AFP server-log excerpt so runtime results can be pasted back into follow-up test-status patches. Keep the command lines safe to share by masking the password in the printed report while still passing the real value to the helpers. Parameterize the server, user, password, NetWare path, Unix path, mars_nwe log file, FinderInfo type/creator, and output file so the script can be used against SYS:PUBLIC as well as other exported volumes. Copy the script into the CMake binary tests/linux directory when MARS_NWE_BUILD_LINUX_TESTS is enabled, preserving executable permissions. The script does not add new AFP semantics; it only automates the existing helpers and documents the Linux xattr names used by the mars_nwe AFP metadata wrapper. Tests: - bash -n tests/linux/afp_smoke_suite.sh - ./tests/linux/afp_smoke_suite.sh --help - git diff --check
53 lines
2.0 KiB
CMake
53 lines
2.0 KiB
CMake
# Optional Linux-side integration tests.
|
|
#
|
|
# These helpers are not built by default because they depend on the host
|
|
# ncpfs/libncp development files and on a running NetWare-compatible server.
|
|
|
|
find_path(NCPFS_INCLUDE_DIR
|
|
NAMES ncp/nwcalls.h ncp/ncplib.h
|
|
)
|
|
|
|
find_library(NCPFS_LIBRARY
|
|
NAMES ncp
|
|
)
|
|
|
|
if(NOT NCPFS_INCLUDE_DIR OR NOT NCPFS_LIBRARY)
|
|
message(FATAL_ERROR
|
|
"MARS_NWE_BUILD_LINUX_TESTS requires ncpfs/libncp headers and libncp. "
|
|
"Install the ncpfs development package or disable MARS_NWE_BUILD_LINUX_TESTS."
|
|
)
|
|
endif()
|
|
|
|
file(COPY afp_smoke_suite.sh
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
|
|
FILE_PERMISSIONS
|
|
OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
|
GROUP_READ GROUP_EXECUTE
|
|
WORLD_READ WORLD_EXECUTE
|
|
)
|
|
|
|
add_executable(afp_entry_id_smoke afp_entry_id_smoke.c)
|
|
target_include_directories(afp_entry_id_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_entry_id_smoke ${NCPFS_LIBRARY})
|
|
|
|
add_executable(afp_file_info_smoke afp_file_info_smoke.c)
|
|
target_include_directories(afp_file_info_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_file_info_smoke ${NCPFS_LIBRARY})
|
|
|
|
add_executable(afp_scan_info_smoke afp_scan_info_smoke.c)
|
|
target_include_directories(afp_scan_info_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_scan_info_smoke ${NCPFS_LIBRARY})
|
|
|
|
|
|
add_executable(afp_open_file_fork_smoke afp_open_file_fork_smoke.c)
|
|
target_include_directories(afp_open_file_fork_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_open_file_fork_smoke ${NCPFS_LIBRARY})
|
|
|
|
add_executable(afp_temp_dir_handle_smoke afp_temp_dir_handle_smoke.c)
|
|
target_include_directories(afp_temp_dir_handle_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_temp_dir_handle_smoke ${NCPFS_LIBRARY})
|
|
|
|
add_executable(afp_set_file_info_smoke afp_set_file_info_smoke.c)
|
|
target_include_directories(afp_set_file_info_smoke PRIVATE ${NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(afp_set_file_info_smoke ${NCPFS_LIBRARY})
|