Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tox.ini #330

Merged
merged 1 commit into from
Jun 23, 2015
Merged

Add tox.ini #330

merged 1 commit into from
Jun 23, 2015

Conversation

cmccoy
Copy link
Contributor

@cmccoy cmccoy commented Jun 22, 2015

Adds support for executing tests via tox, for isolated consistent environments.
Not complete yet, the following are still required:

  • Update pre-submit hooks.
  • Update unit testing instructions.

To test:

$ [sudo] pip install tox
$ tox

For me, this yields the following:

GLOB sdist-make: /usr/local/google/home/connormccoy/git/PerfKitBenchmarker/setup.py
py27 recreate: /usr/local/google/home/connormccoy/git/PerfKitBenchmarker/.tox/py27
py27 installdeps: -rrequirements.txt, nose>=1.3, mock>=1.0.1, psutil==3.0.0
py27 inst: /usr/local/google/home/connormccoy/git/PerfKitBenchmarker/.tox/dist/perfkitbenchmarker-0.17.0.zip
py27 installed: colorama==0.3.3,colorlog==2.6.0,Jinja2==2.7.3,MarkupSafe==0.23,mock==1.0.1,nose==1.3.7,perfkitbenchmarker==0.17.0,psutil==3.0.0,python-gflags==2.0,wheel==0.24.0
py27 runtests: PYTHONHASHSEED='3809360237'
py27 runtests: commands[0] | nosetests /usr/local/google/home/connormccoy/git/PerfKitBenchmarker/tests
..........................................................................................................................
----------------------------------------------------------------------
Ran 122 tests in 0.451s

OK
__________________________________________________________________________ summary ___________________________________________________________________________
  py27: commands succeeded
  congratulations :)

-rrequirements.txt
nose>=1.3
mock>=1.0.1
psutil==3.0.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, psutil >= 2.0.0 should be good enough here - the API is only incompatible for even older versions such as 1.3.1 as installed in my ubuntu system.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part of the idea of using tox is to lock the requirements down to fixed versions.
I'll set explicit versions for psutil and mock as well, rather than using >=.

@klausw
Copy link
Contributor

klausw commented Jun 22, 2015

LGTM

@klausw klausw added the LGTM label Jun 22, 2015
@cmccoy
Copy link
Contributor Author

cmccoy commented Jun 22, 2015

This ups presubmit time to ~6s for me. Too long?

@cmccoy
Copy link
Contributor Author

cmccoy commented Jun 23, 2015

Down to 2.3s locally. Rebased & squashed.

cmccoy added a commit that referenced this pull request Jun 23, 2015
@cmccoy cmccoy merged commit 5c5a576 into GoogleCloudPlatform:dev Jun 23, 2015
@cmccoy cmccoy deleted the tox branch June 23, 2015 15:52
klausw added a commit that referenced this pull request Jul 9, 2015
Release 0.18.0.

(See also #369
which includes this change log with clickable GH-* links.)

* New features:
  * Support OpenStack as cloud provider (GH-305, GH-353, thanks @kivio and
    @mateusz-blaszkowski)
  * Support Rackspace as cloud provider (GH-336, thanks @meteorfox and @jrperritt)
  * Add support for ContainerizedVM using docker exec (GH-333, thanks @gablg1)
  * Windows guest VM support on Static VM (GH-350), Azure (GH-349, GH-374), AWS
    (GH-347), and GCE (GH-338)
  * Add NTttcp Windows networking benchmark (GH-348)

* Enhancements:
  * Support using proxies in VMs (GH-339, GH-337, thanks @kivio)
  * Enable optional migration on GCE (GH-343)
  * Execute long running commands via a remote agent (GH-310)
  * Add resource creation/deletion times to logs (GH-316)

* Bugfixes and maintenance updates:
  * Update PKB to work with Azure version 0.9.3 (GH-312)
  * Fix AWS CLI usage on Windows host (GH-313)
  * Auto-fetch AMI IDs for AWS images (GH-364)
  * Fix publisher missing info for default image and machine type (GH-357)
  * Fix 'no attribute pkb_thread_log_context' error for sub-thread logs (GH-322)

* Benchmark-specific changes:
  * aerospike: config/flag handling bugfixes (GH-367, GH-360, GH-354)
  * cassandra_ycsb: move num_vms prerequisite check
  * fio: add latency percentiles for results (GH-344)
  * hadoop_terasort: Fix bad SSH option (GH-328)
  * iperf: add lower bounds to arguments (GH-314)
  * iperf: add timeout to parallel benchmark runs to handle iperf hangs (GH-375)
  * netperf: Support confidence intervals, increase test length, report stddev
    (GH-317, GH-306)
  * ycsb: Drop unaggregatable results from samples (GH-324)

* Development and testing:
  * **Breaking Change** Automated testing now uses `tox` (GH-330)
  * Refactored hook scripts, including new opt-in pre-push hook (GH-363)
  * Use travis for CI testing (GH-340)
  * Speed up tests using timeouts (GH-299)

* Internals:
  * Move defaults from benchmark_spec to VM classes, move network instantiation
    out of benchmark spec (GH-342)
  * Add event hook support (GH-315)
  * Refactor VM classes (GH-321)
@klausw klausw mentioned this pull request Jul 9, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants