@@ -59,6 +59,7 @@ typedef struct _EVAL_TEST_ENTRY
5959#define STM_TEST_FLAG_SET_IN_BUFFER (1 << 9 )
6060#define STM_TEST_FLAG_SET_IRP_BUFFER (1 << 10)
6161#define STM_TEST_FLAG_BAD_ARG_TYPE (1 << 11)
62+ #define STM_TEST_FLAG_IS_TODO (1 << 12)
6263
6364#define GTM_TEST_FLAG_BAD_SIGNARUTE (1 << 0)
6465#define GTM_TEST_FLAG_BUFFER_HAS_SIGNARUTE (1 << 1)
@@ -69,6 +70,7 @@ typedef struct _EVAL_TEST_ENTRY
6970#define GTM_TEST_FLAG_INC_OUT_BUFFER (1 << 6)
7071#define GTM_TEST_FLAG_DEC_OUT_BUFFER (1 << 7)
7172#define GTM_TEST_FLAG_SET_OUT_BUFFER (1 << 8)
73+ #define GTM_TEST_FLAG_IS_TODO (1 << 9)
7274
7375#define GTM_TEST_FLAG_METHOD_SUCCESS \
7476 (GTM_TEST_FLAG_BUFFER_HAS_SIGNARUTE | \
@@ -622,8 +624,8 @@ static const EVAL_TEST_ENTRY DrvpSmtTests[] =
622624 { __LINE__ , STM_TEST_FLAG_LARGE_ARG_BUFFER , STATUS_ACPI_INVALID_ARGTYPE },
623625 { __LINE__ , STM_TEST_FLAG_SUB_IN_BUFFER , STATUS_SUCCESS , 1 },
624626 { __LINE__ , STM_TEST_FLAG_SUB_IN_BUFFER , STATUS_SUCCESS , 9 },
625- { __LINE__ , STM_TEST_FLAG_SUB_IRP_BUFFER , STATUS_SUCCESS , 1 },
626- { __LINE__ , STM_TEST_FLAG_SUB_IRP_BUFFER , STATUS_SUCCESS , 9 },
627+ { __LINE__ , STM_TEST_FLAG_SUB_IRP_BUFFER | STM_TEST_FLAG_IS_TODO , STATUS_SUCCESS , 1 },
628+ { __LINE__ , STM_TEST_FLAG_SUB_IRP_BUFFER | STM_TEST_FLAG_IS_TODO , STATUS_SUCCESS , 9 },
627629 { __LINE__ , STM_TEST_FLAG_SET_IN_BUFFER , STATUS_SUCCESS , 0 },
628630 { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INFO_LENGTH_MISMATCH , 0 },
629631 { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INFO_LENGTH_MISMATCH ,
@@ -636,13 +638,13 @@ static const EVAL_TEST_ENTRY DrvpSmtTests[] =
636638 sizeof (ACPI_EVAL_INPUT_BUFFER ) - 2 },
637639 { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INFO_LENGTH_MISMATCH ,
638640 sizeof (ACPI_EVAL_INPUT_BUFFER ) - 1 },
639- { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INSUFFICIENT_RESOURCES ,
641+ { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER | STM_TEST_FLAG_IS_TODO , STATUS_INSUFFICIENT_RESOURCES ,
640642 sizeof (ACPI_EVAL_INPUT_BUFFER ) },
641- { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INSUFFICIENT_RESOURCES ,
643+ { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER | STM_TEST_FLAG_IS_TODO , STATUS_INSUFFICIENT_RESOURCES ,
642644 sizeof (ACPI_EVAL_INPUT_BUFFER ) + 1 },
643- { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER , STATUS_INSUFFICIENT_RESOURCES ,
645+ { __LINE__ , STM_TEST_FLAG_SET_IRP_BUFFER | STM_TEST_FLAG_IS_TODO , STATUS_INSUFFICIENT_RESOURCES ,
644646 sizeof (ACPI_EVAL_INPUT_BUFFER ) + 2 },
645- { __LINE__ , STM_TEST_FLAG_BAD_ARG_TYPE , STATUS_SUCCESS , 0 },
647+ { __LINE__ , STM_TEST_FLAG_BAD_ARG_TYPE | STM_TEST_FLAG_IS_TODO , STATUS_SUCCESS , 0 },
646648 { __LINE__ , STM_TEST_FLAG_CHANGE_ARG_COUNT , STATUS_ACPI_INCORRECT_ARGUMENT_COUNT , 0 },
647649
648650#if 0
@@ -665,7 +667,7 @@ static const EVAL_TEST_ENTRY DrvpGtmTests[] =
665667 { __LINE__ , GTM_TEST_FLAG_METHOD_SUCCESS |
666668 GTM_TEST_FLAG_INC_OUT_BUFFER , STATUS_SUCCESS , 1 },
667669 { __LINE__ , GTM_TEST_FLAG_METHOD_SUCCESS |
668- GTM_TEST_FLAG_DEC_OUT_BUFFER , STATUS_BUFFER_OVERFLOW , 1 },
670+ GTM_TEST_FLAG_DEC_OUT_BUFFER | GTM_TEST_FLAG_IS_TODO , STATUS_BUFFER_OVERFLOW , 1 },
669671 { __LINE__ , GTM_TEST_FLAG_SET_OUT_BUFFER , STATUS_SUCCESS , 0 },
670672 { __LINE__ , GTM_TEST_FLAG_SET_OUT_BUFFER , STATUS_BUFFER_TOO_SMALL , 1 },
671673 { __LINE__ , GTM_TEST_FLAG_SET_OUT_BUFFER , STATUS_BUFFER_TOO_SMALL ,
@@ -693,7 +695,7 @@ static const EVAL_TEST_ENTRY DrvpGtmTests[] =
693695 { __LINE__ , GTM_TEST_FLAG_BAD_SIGNARUTE , STATUS_INVALID_PARAMETER_1 },
694696 { __LINE__ , GTM_TEST_FLAG_BAD_SIGNARUTE | GTM_TEST_FLAG_SET_OUT_BUFFER ,
695697 STATUS_INVALID_PARAMETER_1 , 0 },
696- { __LINE__ , GTM_TEST_FLAG_BAD_SIGNARUTE | GTM_TEST_FLAG_SET_OUT_BUFFER ,
698+ { __LINE__ , GTM_TEST_FLAG_BAD_SIGNARUTE | GTM_TEST_FLAG_SET_OUT_BUFFER | GTM_TEST_FLAG_IS_TODO ,
697699 STATUS_BUFFER_TOO_SMALL ,
698700 sizeof (ACPI_EVAL_OUTPUT_BUFFER ) - 1 },
699701 { __LINE__ , GTM_TEST_FLAG_BAD_SIGNARUTE | GTM_TEST_FLAG_SET_OUT_BUFFER ,
@@ -851,7 +853,8 @@ DrvEvaluateStmObject(
851853 DrvpEvalTestEntry = TestEntry ;
852854 Status = DrvCallAcpiDriver (InputBuffer , IrpBufferSize , NULL , 0 );
853855
854- ok_eq_hex_ex (TestEntry , Status , TestEntry -> Status );
856+ todo_if (!is_reactos () && (TestEntry -> Flags & STM_TEST_FLAG_IS_TODO ))
857+ ok_eq_hex_ex (TestEntry , Status , TestEntry -> Status );
855858}
856859
857860static
@@ -917,7 +920,8 @@ DrvEvaluateGtmObject(
917920 /* Evaluate the _GTM method */
918921 Status = DrvCallAcpiDriver (& InputBuffer , sizeof (InputBuffer ), OutputBuffer , OutputBufferSize );
919922
920- ok_eq_hex_ex (TestEntry , Status , TestEntry -> Status );
923+ todo_if (!is_reactos () && (TestEntry -> Flags & GTM_TEST_FLAG_IS_TODO ) && (Status != TestEntry -> Status ))
924+ ok_eq_hex_ex (TestEntry , Status , TestEntry -> Status );
921925
922926 if (TestEntry -> Flags & GTM_TEST_FLAG_BUFFER_HAS_SIGNARUTE )
923927 Signature = ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE ;
@@ -947,13 +951,15 @@ DrvEvaluateGtmObject(
947951 Type = ACPI_METHOD_ARGUMENT_BUFFER ;
948952 else
949953 Type = ACPI_METHOD_ARGUMENT_INTEGER ;
950- ok_eq_uint_ex (TestEntry , Argument -> Type , Type );
954+ todo_if (!is_reactos () && (TestEntry -> Flags & GTM_TEST_FLAG_IS_TODO ) && (Type != Argument -> Type ))
955+ ok_eq_uint_ex (TestEntry , Argument -> Type , Type );
951956
952957 if (TestEntry -> Flags & GTM_TEST_FLAG_ARG_HAS_DATA_LENGTH )
953958 DataLength = sizeof (ACPI_EVAL_OUTPUT_BUFFER );
954959 else
955960 DataLength = 0 ;
956- ok_eq_uint_ex (TestEntry , Argument -> DataLength , DataLength );
961+ todo_if (!is_reactos () && (TestEntry -> Flags & GTM_TEST_FLAG_IS_TODO ) && (DataLength != Argument -> DataLength ))
962+ ok_eq_uint_ex (TestEntry , Argument -> DataLength , DataLength );
957963
958964 if ((TestEntry -> Flags & GTM_TEST_FLAG_ARG_HAS_BUFFER_TYPE ) && NT_SUCCESS (TestEntry -> Status ))
959965 {
0 commit comments