Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Split a big test file into multiple chunks and run them in parallel
gem install parallel_split_test
To use 1 database per test-process, add this to your config/database.yml
test:
database: yourproject_test<%= ENV['TEST_ENV_NUMBER'] %>
TEST_ENV_NUMBER
is '' for the first process and 2 for the 2nd, it reuses your normal test databaserake parallel:prepare
# spec/xxx_spec.rb
require "spec_helper"
describe "X" do
it {sleep 5}
it {sleep 5}
it {sleep 5}
end
parallel_split_test spec/xxx_spec.rb [regular test options]
parallel_split_test spec/xx_spec.rb
Running examples in 2 processes
.
Finished in 5 seconds
1 example, 0 failures
..
Finished in 1 seconds
2 examples, 0 failures
Summary:
1 example, 0 failures
2 examples, 0 failures
Took 10.06 seconds with 2 processes
-o/--out
to get unified/clean output from all processesPARALLEL_SPLIT_TEST_PROCESSES
environment variableThe before(:all)
hooks in rspec will be executed once for every process that runs a test in an example group. This means if you have more processes than tests in a group, the before(:all)
block for that group will be fired N times. For example, this spec has 3 tests and a before(:all)
block:
describe "before all behavior"
before(:all) do
puts "Process: #{Process.pid} Before ALL"
end
it "a" do
end
it "b" do
end
it "c" do
end
end
When you run this with 3 or more processes you'll see the before(:all)
call is invoked 3 times, once per each process (since "a", "b", and "c" tests are each run on a different process).
$ PARALLEL_SPLIT_TEST_PROCESSES=3 bundle exec parallel_split_test spec/ | grep "Before ALL"
Process: 31539 Before ALL
Process: 31538 Before ALL
Process: 31540 Before ALL
Michael Grosser
michael@grosser.it
License: MIT
FAQs
Unknown package
We found that parallel_split_test demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.