summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2021-04-02 11:27:59 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-02 11:27:59 +0000
commit1e24decf27eabfaecb1a3713902fdebd7440426e (patch)
tree8fe8519e77b4bfbc9d808dedce73282632fdb1eb
parent1209f4e0a666c21aebf0951b8db78439097a49ab (diff)
parent351ab4736eef8d2d92caee12ea1b6deb9750f29b (diff)
downloadtests-1e24decf27eabfaecb1a3713902fdebd7440426e.tar.gz
net-test: add test for congestion control sysctls am: 2cd9b42078 am: 0fbfcc6183 am: a22161c49b am: 351ab4736e
Original change: https://android-review.googlesource.com/c/kernel/tests/+/1650427 Change-Id: Id44ae5f3f48411bcd9afdac6592cd203b11d8ae3
-rwxr-xr-xnet/test/sysctls_test.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/net/test/sysctls_test.py b/net/test/sysctls_test.py
new file mode 100755
index 0000000..4b71f39
--- /dev/null
+++ b/net/test/sysctls_test.py
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+#
+# Copyright 2021 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import unittest
+
+import net_test
+
+
+class SysctlsTest(net_test.NetworkTest):
+
+ def check(self, f):
+ algs = open(f).readline().strip().split(' ')
+ bad_algs = [a for a in algs if a not in ['bbr', 'bbr2', 'cubic', 'reno']]
+ msg = ("Obsolete TCP congestion control algorithm found. These "
+ "algorithms will decrease real-world networking performance for "
+ "users and must be disabled. Found: %s" % bad_algs)
+ self.assertEqual(bad_algs, [], msg)
+
+ def testAllowedCongestionControl(self):
+ self.check('/proc/sys/net/ipv4/tcp_allowed_congestion_control')
+
+ def testAvailableCongestionControl(self):
+ self.check('/proc/sys/net/ipv4/tcp_available_congestion_control')
+
+ def testCongestionControl(self):
+ self.check('/proc/sys/net/ipv4/tcp_congestion_control')
+
+
+if __name__ == "__main__":
+ unittest.main()