1*eb8dc403SDave Cobbleyimport os 2*eb8dc403SDave Cobbley 3*eb8dc403SDave Cobbleyfrom oeqa.runtime.case import OERuntimeTestCase 4*eb8dc403SDave Cobbleyfrom oeqa.core.decorator.depends import OETestDepends 5*eb8dc403SDave Cobbleyfrom oeqa.core.decorator.oeid import OETestID 6*eb8dc403SDave Cobbleyfrom oeqa.runtime.decorator.package import OEHasPackage 7*eb8dc403SDave Cobbley 8*eb8dc403SDave Cobbleyclass PerlTest(OERuntimeTestCase): 9*eb8dc403SDave Cobbley 10*eb8dc403SDave Cobbley @classmethod 11*eb8dc403SDave Cobbley def setUpClass(cls): 12*eb8dc403SDave Cobbley src = os.path.join(cls.tc.files_dir, 'test.pl') 13*eb8dc403SDave Cobbley dst = '/tmp/test.pl' 14*eb8dc403SDave Cobbley cls.tc.target.copyTo(src, dst) 15*eb8dc403SDave Cobbley 16*eb8dc403SDave Cobbley @classmethod 17*eb8dc403SDave Cobbley def tearDownClass(cls): 18*eb8dc403SDave Cobbley dst = '/tmp/test.pl' 19*eb8dc403SDave Cobbley cls.tc.target.run('rm %s' % dst) 20*eb8dc403SDave Cobbley 21*eb8dc403SDave Cobbley @OETestID(1141) 22*eb8dc403SDave Cobbley @OETestDepends(['ssh.SSHTest.test_ssh']) 23*eb8dc403SDave Cobbley @OEHasPackage(['perl']) 24*eb8dc403SDave Cobbley def test_perl_exists(self): 25*eb8dc403SDave Cobbley status, output = self.target.run('which perl') 26*eb8dc403SDave Cobbley msg = 'Perl binary not in PATH or not on target.' 27*eb8dc403SDave Cobbley self.assertEqual(status, 0, msg=msg) 28*eb8dc403SDave Cobbley 29*eb8dc403SDave Cobbley @OETestID(208) 30*eb8dc403SDave Cobbley @OETestDepends(['perl.PerlTest.test_perl_exists']) 31*eb8dc403SDave Cobbley def test_perl_works(self): 32*eb8dc403SDave Cobbley status, output = self.target.run('perl /tmp/test.pl') 33*eb8dc403SDave Cobbley msg = 'Exit status was not 0. Output: %s' % output 34*eb8dc403SDave Cobbley self.assertEqual(status, 0, msg=msg) 35*eb8dc403SDave Cobbley 36*eb8dc403SDave Cobbley msg = 'Incorrect output: %s' % output 37*eb8dc403SDave Cobbley self.assertEqual(output, "the value of a is 0.01", msg=msg) 38