@@ -422,6 +422,44 @@ TEST_F(ZeroArguments, ECLInvalidCommandAsyncDontAffectAsync) {
422422 *command.get (), false , nullptr , nullptr , nullptr ));
423423}
424424
425+ TEST_F (ZeroArguments, ECLBadKindError) {
426+ OwningPtr<Descriptor> command{CharDescriptor (" echo hi" )};
427+ bool wait{true };
428+ OwningPtr<Descriptor> exitStat{EmptyIntDescriptor<sizeof (std::int16_t )>()};
429+ OwningPtr<Descriptor> cmdStat{EmptyIntDescriptor<sizeof (std::int8_t )>()};
430+
431+ EXPECT_DEATH (RTNAME (ExecuteCommandLine)(
432+ *command.get (), wait, exitStat.get (), nullptr , nullptr ),
433+ " exitstat must have an integer kind greater or equal to 4 but have: 2" );
434+ EXPECT_DEATH (RTNAME (ExecuteCommandLine)(
435+ *command.get (), wait, nullptr , cmdStat.get (), nullptr ),
436+ " cmdstat must have an integer kind greater or equal to 2 but have: 1" );
437+ }
438+
439+ TEST_F (ZeroArguments, ECLGoodKindEqual) {
440+ OwningPtr<Descriptor> command{CharDescriptor (" echo hi" )};
441+ bool wait{true };
442+ OwningPtr<Descriptor> exitStat{EmptyIntDescriptor<sizeof (std::int32_t )>()};
443+ OwningPtr<Descriptor> cmdStat{EmptyIntDescriptor<sizeof (std::int16_t )>()};
444+
445+ EXPECT_NO_FATAL_FAILURE (RTNAME (ExecuteCommandLine)(
446+ *command.get (), wait, exitStat.get (), nullptr , nullptr ));
447+ EXPECT_NO_FATAL_FAILURE (RTNAME (ExecuteCommandLine)(
448+ *command.get (), wait, nullptr , cmdStat.get (), nullptr ));
449+ }
450+
451+ TEST_F (ZeroArguments, ECLGoodKindGreater) {
452+ OwningPtr<Descriptor> command{CharDescriptor (" echo hi" )};
453+ bool wait{true };
454+ OwningPtr<Descriptor> exitStat{EmptyIntDescriptor<sizeof (std::int64_t )>()};
455+ OwningPtr<Descriptor> cmdStat{EmptyIntDescriptor<sizeof (std::int32_t )>()};
456+
457+ EXPECT_NO_FATAL_FAILURE (RTNAME (ExecuteCommandLine)(
458+ *command.get (), wait, exitStat.get (), nullptr , nullptr ));
459+ EXPECT_NO_FATAL_FAILURE (RTNAME (ExecuteCommandLine)(
460+ *command.get (), wait, nullptr , cmdStat.get (), nullptr ));
461+ }
462+
425463static const char *oneArgArgv[]{" aProgram" , " anArgumentOfLength20" };
426464class OneArgument : public CommandFixture {
427465protected:
0 commit comments