Initial commit
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Kill redis
|
||||
killall redis-server
|
||||
# Drop all databases
|
||||
databases=$(psql -U postgres -t -c "select datname from pg_database where datname like 'carto_db_test_%'")
|
||||
touch parallel_tests/databases.log
|
||||
echo $databases >> parallel_tests/databases.log
|
||||
touch parallel_tests/databases_new.log
|
||||
sed -e 's/\s\+/\n/g' parallel_tests/databases.log > parallel_tests/databases_new.log
|
||||
|
||||
while read -r line
|
||||
do
|
||||
psql -U postgres -t -c "drop database $line" >> parallel_tests/cleaner.log
|
||||
done < parallel_tests/databases_new.log
|
||||
|
||||
|
||||
# Drop all user databases
|
||||
databases=$(psql -U postgres -t -c "select datname from pg_database where datname like 'cartodb_test_user_%'")
|
||||
touch parallel_tests/user_databases.log
|
||||
echo $databases >> parallel_tests/user_databases.log
|
||||
touch parallel_tests/user_databases_new.log
|
||||
sed -e 's/\s\+/\n/g' parallel_tests/user_databases.log > parallel_tests/user_databases_new.log
|
||||
|
||||
while read -r line
|
||||
do
|
||||
psql -U postgres -t -c "drop database \"$line\"" >> parallel_tests/cleaner.log
|
||||
done < parallel_tests/user_databases_new.log
|
||||
|
||||
rm parallel_tests/user_databases.log
|
||||
rm parallel_tests/users_databases_new.log
|
||||
|
||||
# Drop all testing databases
|
||||
databases=$(psql -U postgres -t -c "select datname from pg_database where datname like 'cartodb_user_%'")
|
||||
touch parallel_tests/user_databases.log
|
||||
echo $databases >> parallel_tests/user_databases.log
|
||||
touch parallel_tests/user_databases_new.log
|
||||
sed -e 's/\s\+/\n/g' parallel_tests/user_databases.log > parallel_tests/user_databases_new.log
|
||||
|
||||
while read -r line
|
||||
do
|
||||
psql -U postgres -t -c "drop database \"$line\"" >> parallel_tests/cleaner.log
|
||||
done < parallel_tests/user_databases_new.log
|
||||
|
||||
# Cleanup
|
||||
rm parallel_tests/databases.log
|
||||
rm parallel_tests/databases_new.log
|
||||
rm parallel_tests/user_databases.log
|
||||
rm parallel_tests/users_databases_new.log
|
||||
|
||||
echo "# Cleaner finished"
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
main() {
|
||||
port=$((6000 + $2))
|
||||
# Run the rspec
|
||||
start=$SECONDS
|
||||
ZEUSSOCK=".zeus$port.sock" bundle exec zeus rspec -J#$3 $1 >> parallel_tests/$port.log 2>&1;
|
||||
exitCode=$?
|
||||
taken=$(($SECONDS - $start))
|
||||
formatted_time=$(date -u -d @$taken +'%-0M:%-0S')
|
||||
|
||||
# Give some feedback
|
||||
if [ $exitCode -eq 0 ]; then
|
||||
echo "[$formatted_time] Finished: $1 Port: $port";
|
||||
echo "$1" >> parallel_tests/specsuccess.log;
|
||||
else
|
||||
echo "[$formatted_time] Finished (FAILED): $1 Port: $port";
|
||||
echo "$1" >> parallel_tests/specfailed.log;
|
||||
fi
|
||||
}
|
||||
|
||||
# Init
|
||||
main $1 $2 $3;
|
||||
exit 0;
|
||||
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# Jesus Vazquez
|
||||
|
||||
rm -r parallel_tests
|
||||
mkdir parallel_tests
|
||||
|
||||
# The following tests are disabled in a parallel environment and are run afterwards, sequentially
|
||||
DISABLED_TESTS=(
|
||||
'spec/models/asset_spec.rb' # Hangs sometimes when serving files
|
||||
'services/user-mover/spec/user_mover_spec.rb' # Database recreation fails in parallel
|
||||
)
|
||||
|
||||
# This is a file that contains a list of specs in the order you want them executed
|
||||
# A good way to obtain it is by taking the output of this script and sorting them based on time taken
|
||||
# so that longest tests run first. You can do it with: `sort result.txt -k 2 -r | grep -o '[^ ]*rb'`
|
||||
# This script will try to follow that order, but any unlisted tests will be put at the beginning
|
||||
ORDERED_TESTS='script/ci/ordered_tests.txt'
|
||||
|
||||
# Disabled tests get put into specfailed.txt for later execution and are omitted from
|
||||
# specfull.txt by builiding and OR regex (spec\|spec\|spec)
|
||||
first=1
|
||||
DISABLED_TEST_REGEX=''
|
||||
for spec in ${DISABLED_TESTS[@]}
|
||||
do
|
||||
echo $spec >> parallel_tests/specfailed.log
|
||||
if [[ $first -eq 0 ]]
|
||||
then
|
||||
DISABLED_TEST_REGEX="$DISABLED_TEST_REGEX\\|$spec"
|
||||
else
|
||||
DISABLED_TEST_REGEX="$DISABLED_TEST_REGEX$spec"
|
||||
fi
|
||||
first=0
|
||||
done
|
||||
|
||||
cat Makefile | grep -v $DISABLED_TEST_REGEX | \
|
||||
grep -v 'require ./spec/rspec_configuration.rb'| \
|
||||
grep 'rb'| sed -e 's/^\s*//' -e '/^$/d' | sed '/^#/ d' | sed 's/\\//' | sed 's/\s.*$//' > parallel_tests/specfull.txt
|
||||
|
||||
# Sort the specfull
|
||||
# 1. New tests (specfull - ordered)
|
||||
grep -Fxv -f $ORDERED_TESTS parallel_tests/specfull.txt > parallel_tests/ordered.txt
|
||||
# 2. Ordered tests, excluding deleted ones: (ordered & specfull)
|
||||
grep -Fx -f parallel_tests/specfull.txt $ORDERED_TESTS >> parallel_tests/ordered.txt
|
||||
# Overwrite
|
||||
mv parallel_tests/ordered.txt parallel_tests/specfull.txt
|
||||
|
||||
echo "# Speclist has been created"
|
||||
@@ -0,0 +1,293 @@
|
||||
spec/models/user_spec.rb
|
||||
spec/models/carto/user_migration_spec.rb
|
||||
spec/requests/carto/api/visualizations_controller_spec.rb
|
||||
spec/models/data_import_spec.rb
|
||||
spec/models/carto/user_spec.rb
|
||||
spec/models/map_spec.rb
|
||||
spec/requests/superadmin/users_spec.rb
|
||||
spec/models/table_spec.rb
|
||||
spec/models/organization_spec.rb
|
||||
spec/services/carto/visualizations_export_service_2_spec.rb
|
||||
spec/requests/carto/api/users_controller_spec.rb
|
||||
spec/requests/carto/builder/visualizations_controller_spec.rb
|
||||
spec/connectors/importer_spec.rb
|
||||
spec/services/carto/user_metadata_export_service_spec.rb
|
||||
spec/models/carto/layer_spec.rb
|
||||
spec/models/carto/user_creation_spec.rb
|
||||
spec/models/permission_spec.rb
|
||||
spec/models/carto/permission_spec.rb
|
||||
spec/requests/carto/api/layers_controller_spec.rb
|
||||
spec/models/carto/rate_limit_spec.rb
|
||||
spec/requests/api/imports_spec.rb
|
||||
spec/requests/carto/api/geocodings_controller_spec.rb
|
||||
spec/requests/superadmin/organizations_spec.rb
|
||||
spec/models/user_organization_spec.rb
|
||||
spec/requests/sessions_controller_spec.rb
|
||||
spec/requests/admin/organization_users_controller_spec.rb
|
||||
services/importer/spec/acceptance/shp_spec.rb
|
||||
spec/requests/carto/api/api_keys_controller_spec.rb
|
||||
spec/requests/signup_controller_spec.rb
|
||||
spec/requests/sessions_spec.rb
|
||||
spec/connectors/importer_overviews_spec.rb
|
||||
spec/models/visualization/collection_spec.rb
|
||||
spec/requests/admin/visualizations_spec.rb
|
||||
spec/requests/carto/api/organization_users_controller_spec.rb
|
||||
spec/models/visualization/member_spec.rb
|
||||
spec/models/user_presenter_spec.rb
|
||||
spec/models/layer_spec.rb
|
||||
services/importer/spec/unit/json2csv_spec.rb
|
||||
spec/lib/cartodb/connection_pool_spec.rb
|
||||
spec/requests/warden_spec.rb
|
||||
spec/requests/carto/api/visualization_exports_controller_spec.rb
|
||||
spec/requests/carto/api/layer_presenter_spec.rb
|
||||
spec/requests/api/assets_spec.rb
|
||||
spec/requests/carto/api/maps_controller_spec.rb
|
||||
spec/models/visualization/table_blender_spec.rb
|
||||
spec/requests/user_state_spec.rb
|
||||
spec/requests/carto/superadmin/organizations_controller_spec.rb
|
||||
spec/requests/password_change_controller_spec.rb
|
||||
spec/requests/admin/pages_controller_spec.rb
|
||||
spec/queries/carto/visualization_query_builder_spec.rb
|
||||
spec/lib/explore_api_spec.rb
|
||||
spec/requests/carto/api/imports_controller_spec.rb
|
||||
spec/requests/carto/api/permissions_controller_spec.rb
|
||||
spec/models/table_registrar_spec.rb
|
||||
spec/services/visualization/common_data_service_spec.rb
|
||||
spec/requests/admin/organizations_controller_spec.rb
|
||||
spec/models/carto/user_db_service_spec.rb
|
||||
spec/requests/carto/api/tables_controller_spec.rb
|
||||
spec/requests/api/json/layer_presenter_spec.rb
|
||||
spec/models/user_table_spec.rb
|
||||
spec/models/table_privacy_manager_spec.rb
|
||||
services/importer/spec/acceptance/kml_spec.rb
|
||||
spec/services/carto/overquota_users_service_spec.rb
|
||||
spec/requests/carto/builder/public/embeds_controller_spec.rb
|
||||
spec/models/carto/visualization_spec.rb
|
||||
spec/models/carto/visualization_export_spec.rb
|
||||
spec/requests/carto/builder/datasets_controller_spec.rb
|
||||
spec/requests/carto/api/layer_presenter_spec.rb
|
||||
spec/requests/application_controller_spec.rb
|
||||
spec/models/carto/organization_spec.rb
|
||||
services/importer/spec/acceptance/csv_spec.rb
|
||||
spec/requests/carto/api/analyses_controller_spec.rb
|
||||
spec/models/carto/template_spec.rb
|
||||
spec/services/carto/organization_metadata_export_service_spec.rb
|
||||
spec/requests/admin/users_controller_spec.rb
|
||||
spec/models/carto/user_migration_import_spec.rb
|
||||
spec/lib/tasks/layers_rake_spec.rb
|
||||
spec/requests/carto/api/widgets_controller_spec.rb
|
||||
spec/requests/carto/admin/mobile_apps_controller_spec.rb
|
||||
spec/requests/account_tokens_controller_spec.rb
|
||||
spec/models/carto/username_proposer_spec.rb
|
||||
spec/requests/superadmin/platform_controller_spec.rb
|
||||
spec/requests/carto/api/user_creations_controller_spec.rb
|
||||
spec/requests/carto/api/templates_controller_spec.rb
|
||||
spec/requests/carto/api/overlays_controller_spec.rb
|
||||
spec/models/synchronization/member_overviews_spec.rb
|
||||
spec/models/carto/user_table_spec.rb
|
||||
spec/requests/carto/superadmin/users_controller_spec.rb
|
||||
spec/requests/carto/api/vizjson3_presenter_spec.rb
|
||||
spec/requests/carto/api/legends_controller_spec.rb
|
||||
spec/models/carto/api_key_spec.rb
|
||||
spec/lib/tasks/fix_unique_legends_spec.rb
|
||||
spec/lib/carto/tracking/events_spec.rb
|
||||
services/importer/spec/acceptance/gpx_spec.rb
|
||||
spec/services/carto/redis_export_service_spec.rb
|
||||
spec/requests/carto/api/database_groups_controller_spec.rb
|
||||
spec/requests/api/visualizations_spec.rb
|
||||
spec/models/geocoding_spec.rb
|
||||
spec/requests/carto/api/snapshots_controller_specs.rb
|
||||
spec/requests/carto/api/groups_controller_spec.rb
|
||||
spec/requests/api/synchronizations_spec.rb
|
||||
spec/models/table/column_typecaster_spec.rb
|
||||
spec/models/layer/presenter_spec.rb
|
||||
spec/models/carto/widget_spec.rb
|
||||
spec/models/carto/analysis_spec.rb
|
||||
spec/requests/visualizations_controller_helper_spec.rb
|
||||
spec/requests/carto/api/organization_assets_controller_spec.rb
|
||||
spec/requests/carto/api/mapcaps_controller_spec.rb
|
||||
spec/requests/api/json/synchronizations_controller_spec.rb
|
||||
spec/models/carto/mapcap_spec.rb
|
||||
services/importer/spec/acceptance/zip_spec.rb
|
||||
services/importer/spec/acceptance/osm_spec.rb
|
||||
services/importer/spec/acceptance/mapinfo_spec.rb
|
||||
spec/requests/carto/superadmin/user_migration_imports_spec.rb
|
||||
spec/requests/carto/api/records_controller_spec.rb
|
||||
spec/requests/carto/api/connectors_controller_spec.rb
|
||||
spec/requests/carto/api/columns_controller_spec.rb
|
||||
spec/lib/carto/visualization_migrator_spec.rb
|
||||
services/importer/spec/acceptance/raster2pgsql_spec.rb
|
||||
spec/services/carto/user_table_index_service_spec.rb
|
||||
spec/requests/carto/api/table_presenter_spec.rb
|
||||
spec/models/visualization/organization_visualization_spec.rb
|
||||
spec/models/visualization/locator_spec.rb
|
||||
spec/models/synchronization/member_spec.rb
|
||||
spec/models/carto/data_import_spec.rb
|
||||
spec/requests/carto/api/states_controller_spec.rb
|
||||
spec/requests/carto/api/received_notifications_controller_spec.rb
|
||||
spec/requests/carto/api/organizations_controller_spec.rb
|
||||
spec/requests/carto/api/metrics_controller_spec.rb
|
||||
spec/requests/api/json/geocodings_controller_spec.rb
|
||||
spec/lib/carto/visualization_invalidation_service_spec.rb
|
||||
services/importer/spec/unit/ogr2ogr_spec.rb
|
||||
spec/requests/api/geocodings_spec.rb
|
||||
spec/models/carto/ldap/configuration_spec.rb
|
||||
services/importer/spec/unit/runner_spec.rb
|
||||
services/importer/spec/unit/connector_spec.rb
|
||||
services/importer/spec/acceptance/rar_spec.rb
|
||||
spec/services/carto/data_library_service_spec.rb
|
||||
spec/requests/carto/api/invitations_controller_spec.rb
|
||||
spec/models/visualization/name_checker_spec.rb
|
||||
spec/models/carto/invitation_spec.rb
|
||||
spec/lib/carto/named_maps/template_spec.rb
|
||||
services/twitter-search/spec/unit/json_to_csv_converter_spec.rb
|
||||
services/importer/spec/unit/downloader_spec.rb
|
||||
services/importer/spec/unit/connector_runner_spec.rb
|
||||
spec/services/carto/visualizations_export_service_spec.rb
|
||||
spec/requests/carto/superadmin/user_migration_exports_spec.rb
|
||||
spec/requests/carto/api/grantables_controller_spec.rb
|
||||
spec/models/carto/map_spec.rb
|
||||
spec/models/carto/asset_spec.rb
|
||||
spec/lib/carto/ghost_tables_manager_spec.rb
|
||||
services/importer/spec/unit/unp_spec.rb
|
||||
services/importer/spec/unit/shp_normalizer_spec.rb
|
||||
services/importer/spec/acceptance/gz_tgz_spec.rb
|
||||
spec/requests/api/json/imports_controller_spec.rb
|
||||
spec/models/carto/visualization/watcher_spec.rb
|
||||
spec/models/carto/snapshot_spec.rb
|
||||
spec/models/carto/group_spec.rb
|
||||
services/table-geocoder/spec/lib/abstract_table_geocoder_spec.rb
|
||||
services/importer/spec/unit/url_translator/github_spec.rb
|
||||
spec/requests/carto/api/organization_notifications_controller_spec.rb
|
||||
spec/requests/admin/tables_spec.rb
|
||||
spec/models/visualization/relator_spec.rb
|
||||
spec/models/carto/overlay_spec.rb
|
||||
spec/models/carto/legend_spec.rb
|
||||
spec/lib/carto/styles/geometry_spec.rb
|
||||
spec/lib/carto/mapcapped_visualization_updater_spec.rb
|
||||
spec/lib/cartodb/stats/platform_spec.rb
|
||||
services/table-geocoder/spec/table_geocoder_spec.rb
|
||||
services/importer/spec/unit/url_translator/google_maps_spec.rb
|
||||
services/importer/spec/unit/url_translator/google_docs_spec.rb
|
||||
services/importer/spec/acceptance/geojson_spec.rb
|
||||
spec/requests/carto/api/synchronizations_controller_spec.rb
|
||||
spec/requests/carto/api/static_notifications_controller_spec.rb
|
||||
spec/models/shared_entity_spec.rb
|
||||
spec/models/platform-limits/user_concurrent_syncs_amount_spec.rb
|
||||
spec/models/map/copier_spec.rb
|
||||
spec/models/carto/user_service_spec.rb
|
||||
spec/models/carto/notification_spec.rb
|
||||
services/importer/spec/unit/column_spec.rb
|
||||
spec/services/carto/user_authenticator_spec.rb
|
||||
spec/requests/superadmin/feature_flag_spec.rb
|
||||
spec/requests/carto/api/data_import_presenter_spec.rb
|
||||
spec/requests/carto/api/assets_controller_spec.rb
|
||||
spec/models/synchronization/synchronization_oauth_spec.rb
|
||||
spec/models/synchronization/collection_spec.rb
|
||||
spec/models/platform-limits/user_concurrent_imports_amount_spec.rb
|
||||
spec/models/carto/shared_entity_spec.rb
|
||||
spec/models/carto/received_notification_spec.rb
|
||||
spec/models/access_token_spec.rb
|
||||
spec/lib/carto/google_maps_api_spec.rb
|
||||
spec/lib/carto/db/user_schema_spec.rb
|
||||
spec/helpers/carto/html_safe_spec.rb
|
||||
services/wms/spec/unit/wms_spec.rb
|
||||
services/importer/spec/unit/georeferencer_spec.rb
|
||||
services/importer/spec/unit/csv_normalizer_spec.rb
|
||||
services/datasources/spec/acceptance/public_url_spec.rb
|
||||
spec/lib/carto/assets_service_spec.rb
|
||||
services/sql-api/spec/sql_api_spec.rb
|
||||
services/importer/spec/unit/gpx_splitter_spec.rb
|
||||
services/importer/spec/unit/excel2csv_spec.rb
|
||||
services/geocoder/spec/hires_geocoder_spec.rb
|
||||
services/geocoder/spec/geocoder_spec.rb
|
||||
services/datasources/spec/unit/arcgis_spec.rb
|
||||
services/datasources/spec/integration/csv_file_dumper_spec.rb
|
||||
spec/lib/carto/legend_definition_validator_spec.rb
|
||||
spec/lib/cartodb/redis_vizjson_cache_spec.rb
|
||||
spec/helpers/carto_db_spec.rb
|
||||
services/importer/spec/unit/namedplaces_guesser_spec.rb
|
||||
services/importer/spec/acceptance/sql_spec.rb
|
||||
services/datasources/spec/acceptance/gdrive_spec.rb
|
||||
services/dataservices-metrics/spec/unit/service_usage_metrics_spec.rb
|
||||
spec/requests/superadmin/account_types_spec.rb
|
||||
spec/requests/carto/saml_controller_spec.rb
|
||||
spec/requests/carto/api/overlay_presenter_spec.rb
|
||||
spec/requests/carto/api/oembed_controller_spec.rb
|
||||
spec/models/visualization/presenter_spec.rb
|
||||
spec/models/visualization/overlays_spec.rb
|
||||
spec/models/common_data_spec.rb
|
||||
spec/models/carto/mobile_app_presenter_spec.rb
|
||||
spec/lib/user_account_creator_spec.rb
|
||||
spec/lib/url_signer_spec.rb
|
||||
spec/lib/tasks/fix_unique_overlays_spec.rb
|
||||
spec/lib/initializers/carto_db_spec.rb
|
||||
spec/lib/errors_spec.rb
|
||||
spec/lib/carto/table_utils_spec.rb
|
||||
spec/lib/carto/storage_options/local_spec.rb
|
||||
spec/lib/carto/legend_migrator_spec.rb
|
||||
spec/lib/carto/form_spec.rb
|
||||
spec/lib/carto/definition_spec.rb
|
||||
spec/lib/carto/db/sanitize_spec.rb
|
||||
spec/lib/carto/bolt_spec.rb
|
||||
spec/helpers/application_helper_spec.rb
|
||||
services/table-geocoder/spec/internal-geocoder/query_generator_factory_spec.rb
|
||||
services/table-geocoder/spec/internal-geocoder/input_type_resolver_spec.rb
|
||||
services/table-geocoder/spec/geocoder_cache_spec.rb
|
||||
services/importer/spec/unit/url_translator/fusion_tables_spec.rb
|
||||
services/importer/spec/unit/loader_spec.rb
|
||||
services/importer/spec/unit/kml_splitter_spec.rb
|
||||
services/importer/spec/unit/content_guesser_spec.rb
|
||||
services/datasources/spec/integration/twitter_spec.rb
|
||||
services/datasources/spec/acceptance/dropbox_spec.rb
|
||||
services/datasources/spec/acceptance/datasources_factory_spec.rb
|
||||
spec/requests/carto/api/presenter_cache_spec.rb
|
||||
spec/requests/carto/api/infowindow_migrator_spec.rb
|
||||
spec/models/visualization/tags_spec.rb
|
||||
spec/models/carto/helpers/billing_cycle_spec.rb
|
||||
spec/models/carto/analysis_node_spec.rb
|
||||
spec/models/carto/account_type_spec.rb
|
||||
spec/lib/trending_maps_spec.rb
|
||||
spec/lib/string_spec.rb
|
||||
spec/lib/initializers/zz_patch_reconnect_spec.rb
|
||||
spec/lib/image_metadata_spec.rb
|
||||
spec/lib/central_spec.rb
|
||||
spec/lib/carto/valid_table_name_proposer_spec.rb
|
||||
spec/lib/carto/users_metadata_redis_cache_spec.rb
|
||||
spec/lib/carto/styles/presenters/cartocss_spec.rb
|
||||
spec/lib/carto/styles/polygon_spec.rb
|
||||
spec/lib/carto/styles/point_spec.rb
|
||||
spec/lib/carto/styles/line_spec.rb
|
||||
spec/lib/carto/styles/cartography_spec.rb
|
||||
spec/lib/carto/strong_password_validator_spec.rb
|
||||
spec/lib/carto/saml_service_spec.rb
|
||||
spec/lib/carto/organization_assets_service_spec.rb
|
||||
spec/lib/carto/http_header_authentication_spec.rb
|
||||
spec/lib/carto/http/client_spec.rb
|
||||
spec/lib/carto/forms_definition_spec.rb
|
||||
spec/lib/carto/file_system/sanitize_spec.rb
|
||||
spec/lib/carto/filename_generator_spec.rb
|
||||
spec/lib/cartodb/stats/importer_spec.rb
|
||||
spec/lib/carto/db/sql_interface_spec.rb
|
||||
spec/lib/api_calls_spec.rb
|
||||
spec/helpers/uuidhelper_spec.rb
|
||||
spec/helpers/url_validator_spec.rb
|
||||
services/twitter-search/spec/unit/search_api_spec.rb
|
||||
services/table-geocoder/spec/lib/gme/table_geocoder_spec.rb
|
||||
services/platform-limits/spec/unit/input_file_size_spec.rb
|
||||
services/importer/spec/unit/url_translator/osm_spec.rb
|
||||
services/importer/spec/unit/url_translator/osm2_spec.rb
|
||||
services/importer/spec/unit/table_sampler_spec.rb
|
||||
services/importer/spec/unit/sql_loader_spec.rb
|
||||
services/importer/spec/unit/source_file_spec.rb
|
||||
services/importer/spec/unit/shp_helper_spec.rb
|
||||
services/importer/spec/unit/post_import_handler_spec.rb
|
||||
services/importer/spec/unit/mail_notifier_spec.rb
|
||||
services/importer/spec/regression/query_batcher_spec.rb
|
||||
services/geocoder/spec/hires_geocoder_factory_spec.rb
|
||||
services/geocoder/spec/hires_batch_geocoder_spec.rb
|
||||
services/datasources/spec/unit/twitter_spec.rb
|
||||
services/datasources/spec/unit/gdrive_spec.rb
|
||||
services/datasources/spec/unit/dropbox_spec.rb
|
||||
services/datasources/spec/unit/box_spec.rb
|
||||
spec/models/visualization/name_generator_spec.rb
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# Jesus Vazquez
|
||||
# reporter.sh: This script is the exit point for the tests execution. It reads from specfailed.log
|
||||
# the amount of tests that have failed. If there are none it sends a success status but if there are
|
||||
# 1 or more it sends a failure status to warn the developer
|
||||
|
||||
filename="parallel_tests/specfailed.log"
|
||||
|
||||
lines=$(cat $filename | wc -l)
|
||||
|
||||
if [ "$lines" -eq "0" ];
|
||||
then
|
||||
echo "Tests were OK";
|
||||
# TODO
|
||||
# gsu "Backend tests were OK" "Backend" success
|
||||
exit 0; #OK
|
||||
else
|
||||
while read line;
|
||||
do
|
||||
# For each error cat its log file
|
||||
logfile=$(echo $line | grep -o '[0-9][0-9][0-9][0-9].log')
|
||||
# cat $logfile;
|
||||
# Give feedback to github
|
||||
# spec=$(echo $line | sed 's/\s.*$//')
|
||||
# echo "GSU with spec $spec" TODO
|
||||
# gsu "$spec failed" "$spec" failure TODO
|
||||
|
||||
done < $filename
|
||||
# TODO
|
||||
# gsu "Backend tests failed" "Backend" failure
|
||||
exit 1; # ERROR
|
||||
fi
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
# BACKEND PARALLEL
|
||||
script/ci/generateSpecFull.sh || exit 1
|
||||
|
||||
# CLEANER
|
||||
script/ci/cleaner.sh || exit 1
|
||||
|
||||
# WRAPPER
|
||||
script/ci/wrapper.sh $1 || exit 1
|
||||
|
||||
# TESTS
|
||||
time parallel -j $1 -a parallel_tests/specfull.txt 'script/ci/executor.sh {} {%} {#}' || exit 1
|
||||
|
||||
# SECOND TRY
|
||||
script/ci/secondTry.sh || exit 1
|
||||
|
||||
# REPORTER
|
||||
script/ci/reporter.sh || exit 1
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# Jesus Vazquez
|
||||
# secondTry
|
||||
# This is a hack for those specs that failed in the parallel execution.
|
||||
# Here we can check if they failed because they can't run in parallel
|
||||
# or because the PR code is wrong
|
||||
|
||||
# Requisites
|
||||
cp config/database.yml.sample config/database.yml
|
||||
|
||||
# Start
|
||||
failedSpecs=$(cat parallel_tests/specfailed.log | wc -l)
|
||||
|
||||
if [ "$failedSpecs" -eq "0" ];
|
||||
then
|
||||
exit 0;
|
||||
else
|
||||
specs=$(cat parallel_tests/specfailed.log | sed ':a;N;$!ba;s/\n/ /g')
|
||||
fi
|
||||
|
||||
echo "Giving a second try to the next specs"
|
||||
cat parallel_tests/specfailed.log
|
||||
|
||||
RAILS_ENV=test bundle exec rspec $specs
|
||||
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
truncate -s 0 parallel_tests/specfailed.log # Here is where the hack takes place. If im the second try we dont have errors then we're OK
|
||||
else
|
||||
exit 0; # The reporter script will output the failed specs
|
||||
fi
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
rm config/database_*
|
||||
threads=$1
|
||||
databaseName="carto_db_test"
|
||||
dbAdmin="postgres"
|
||||
lastPort=$((threads + 6000))
|
||||
startPort=6001
|
||||
# Iterate and create one database per spec
|
||||
for i in $(seq $startPort $lastPort)
|
||||
do
|
||||
# Get database owner
|
||||
owner=$(psql -U $dbAdmin -t -c "select r.rolname from pg_database d, pg_roles r where d.datname='carto_db_test' and d.datdba = r.oid")
|
||||
newDatabase="${databaseName}_${i}";
|
||||
# Create the database with specific owner and template
|
||||
$(psql -U $dbAdmin -t -c "create database $newDatabase with owner $owner template $databaseName;") >> parallel_tests/wrapper.log 2>&1
|
||||
# Create the database.yml file
|
||||
echo "# Creating database_$i.yml file" >> parallel_tests/wrapper.log 2>&1
|
||||
sed -e s/carto_db_test/carto_db_test_$i/g config/database.yml.sample > config/database_$i.yml
|
||||
done
|
||||
|
||||
for i in $(seq $startPort $lastPort)
|
||||
do
|
||||
# Start Zeus server
|
||||
TURBO=1 ZEUSSOCK=".zeus$i.sock" RAILS_DATABASE_FILE=database_$i.yml REDIS_PORT=$i bundle exec zeus start >/dev/null 2>/dev/null &
|
||||
done
|
||||
|
||||
# Wait for a few seconds for Zeus servers to startup.
|
||||
# A better way to do it would be to wait for all `.zeus*.sock` files to be created.
|
||||
sleep 5
|
||||
|
||||
touch parallel_tests/specfailed.log
|
||||
touch parallel_tests/specsuccess.log
|
||||
echo "# Wrapper finished"
|
||||
Reference in New Issue
Block a user