From 51f50e8b8f20fba01087d322fc302c23265623f0 Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Thu, 12 Jan 2017 14:25:20 -0800 Subject: [PATCH 1/5] Adding .travis.yml for Travis CI --- .travis.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..2cdb569 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +language: python +sudo: required +dist: trusty + +before_install: +- sudo apt-get update -qq +- sudo apt-get install -qq vlan + +install: +- sudo util/install.sh -a + +script: +- sudo mn --test pingall +- sudo python mininet/test/runner.py -v -quick +- sudo python examples/test/runner.py -v -quick From 03b1cbb3473b26800a3866b0ec1434dd9708112d Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Thu, 12 Jan 2017 15:10:49 -0800 Subject: [PATCH 2/5] Update example runner to exit 1 on failure --- examples/test/runner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/test/runner.py b/examples/test/runner.py index 6bf872c..fb9534e 100755 --- a/examples/test/runner.py +++ b/examples/test/runner.py @@ -32,7 +32,8 @@ def runTests( testDir, verbosity=1 ): # discover all tests in testDir testSuite = unittest.defaultTestLoader.discover( testDir ) # run tests - MininetTestRunner( verbosity=verbosity ).run( testSuite ) + success = MininetTestRunner( verbosity=verbosity ).run( testSuite ).wasSuccessful() + sys.exit( 0 if success else 1 ) if __name__ == '__main__': # get the directory containing example tests From 9376ccbeddcc2cedecbca0e1a4b902bf36b44cc7 Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Thu, 12 Jan 2017 15:33:29 -0800 Subject: [PATCH 3/5] Updating runner to exit 1 on failure --- mininet/test/runner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mininet/test/runner.py b/mininet/test/runner.py index dcfff66..32f6174 100755 --- a/mininet/test/runner.py +++ b/mininet/test/runner.py @@ -21,7 +21,8 @@ def runTests( testDir, verbosity=1 ): # discover all tests in testDir testSuite = defaultTestLoader.discover( testDir ) # run tests - TextTestRunner( verbosity=verbosity ).run( testSuite ) + success = TextTestRunner( verbosity=verbosity ).run( testSuite ).wasSuccessful() + sys.exit( 0 if success else 1 ) if __name__ == '__main__': setLogLevel( 'warning' ) From 0b2d8461fd432e4f148aa2691666797aae1ee658 Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Thu, 12 Jan 2017 15:49:24 -0800 Subject: [PATCH 4/5] Updating hwintf test to call host.stop() host.terminate() does not remove the interfaces --- .travis.yml | 2 +- examples/test/test_hwintf.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2cdb569..a3fc107 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ before_install: - sudo apt-get install -qq vlan install: -- sudo util/install.sh -a +- sudo util/install.sh -fnvw script: - sudo mn --test pingall diff --git a/examples/test/test_hwintf.py b/examples/test/test_hwintf.py index aafd643..843fc40 100755 --- a/examples/test/test_hwintf.py +++ b/examples/test/test_hwintf.py @@ -57,8 +57,8 @@ class testHwintf( unittest.TestCase ): p.wait() def tearDown( self ): - self.h3.terminate() - self.n0.terminate() + self.h3.stop( deleteIntfs=True ) + self.n0.stop( deleteIntfs=True ) if __name__ == '__main__': setLogLevel( 'warning' ) From 335cb1bdf303f89a48bb58ec510f698181f38b3d Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Thu, 12 Jan 2017 14:32:49 -0800 Subject: [PATCH 5/5] Adding TravisCI build static icon to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ef9a87..6d087eb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ Mininet: Rapid Prototyping for Software Defined Networks ======================================================== +[![Build Status](https://travis-ci.org/mininet/mininet.svg?branch=master)](https://travis-ci.org/mininet/mininet) *The best way to emulate almost any network on your laptop!*