summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorHenning Schild <henning.schild@siemens.com>2019-09-03 15:43:46 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-16 23:02:43 +0100
commit7efdf528acb3244dfb4ca0b32182a75296a31f24 (patch)
tree7160ff2220490fd825e3c4ba4f06bd28b82931bf /meta/lib
parent49bb6cefb507c116cb2548ae842eb0653053fee4 (diff)
downloadpoky-7efdf528acb3244dfb4ca0b32182a75296a31f24.tar.gz
oeqa: add case for oe-git-proxy
The escaping, splitting and matching of NO_PROXY in oe-git-proxy deserves its own testcase, add it. (From OE-Core rev: c07134711f97c966d70aaf2798800214d5426005) Signed-off-by: Henning Schild <henning.schild@siemens.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/selftest/cases/oescripts.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py
index 7770b66a26..c169885cf3 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -3,10 +3,12 @@
3# 3#
4 4
5import os 5import os
6import shutil
6import unittest 7import unittest
7from oeqa.selftest.case import OESelftestTestCase 8from oeqa.selftest.case import OESelftestTestCase
8from oeqa.selftest.cases.buildhistory import BuildhistoryBase 9from oeqa.selftest.cases.buildhistory import BuildhistoryBase
9from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer 10from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer
11from oeqa.utils import CommandError
10 12
11class BuildhistoryDiffTests(BuildhistoryBase): 13class BuildhistoryDiffTests(BuildhistoryBase):
12 14
@@ -63,3 +65,59 @@ class OEPybootchartguyTests(OEScriptTests):
63 runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir)) 65 runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir))
64 self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf")) 66 self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
65 67
68class OEGitproxyTests(OESelftestTestCase):
69
70 scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
71
72 def test_oegitproxy_help(self):
73 try:
74 res = runCmd('%s/oe-git-proxy --help' % self.scripts_dir, assert_error=False)
75 self.assertTrue(False)
76 except CommandError as e:
77 self.assertEqual(2, e.retcode)
78
79 def run_oegitproxy(self, custom_shell=None):
80 os.environ['SOCAT'] = shutil.which("echo")
81 os.environ['ALL_PROXY'] = "https://proxy.example.com:3128"
82 os.environ['NO_PROXY'] = "*.example.com,.no-proxy.org,192.168.42.0/24,127.*.*.*"
83
84 if custom_shell is None:
85 prefix = ''
86 else:
87 prefix = custom_shell + ' '
88
89 # outside, use the proxy
90 res = runCmd('%s%s/oe-git-proxy host.outside-example.com 9418' %
91 (prefix,self.scripts_dir))
92 self.assertIn('PROXY:', res.output)
93 # match with wildcard suffix
94 res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
95 (prefix, self.scripts_dir))
96 self.assertIn('TCP:', res.output)
97 # match just suffix
98 res = runCmd('%s%s/oe-git-proxy host.no-proxy.org 9418' %
99 (prefix, self.scripts_dir))
100 self.assertIn('TCP:', res.output)
101 # match IP subnet
102 res = runCmd('%s%s/oe-git-proxy 192.168.42.42 9418' %
103 (prefix, self.scripts_dir))
104 self.assertIn('TCP:', res.output)
105 # match IP wildcard
106 res = runCmd('%s%s/oe-git-proxy 127.1.2.3 9418' %
107 (prefix, self.scripts_dir))
108 self.assertIn('TCP:', res.output)
109
110 # test that * globbering is off
111 os.environ['NO_PROXY'] = "*"
112 res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
113 (prefix, self.scripts_dir))
114 self.assertIn('TCP:', res.output)
115
116 def test_oegitproxy_proxy(self):
117 self.run_oegitproxy()
118
119 def test_oegitproxy_proxy_dash(self):
120 dash = shutil.which("dash")
121 if dash is None:
122 self.skipTest("No \"dash\" found on test system.")
123 self.run_oegitproxy(custom_shell=dash)