summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/vyos-smoketest39
1 files changed, 29 insertions, 10 deletions
diff --git a/bin/vyos-smoketest b/bin/vyos-smoketest
index 1ae00d5b8..3c54b8780 100755
--- a/bin/vyos-smoketest
+++ b/bin/vyos-smoketest
@@ -1,19 +1,38 @@
#!/usr/bin/env python3
+#
+# Copyright (C) 2019-2020 VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
import sys
-test_dir = '/usr/libexec/vyos/tests/smoke'
-
-tests = ['test_module_load.py']
+from stat import *
success = True
+for root, dirs, files in os.walk('/usr/libexec/vyos/tests/smoke'):
+ for name in files:
+ test_file = os.path.join(root, name)
+ mode = os.stat(test_file).st_mode
+
+ if mode & S_IXOTH:
+ try:
+ os.system(test_file)
+ except Exception as e:
+ print('Testcase "{}" raised an exception'.format(test_file))
+ success = False
-for t in tests:
- try:
- os.system(os.path.join(test_dir, t))
- except Exception as e:
- success = False
+if success:
+ sys.exit(0)
-if not success:
- sys.exit(1)
+sys.exit(1)