Java tutorial
/* * This file is part of ToroDB. * * ToroDB is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * ToroDB is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with ToroDB. If not, see <http://www.gnu.org/licenses/>. * * Copyright (c) 2014, 8Kdata Technology * */ package com.torodb.integration.mongo.v3m0.jstests; import static com.torodb.integration.Backend.Greenplum; import static com.torodb.integration.Backend.MySQL; import static com.torodb.integration.Backend.Postgres; import static com.torodb.integration.Protocol.Mongo; import static com.torodb.integration.Protocol.MongoReplSet; import static com.torodb.integration.TestCategory.CATASTROPHIC; import static com.torodb.integration.TestCategory.FALSE_POSITIVE; import static com.torodb.integration.TestCategory.IGNORED; import static com.torodb.integration.TestCategory.NOT_IMPLEMENTED; import static com.torodb.integration.TestCategory.WORKING; import java.net.URL; import java.util.Collection; import java.util.LinkedHashSet; import java.util.Set; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import com.torodb.integration.mongo.v3m0.jstests.ScriptClassifier.Builder; @RunWith(Parameterized.class) public class CoreIT extends AbstractIntegrationTest { private static final Logger LOGGER = LoggerFactory.getLogger(CoreIT.class); public CoreIT() { super(LOGGER); } @Parameters(name = "{0}-{1}") public static Collection<Object[]> parameters() { return parameters(createScriptClassifier()); } private static ScriptClassifier createScriptClassifier() { Set<Script> workingSet = getWorkingSet(), noArraysWorkingSet = getNoArraysWorkingSet(), greenplumWorkingSet = getGreenplumWorkingSet(), catastrophicSet = getCatastrophicSet(), greenplumCatastrophicSet = Sets .newLinkedHashSet(Iterables.concat(getCatastrophicSet(), getGreenplumCatastrophicSet())), falsePositiveSet = getFalsePositiveSet(), notImplementedSet = getNotImplementedSet(), noArraysNotImplemented = getNoArraysNotImplementedSet(), ignoredSet = getIgnoredSet(), allSet = Sets.newLinkedHashSet(Iterables.concat(workingSet, catastrophicSet, falsePositiveSet, notImplementedSet, ignoredSet)); return new Builder().addScripts(Mongo, Postgres, WORKING, workingSet) .addScripts(Mongo, Postgres, NOT_IMPLEMENTED, notImplementedSet) .addScripts(Mongo, Postgres, FALSE_POSITIVE, falsePositiveSet) .addScripts(Mongo, Postgres, CATASTROPHIC, catastrophicSet) .addScripts(Mongo, Postgres, IGNORED, ignoredSet) .addScripts(Mongo, MySQL, WORKING, noArraysWorkingSet) .addScripts(Mongo, MySQL, NOT_IMPLEMENTED, noArraysNotImplemented) .addScripts(Mongo, MySQL, FALSE_POSITIVE, falsePositiveSet) .addScripts(Mongo, MySQL, CATASTROPHIC, catastrophicSet) .addScripts(Mongo, MySQL, IGNORED, ignoredSet) .addScripts(Mongo, Greenplum, WORKING, greenplumWorkingSet) .addScripts(Mongo, Greenplum, NOT_IMPLEMENTED, noArraysNotImplemented) .addScripts(Mongo, Greenplum, FALSE_POSITIVE, falsePositiveSet) .addScripts(Mongo, Greenplum, CATASTROPHIC, greenplumCatastrophicSet) .addScripts(Mongo, Greenplum, IGNORED, ignoredSet) .addScripts(MongoReplSet, Postgres, CATASTROPHIC, allSet) .addScripts(MongoReplSet, Greenplum, CATASTROPHIC, allSet) .addScripts(MongoReplSet, MySQL, CATASTROPHIC, allSet) .build(); } private static Set<Script> asScriptSet(String[] scriptNames) { Set<Script> result = new LinkedHashSet<>(scriptNames.length); for (String scriptName : scriptNames) { String relativePath = "core/" + scriptName; result.add(new Script(relativePath, createURL(relativePath))); } return result; } private static URL createURL(String relativePath) { return ToolIT.class.getResource(relativePath); } private static final Set<Script> getWorkingSet() { return asScriptSet(new String[] { "andor.js", "array3.js", "autoid.js", "basic4.js", "basic5.js", "basic7.js", "basic8.js", "basic9.js", "basicb.js", "batch_write_command_wc.js", "binData.js", "block_check_supported.js", "bulk_insert.js", "capped9.js", "collection_info_cache_race.js", "connection_string_validation.js", "count.js", "count9.js", "coveredIndex3.js", "date1.js", "db.js", "dbref2.js", "error5.js", "eval8.js", "fm1.js", "fm2.js", "hint1.js", "in2.js", "inc1.js", "index6.js", "indexs.js", "insert1.js", "ismaster.js", "json1.js", "map1.js", "null_field_name.js", "numberlong.js", "numberlong3.js", "numberlong4.js", "objid1.js", "objid2.js", "objid4.js", "objid6.js", "objid7.js", "orb.js", "ore.js", "org.js", "orl.js", "orp.js", "queryoptimizer6.js", "ref2.js", "ref3.js", "regex_util.js", "regexa.js", "regexb.js", "remove_justone.js", "remove_undefined.js", "remove3.js", "removea.js", "run_program1.js", "set2.js", "shell1.js", "shellkillop.js", "shellstartparallel.js", "shelltypes.js", "showdiskloc.js", "stages_sort.js", "sub1.js", "update_addToSet2.js", "update2.js", "updatek.js", }); } private static final Set<Script> getNoArraysWorkingSet() { return asScriptSet(new String[] { "autoid.js", "basic4.js", "basic5.js", "basic7.js", "basic8.js", "basic9.js", "basicb.js", "batch_write_command_wc.js", "binData.js", "block_check_supported.js", "bulk_insert.js", "collection_info_cache_race.js", "connection_string_validation.js", "count.js", "coveredIndex3.js", "db.js", "dbref2.js", "error5.js", "eval8.js", "fm1.js", "fm2.js", "hint1.js", "in2.js", "inc1.js", "index6.js", "insert1.js", "ismaster.js", "json1.js", "map1.js", "null_field_name.js", "numberlong.js", "numberlong3.js", "numberlong4.js", "objid1.js", "objid2.js", "objid4.js", "objid6.js", "objid7.js", "orb.js", "ore.js", "orl.js", "orp.js", "queryoptimizer6.js", "ref2.js", "ref3.js", "remove_undefined.js", "remove3.js", "regex_util.js", "regexa.js", "regexb.js", "removea.js", "run_program1.js", "set2.js", "shell1.js", "shellkillop.js", "shellstartparallel.js", "shelltypes.js", "showdiskloc.js", "stages_sort.js", "sub1.js", "update2.js", "updatek.js", }); } private static final Set<Script> getCatastrophicSet() { return asScriptSet(new String[] { "all.js", "all2.js", "all3.js", "all4.js", "all5.js", "and.js", "and2.js", "and3.js", "arrayfind1.js", "arrayfind3.js", "array_match1.js", "basic1.js", "basic3.js", "big_object1.js", "count3.js", "count4.js", "cursor1.js", "cursor2.js", "exists2.js", "indexe.js", "ord.js", "regex8.js", "unset.js", "update_replace.js", }); } private static final Set<Script> getFalsePositiveSet() { return asScriptSet(new String[] { "depth_limit.js", "exists3.js", "group_empty.js", "in5.js", "removeb.js", "removec.js", "server14753.js", "sort7.js", "testminmax.js", "update_arraymatch5.js", "where2.js", "where5.js", }); } private static final Set<Script> getNoArraysNotImplementedSet() { return Sets.newHashSet(Iterables.concat(getNotImplementedSet(), asScriptSet(new String[] { "andor.js", "capped9.js", "indexs.js", "org.js", "remove_justone.js", "update_addToSet2.js", }))); } private static final Set<Script> getGreenplumCatastrophicSet() { return asScriptSet(new String[] { "in2.js", "orp.js", "removea.js", }); } private static final Set<Script> getGreenplumWorkingSet() { return asScriptSet(new String[] { "autoid.js", "basic4.js", "basic5.js", "basic7.js", "basic8.js", "basic9.js", "basicb.js", "batch_write_command_wc.js", "binData.js", "block_check_supported.js", "bulk_insert.js", "collection_info_cache_race.js", "connection_string_validation.js", "count.js", "coveredIndex3.js", "db.js", "dbref2.js", "error5.js", "eval8.js", "fm1.js", "fm2.js", "hint1.js", "inc1.js", "index6.js", "insert1.js", "ismaster.js", "json1.js", "map1.js", "null_field_name.js", "numberlong.js", "numberlong3.js", "numberlong4.js", "objid1.js", "objid2.js", "objid4.js", "objid6.js", "objid7.js", "orb.js", "ore.js", "orl.js", "queryoptimizer6.js", "ref2.js", "ref3.js", "remove_undefined.js", "remove3.js", "regex_util.js", "regexa.js", "regexb.js", "run_program1.js", "set2.js", "shell1.js", "shellkillop.js", "shellstartparallel.js", "shelltypes.js", "showdiskloc.js", "stages_sort.js", "sub1.js", "update2.js", "updatek.js", }); } private static final Set<Script> getNotImplementedSet() { return asScriptSet(new String[] { "apitest_db.js", "apitest_dbcollection.js", "apply_ops1.js", "apply_ops2.js", "array_match2.js", "array_match3.js", "array_match4.js", "array1.js", "array4.js", "arrayfind2.js", "arrayfind5.js", "arrayfind4.js", "arrayfind6.js", "arrayfind7.js", "arrayfind8.js", "arrayfind9.js", "arrayfinda.js", "arrayfindb.js", "auth_copydb.js", "auth1.js", "auth2.js", "autoid.js", "bad_index_plugin.js", "basic2.js", "basic4.js", "basic6.js", "basic8.js", "basica.js", "batch_size.js", "batch_write_command_delete.js", "batch_write_command_insert.js", "batch_write_command_update.js", "bindata_indexonly.js", "bulk_api_ordered.js", "bulk_api_unordered.js", "bulk_legacy_enforce_gle.js", "capped_convertToCapped1.js", "capped_empty.js", "capped_max1.js", "capped.js", "capped1.js", "capped5.js", "capped6.js", "cappeda.js", "check_shard_index.js", "cleanup_orphaned.js", "clone_as_capped_nonexistant.js", "collection_info_cache_race.js", "collection_truncate.js", "collmod.js", "compact_keeps_indexes.js", "connection_status.js", "constructors.js", "convert_to_capped_nonexistant.js", "copydb.js", "count_hint.js", "count_plan_summary.js", "count10.js", "count11.js", "count2.js", "count5.js", "count6.js", "count7.js", "count9.js", "counta.js", "countb.js", "countc.js", "covered_index_compound_1.js", "covered_index_negative_1.js", "covered_index_simple_1.js", "covered_index_simple_2.js", "covered_index_simple_3.js", "covered_index_simple_id.js", "covered_index_sort_1.js", "covered_index_sort_2.js", "covered_index_sort_3.js", "coveredIndex1.js", "coveredIndex2.js", "coveredIndex4.js", "create_collection_fail_cleanup.js", "create_indexes.js", "currentop.js", "cursor3.js", "cursor4.js", "cursor5.js", "cursor6.js", "cursor7.js", "cursora.js", "cursorb.js", "datasize2.js", "date1.js", "date2.js", "date3.js", "dbadmin.js", "dbcase.js", "dbcase2.js", "dbhash.js", "dbhash2.js", "dbref1.js", "dbref3.js", "delx.js", "distinct_array1.js", "distinct_index1.js", "distinct_index2.js", "distinct_speed1.js", "distinct1.js", "distinct2.js", "distinct3.js", "distinct4.js", "drop_index.js", "drop.js", "drop2.js", "drop3.js", "dropdb_race.js", "dropdb.js", "elemMatchProjection.js", "error2.js", "eval_mr.js", "eval_nolock.js", "eval0.js", "eval1.js", "eval2.js", "eval3.js", "eval4.js", "eval5.js", "eval6.js", "eval7.js", "eval8.js", "eval9.js", "evala.js", "evalb.js", "evalc.js", "evald.js", "evale.js", "evalf.js", "evalg.js", "exists.js", "exists4.js", "exists5.js", "exists6.js", "exists7.js", "exists8.js", "exists9.js", "existsa.js", "existsb.js", "explain_batch_size.js", "explain_count.js", "explain_delete.js", "explain_execution_error.js", "explain_find.js", "explain_large_bounds.js", "explain_null_collection.js", "explain_shell_helpers.js", "explain_upsert.js", "explain1.js", "explain2.js", "explain3.js", "explain4.js", "explain5.js", "explain6.js", "filemd5.js", "find_and_modify_concurrent_update.js", "find_and_modify_empty_update.js", "find_and_modify_server6226.js", "find_and_modify_server6254.js", "find_and_modify_server6582.js", "find_and_modify_server6588.js", "find_and_modify_server6659.js", "find_and_modify_server6909.js", "find_and_modify_server6993.js", "find_and_modify_server7660.js", "find_and_modify_where.js", "find_and_modify.js", "find_and_modify2.js", "find_and_modify3.js", "find_and_modify4.js", "find_dedup.js", "find_size.js", "find1.js", "find2.js", "find3.js", "find4.js", "find5.js", "find6.js", "find7.js", "find8.js", "find9.js", "finda.js", "fm3.js", "fm4.js", "fsync.js", "fts_blog.js", "fts_blogwild.js", "fts_enabled.js", "fts_explain.js", "fts_index_version1.js", "fts_index.js", "fts_index2.js", "fts_index3.js", "fts_mix.js", "fts_partition_no_multikey.js", "fts_partition1.js", "fts_phrase.js", "fts_proj.js", "fts_projection.js", "fts_querylang.js", "fts_score_sort.js", "fts_spanish.js", "fts1.js", "fts2.js", "fts3.js", "fts4.js", "fts5.js", "fts6.js", "geo_2d_explain.js", "geo_2d_with_geojson_point.js", "geo_allowedcomparisons.js", "geo_array0.js", "geo_array1.js", "geo_array2.js", "geo_big_polygon.js", "geo_big_polygon2.js", "geo_big_polygon3.js", "geo_borders.js", "geo_box1.js", "geo_box1_noindex.js", "geo_box2.js", "geo_box3.js", "geo_center_sphere1.js", "geo_center_sphere2.js", "geo_circle1_noindex.js", "geo_circle1.js", "geo_circle2.js", "geo_circle2a.js", "geo_circle3.js", "geo_circle4.js", "geo_circle5.js", "geo_distinct.js", "geo_exactfetch.js", "geo_fiddly_box.js", "geo_fiddly_box2.js", "geo_group.js", "geo_haystack1.js", "geo_haystack2.js", "geo_haystack3.js", "geo_invalid_2d_params.js", "geo_invalid_polygon.js", "geo_mapreduce.js", "geo_mapreduce2.js", "geo_max.js", "geo_mindistance_boundaries.js", "geo_mindistance.js", "geo_multikey0.js", "geo_multikey1.js", "geo_multinest0.js", "geo_multinest1.js", "geo_near_random1.js", "geo_near_random2.js", "geo_nearwithin.js", "geo_oob_sphere.js", "geo_operator_crs.js", "geo_or.js", "geo_poly_edge.js", "geo_poly_line.js", "geo_polygon1_noindex.js", "geo_polygon1.js", "geo_polygon2.js", "geo_polygon3.js", "geo_queryoptimizer.js", "geo_regex0.js", "geo_s2cursorlimitskip.js", "geo_s2dedupnear.js", "geo_s2descindex.js", "geo_s2disjoint_holes.js", "geo_s2dupe_points.js", "geo_s2holesameasshell.js", "geo_s2index.js", "geo_s2indexoldformat.js", "geo_s2indexversion1.js", "geo_s2intersection.js", "geo_s2edgecases.js", "geo_s2exact.js", "geo_s2largewithin.js", "geo_s2meridian.js", "geo_s2multi.js", "geo_s2nearComplex.js", "geo_s2nearcorrect.js", "geo_s2near_equator_opposite.js", "geo_s2near.js", "geo_s2nearwithin.js", "geo_s2nongeoarray.js", "geo_s2nonstring.js", "geo_s2nopoints.js", "geo_s2oddshapes.js", "geo_s2ordering.js", "geo_s2overlappingpolys.js", "geo_s2polywithholes.js", "geo_s2selfintersectingpoly.js", "geo_s2sparse.js", "geo_s2twofields.js", "geo_s2validindex.js", "geo_s2within.js", "geo_small_large.js", "geo_sort1.js", "geo_uniqueDocs.js", "geo_uniqueDocs2.js", "geo_update_btree.js", "geo_update_btree2.js", "geo_update_dedup.js", "geo_update.js", "geo_update1.js", "geo_update2.js", "geo_validate.js", "geo_withinquery.js", "geo1.js", "geo10.js", "geo2.js", "geo3.js", "geo5.js", "geo6.js", "geo7.js", "geo8.js", "geo9.js", "geoa.js", "geob.js", "geoc.js", "geod.js", "geoe.js", "geof.js", "geonear_cmd_input_validation.js", "getlog1.js", "getlog2.js", "getmore_invalidation.js", "group1.js", "group2.js", "group3.js", "group4.js", "group5.js", "group6.js", "group7.js", "group8.js", "grow_hash_table.js", "hashindex1.js", "hashtest1.js", "hint1.js", "hostinfo.js", "id1.js", "idhack.js", "in.js", "in3.js", "in4.js", "in6.js", "in7.js", "in8.js", "inc-SERVER-7446.js", "inc1.js", "inc2.js", "inc3.js", "index_arr1.js", "index_arr2.js", "index_big1.js", "index_bigkeys_nofail.js", "index_bigkeys_update.js", "index_bigkeys.js", "index_bounds_number_edge_cases.js", "index_check2.js", "index_check3.js", "index_check5.js", "index_check6.js", "index_check7.js", "index_create_too_many.js", "index_create_with_nul_in_name.js", "index_diag.js", "index_dropdups_ignore.js", "index_elemmatch1.js", "index_filter_commands.js", "index_id_desc.js", "index_id_unique.js", "index_many.js", "index_many2.js", "index_plugins.js", "index_sparse1.js", "index_sparse2.js", "index1.js", "index13.js", "index2.js", "index3.js", "index4.js", "index5.js", "index7.js", "index8.js", "index9.js", "indexa.js", "indexapi.js", "indexb.js", "indexc.js", "indexd.js", "indexes_on_indexes.js", "indexf.js", "indexg.js", "indexj.js", "indexl.js", "indexm.js", "indexn.js", "indexOtherNamespace.js", "indexp.js", "indexr.js", "indexStatsCommand.js", "indext.js", "indexu.js", "indexv.js", "insert_id_undefined.js", "insert_illegal_doc.js", "insert_long_index_key.js", "insert1.js", "insert2.js", "js1.js", "js2.js", "js3.js", "js4.js", "js5.js", "js7.js", "js8.js", "js9.js", "killop.js", "list_collections1.js", "list_indexes1.js", "loadserverscripts.js", "loglong.js", "logprocessdetails.js", "long_index_rename.js", "max_doc_size.js", "max_time_ms.js", "maxscan.js", "minmax.js", "mod1.js", "mr_bigobject.js", "mr_comments.js", "mr_errorhandling.js", "mr_index.js", "mr_index2.js", "mr_index3.js", "mr_killop.js", "mr_merge.js", "mr_merge2.js", "mr_mutable_properties.js", "mr_optim.js", "mr_outreduce.js", "mr_outreduce2.js", "mr_replaceIntoDB.js", "mr_sort.js", "mr_stored.js", "mr_undef.js", "mr1.js", "mr2.js", "mr3.js", "mr4.js", "mr5.js", "multi.js", "multi2.js", "multikey_geonear.js", "nan.js", "natural.js", "ne1.js", "ne2.js", "ne3.js", "nestedarr1.js", "nestedobj1.js", "nin.js", "nin2.js", "no_db_created.js", "not1.js", "not2.js", "not3.js", "notablescan.js", "ns_length.js", "null.js", "null2.js", "numberint.js", "numberlong2.js", "numberlong3.js", "objid2.js", "objid3.js", "objid5.js", "opcounters_active.js", "opcounters_write_cmd.js", "or_inexact.js", "or1.js", "or2.js", "or3.js", "or4.js", "or5.js", "or6.js", "or7.js", "or8.js", "or9.js", "ora.js", "orc.js", "orf.js", "orh.js", "orj.js", "ork.js", "oro.js", "plan_cache_clear.js", "plan_cache_list_plans.js", "plan_cache_list_shapes.js", "plan_cache_shell_helpers.js", "plan_cache_ties.js", "pop_server_13516.js", "profile_no_such_db.js", "profile1.js", "profile2.js", "profile3.js", "profile4.js", "profile5.js", "proj_key1.js", "pull_or.js", "pull_remove1.js", "pull.js", "pull2.js", "pullall.js", "pullall2.js", "push_sort.js", "push.js", "push2.js", "pushall.js", "query1.js", "queryoptimizer3.js", "queryoptimizera.js", "ref.js", "ref3.js", "ref4.js", "regex_embed1.js", "regex_limit.js", "regex_not_id.js", "regex_options.js", "regex.js", "regex2.js", "regex3.js", "regex4.js", "regex5.js", "regex6.js", "regex7.js", "regex9.js", "regexc.js", "remove_undefined.js", "remove.js", "remove2.js", "remove3.js", "remove4.js", "remove6.js", "remove7.js", "remove8.js", "remove9.js", "rename_stayTemp.js", "rename.js", "rename2.js", "rename3.js", "rename4.js", "rename5.js", "rename6.js", "rename7.js", "rename8.js", "repair_database.js", "repair_server12955.js", "role_management_helpers.js", "server1470.js", "server14747.js", "server5346.js", "server7756.js", "server9385.js", "server9547.js", "set_param1.js", "set1.js", "set2.js", "set3.js", "set4.js", "set5.js", "set6.js", "set7.js", "shell_writeconcern.js", "shell1.js", "showdiskloc.js", "skip1.js", "slice1.js", "sort_numeric.js", "sort1.js", "sort10.js", "sort2.js", "sort3.js", "sort4.js", "sort5.js", "sort6.js", "sort8.js", "sort9.js", "sorta.js", "sortb.js", "sortc.js", "sortd.js", "sortf.js", "sortg.js", "sorth.js", "sorti.js", "sortj.js", "sortk.js", "splitvector.js", "stages_and_hash.js", "stages_and_sorted.js", "stages_collection_scan.js", "stages_delete.js", "stages_fetch.js", "stages_ixscan.js", "stages_limit_skip.js", "stages_mergesort.js", "stages_or.js", "stages_text.js", "storageDetailsCommand.js", "storefunc.js", "string_with_nul_bytes.js", "system_profile.js", "tailable_skip_limit.js", "temp_cleanup.js", "test_command_line_test_helpers.js", "top.js", "ts1.js", "type1.js", "type2.js", "type3.js", "uniqueness.js", "unset2.js", "update_addToSet.js", "update_addToSet3.js", "update_arraymatch1.js", "update_arraymatch2.js", "update_arraymatch3.js", "update_arraymatch4.js", "update_arraymatch6.js", "update_arraymatch7.js", "update_arraymatch8.js", "update_bit_examples.js", "update_blank1.js", "update_currentdate_examples.js", "update_dbref.js", "update_find_and_modify_id.js", "update_invalid1.js", "update_min_max_examples.js", "update_mul_examples.js", "update_multi3.js", "update_multi4.js", "update_multi5.js", "update_multi6.js", "update_server-12848.js", "update_setOnInsert.js", "update2.js", "update3.js", "update5.js", "update6.js", "update7.js", "update8.js", "update9.js", "updatea.js", "updateb.js", "updatec.js", "updated.js", "updatee.js", "updatef.js", "updateg.js", "updateh.js", "updatei.js", "updatej.js", "updatek.js", "updatel.js", "updatem.js", "upsert_and.js", "upsert_fields.js", "upsert_shell.js", "useindexonobjgtlt.js", "user_management_helpers.js", "validate_cmd_ns.js", "validate_user_documents.js", "verify_update_mods.js", "where1.js", "where3.js", "where4.js", "write_result.js", }); } private static final Set<Script> getIgnoredSet() { return asScriptSet(new String[] { "array3.js", "bench_test_insert.js", "bench_test1.js", "bench_test2.js", "bench_test3.js", }); } }