summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozdevice/sut_tests/test_exec_env.py
blob: bf7029e7d23d85bcbb338c46a8e3678122912bd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import os
import posixpath
from StringIO import StringIO

from dmunit import DeviceManagerTestCase


class ExecEnvTestCase(DeviceManagerTestCase):

    def runTest(self):
        """Exec test with env vars."""
        # Push the file
        localfile = os.path.join('test-files', 'test_script.sh')
        remotefile = posixpath.join(self.dm.deviceRoot, 'test_script.sh')
        self.dm.pushFile(localfile, remotefile)

        # Run the cmd
        out = StringIO()
        self.dm.shell(['sh', remotefile], out, env={'THE_ANSWER': 42})

        # Rewind the output file
        out.seek(0)
        # Make sure first line is 42
        line = out.readline()
        self.assertTrue(int(line) == 42)

        # Clean up
        self.dm.removeFile(remotefile)