@@ -2689,6 +2689,114 @@ TEST_F(convert_event_test, PPME_SYSCALL_FLOCK_1_X_to_3_params_with_enter) {
26892689 create_safe_scap_event (ts, tid, PPME_SYSCALL_FLOCK_X, 3 , res, fd, operation));
26902690}
26912691
2692+ // //////////////////////////
2693+ // SEMOP
2694+ // //////////////////////////
2695+
2696+ TEST_F (convert_event_test, PPME_SYSCALL_SEMOP_E_store) {
2697+ constexpr uint64_t ts = 12 ;
2698+ constexpr int64_t tid = 25 ;
2699+
2700+ constexpr int32_t semid = 25 ;
2701+
2702+ const auto evt = create_safe_scap_event (ts, tid, PPME_SYSCALL_SEMOP_E, 1 , semid);
2703+ assert_single_conversion_skip (evt);
2704+ assert_event_storage_presence (evt);
2705+ }
2706+
2707+ TEST_F (convert_event_test, PPME_SYSCALL_SEMOP_8_X_to_9_params_no_enter) {
2708+ constexpr uint64_t ts = 12 ;
2709+ constexpr int64_t tid = 25 ;
2710+
2711+ constexpr int64_t res = 89 ;
2712+ constexpr uint32_t nsops = 20 ;
2713+ constexpr uint16_t sem_num_0 = 21 ;
2714+ constexpr int16_t sem_op_0 = 22 ;
2715+ constexpr uint16_t sem_flg_0 = 23 ;
2716+ constexpr uint16_t sem_num_1 = 24 ;
2717+ constexpr int16_t sem_op_1 = 25 ;
2718+ constexpr uint16_t sem_flg_1 = 26 ;
2719+
2720+ // Defaulted to 0
2721+ constexpr int32_t semid = 0 ;
2722+
2723+ assert_single_conversion_success (conversion_result::CONVERSION_COMPLETED,
2724+ create_safe_scap_event (ts,
2725+ tid,
2726+ PPME_SYSCALL_SEMOP_X,
2727+ 8 ,
2728+ res,
2729+ nsops,
2730+ sem_num_0,
2731+ sem_op_0,
2732+ sem_flg_0,
2733+ sem_num_1,
2734+ sem_op_1,
2735+ sem_flg_1),
2736+ create_safe_scap_event (ts,
2737+ tid,
2738+ PPME_SYSCALL_SEMOP_X,
2739+ 9 ,
2740+ res,
2741+ nsops,
2742+ sem_num_0,
2743+ sem_op_0,
2744+ sem_flg_0,
2745+ sem_num_1,
2746+ sem_op_1,
2747+ sem_flg_1,
2748+ semid));
2749+ }
2750+
2751+ TEST_F (convert_event_test, PPME_SYSCALL_SEMOP_1_X_to_3_params_with_enter) {
2752+ constexpr uint64_t ts = 12 ;
2753+ constexpr int64_t tid = 25 ;
2754+
2755+ constexpr int32_t semid = 27 ;
2756+ constexpr int64_t res = 89 ;
2757+ constexpr uint32_t nsops = 20 ;
2758+ constexpr uint16_t sem_num_0 = 21 ;
2759+ constexpr int16_t sem_op_0 = 22 ;
2760+ constexpr uint16_t sem_flg_0 = 23 ;
2761+ constexpr uint16_t sem_num_1 = 24 ;
2762+ constexpr int16_t sem_op_1 = 25 ;
2763+ constexpr uint16_t sem_flg_1 = 26 ;
2764+
2765+ // Defaulted to 0
2766+
2767+ // After the first conversion we should have the storage
2768+ const auto evt = create_safe_scap_event (ts, tid, PPME_SYSCALL_FLOCK_E, 1 , semid);
2769+ assert_single_conversion_skip (evt);
2770+ assert_event_storage_presence (evt);
2771+
2772+ assert_single_conversion_success (conversion_result::CONVERSION_COMPLETED,
2773+ create_safe_scap_event (ts,
2774+ tid,
2775+ PPME_SYSCALL_SEMOP_X,
2776+ 8 ,
2777+ res,
2778+ nsops,
2779+ sem_num_0,
2780+ sem_op_0,
2781+ sem_flg_0,
2782+ sem_num_1,
2783+ sem_op_1,
2784+ sem_flg_1),
2785+ create_safe_scap_event (ts,
2786+ tid,
2787+ PPME_SYSCALL_SEMOP_X,
2788+ 9 ,
2789+ res,
2790+ nsops,
2791+ sem_num_0,
2792+ sem_op_0,
2793+ sem_flg_0,
2794+ sem_num_1,
2795+ sem_op_1,
2796+ sem_flg_1,
2797+ semid));
2798+ }
2799+
26922800// //////////////////////////
26932801// FCHDIR
26942802// //////////////////////////
0 commit comments