k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/hack/boilerplate/boilerplate_test.py (about) 1 #!/usr/bin/env python3 2 3 # Copyright 2016 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 import os 18 import sys 19 import unittest 20 21 from io import StringIO 22 23 import boilerplate 24 25 class TestBoilerplate(unittest.TestCase): 26 """ 27 Note: run this test from the hack/boilerplate directory. 28 29 $ python -m unittest boilerplate_test 30 """ 31 32 def test_boilerplate(self): 33 os.chdir("test/") 34 35 class Args: 36 filenames = [] 37 rootdir = "." 38 boilerplate_dir = "../" 39 verbose = True 40 41 # capture stdout 42 old_stdout = sys.stdout 43 sys.stdout = StringIO() 44 45 boilerplate.args = Args 46 ret = boilerplate.main() 47 self.assertEqual(ret, 0) 48 49 output = sorted(sys.stdout.getvalue().split()) 50 51 sys.stdout = old_stdout 52 53 self.assertEqual(output, ["././fail.go", "././fail.py"])