package TestEngine::Testcase::Logic::Cmd; use Test::More; use base qw(Test::Cmd); sub new { my ($self,$cmd) = @_; my $self = { cmd => $cmd, type => "", workdir => '/tmp/', }; bless $self; return $self; } sub isSuccess { my ($self) = @_; my ($interpreter, $args); if ($^O == 'linux') { $interpreter = '/usr/bin/ksh'; $args = qq(-c "$self->{cmd}"); } elsif ($^O == 'MSWin32') { # TODO: KNOWN ISSUE # This interpret does not provide correct execute status $interpreter = 'c:\windows\system32\command.com'; $args = "/c $self->{cmd}"; } else { die "unsupported platform '$^O'"; } # // todo: ensure run() return 0 for success, otherThan0 for failure #print qq($self->run(prog =>$interpreter, args =>$args )); return ok($self->run(prog =>$interpreter, args =>$args ) == 0, $self->{desc} ); #print "$self->{desc}\n"; } sub setDescription { my ($self, $string) = @_; $self->{desc} = $string; } 1;