diff options
author | Ross Burton <ross.burton@intel.com> | 2018-07-19 17:12:40 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-26 13:16:31 +0100 |
commit | c6eef46747fe58bb2310be4f06d2fa9b67901d72 (patch) | |
tree | ac97d3650ed439c3a790a5c982a847dc14a3229f /meta/lib/oeqa | |
parent | 4feb586ba9fa0255d8f83bc1bec11f697dc26a33 (diff) | |
download | openembedded-core-contrib-c6eef46747fe58bb2310be4f06d2fa9b67901d72.tar.gz |
oeqa: rationalise Perl tests
As with the Python test, this can be both better and faster. No need to copy a
file, just run a one-liner.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/lib/oeqa')
-rw-r--r-- | meta/lib/oeqa/files/test.pl | 2 | ||||
-rw-r--r-- | meta/lib/oeqa/runtime/cases/perl.py | 32 | ||||
-rw-r--r-- | meta/lib/oeqa/sdk/cases/perl.py | 25 |
3 files changed, 11 insertions, 48 deletions
diff --git a/meta/lib/oeqa/files/test.pl b/meta/lib/oeqa/files/test.pl deleted file mode 100644 index 689c8f1635..0000000000 --- a/meta/lib/oeqa/files/test.pl +++ /dev/null @@ -1,2 +0,0 @@ -$a = 9.01e+21 - 9.01e+21 + 0.01; -print ("the value of a is ", $a, "\n"); diff --git a/meta/lib/oeqa/runtime/cases/perl.py b/meta/lib/oeqa/runtime/cases/perl.py index d0b7e8ed92..afeeb180e2 100644 --- a/meta/lib/oeqa/runtime/cases/perl.py +++ b/meta/lib/oeqa/runtime/cases/perl.py @@ -1,37 +1,13 @@ import os from oeqa.runtime.case import OERuntimeTestCase -from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class PerlTest(OERuntimeTestCase): - - @classmethod - def setUpClass(cls): - src = os.path.join(cls.tc.files_dir, 'test.pl') - dst = '/tmp/test.pl' - cls.tc.target.copyTo(src, dst) - - @classmethod - def tearDownClass(cls): - dst = '/tmp/test.pl' - cls.tc.target.run('rm %s' % dst) - - @OETestID(1141) - @OETestDepends(['ssh.SSHTest.test_ssh']) - @OEHasPackage(['perl']) - def test_perl_exists(self): - status, output = self.target.run('which perl') - msg = 'Perl binary not in PATH or not on target.' - self.assertEqual(status, 0, msg=msg) - @OETestID(208) - @OETestDepends(['perl.PerlTest.test_perl_exists']) + @OEHasPackage(['perl']) def test_perl_works(self): - status, output = self.target.run('perl /tmp/test.pl') - msg = 'Exit status was not 0. Output: %s' % output - self.assertEqual(status, 0, msg=msg) - - msg = 'Incorrect output: %s' % output - self.assertEqual(output, "the value of a is 0.01", msg=msg) + status, output = self.target.run("perl -e '$_=\"Uryyb, jbeyq\"; tr/a-zA-Z/n-za-mN-ZA-M/;print'") + self.assertEqual(status, 0) + self.assertEqual(output, "Hello, world") diff --git a/meta/lib/oeqa/sdk/cases/perl.py b/meta/lib/oeqa/sdk/cases/perl.py index 8085678116..ff50b46800 100644 --- a/meta/lib/oeqa/sdk/cases/perl.py +++ b/meta/lib/oeqa/sdk/cases/perl.py @@ -1,8 +1,4 @@ -import os -import shutil import unittest - -from oeqa.core.utils.path import remove_safe from oeqa.sdk.case import OESDKTestCase class PerlTest(OESDKTestCase): @@ -12,17 +8,10 @@ class PerlTest(OESDKTestCase): self.tc.hasHostPackage("perl-native")): raise unittest.SkipTest("No perl package in the SDK") - for f in ['test.pl']: - shutil.copyfile(os.path.join(self.tc.files_dir, f), - os.path.join(self.tc.sdk_dir, f)) - self.testfile = os.path.join(self.tc.sdk_dir, "test.pl") - - def test_perl_exists(self): - self._run('which perl') - - def test_perl_works(self): - self._run('perl %s' % self.testfile) - - @classmethod - def tearDownClass(self): - remove_safe(self.testfile) + def test_perl(self): + try: + cmd = "perl -e '$_=\"Uryyb, jbeyq\"; tr/a-zA-Z/n-za-mN-ZA-M/;print'" + output = self._run(cmd) + self.assertEqual(output, "Hello, world") + except subprocess.CalledProcessError as e: + self.fail("Unexpected exit %d (output %s)" % (e.returncode, e.output)) |