Sha256: 7a17c0ec922a23f58e46c20ff7ec0fc9885f610223402d64f4b5992ee3aae44f
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 KB
Contents
#!/usr/bin/env ruby require "yaml" require "pathname" require "net/imap" path = Pathname.new(__dir__) / "../test/net/imap/fixtures/response_parser" files = path.glob("*.yml") tests = files.flat_map {|file| file.to_s .then { YAML.unsafe_load_file _1 } .fetch(:tests) .select {|test_name, test| :parser_assert_equal == test.fetch(:test_type) { test.key?(:expected) ? :parser_assert_equal : :parser_pending } } .map {|test_name, _| [ file.relative_path_from(__dir__).to_s, test_name.to_s, ] } } init = <<RUBY require "yaml" require "net/imap" def load_response(file, name) YAML.unsafe_load_file(file).dig(:tests, name, :response) .force_encoding "ASCII-8BIT" \\ or abort "ERRORO: missing %p fixture data in %p" % [name, file] end parser = Net::IMAP::ResponseParser.new RUBY prelude = <<RUBY response = load_response(%p, %p) RUBY script = "parser.parse(response)" benchmarks = tests.map {|file, fixture_name| name = fixture_name.delete_prefix("test_") {name:, prelude: prelude % [file, fixture_name], script:} .transform_keys(&:to_s) } .sort_by { _1["name"] } puts YAML.dump({"prelude" => init, "benchmark" => benchmarks})
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
net-imap-0.4.2 | benchmarks/generate_parser_benchmarks |
net-imap-0.4.1 | benchmarks/generate_parser_benchmarks |
net-imap-0.4.0 | benchmarks/generate_parser_benchmarks |