Opened 6 months ago

Closed 5 months ago

#1418 closed defect (fixed)

SystemTest_Cleaning the obsolete and deprecated and incorrect outputs.

Reported by: bphamhuu Owned by: bphamhuu
Priority: major Milestone: 9.3
Component: systemtest Version: development
Keywords: system test Cc: dmisev, vmerticariu
Complexity: Medium

Description (last modified by dmisev)

After running test.sh (e.g: test_wcs), it will collect all the failed cases and also known fails in failed_cases.

It mixed up between real error cases and known fails cases in this files and need to search for differentiating these cases.

These known fails test cases can be written to another file (failed_known_cases) to see the request detail.

Change History (9)

comment:1 Changed 6 months ago by bphamhuu

this ticket will remove xxd in system util/common.sh for encoding WCPS test as it is simple to fix instead of upload an unnamed patch.

comment:2 Changed 6 months ago by dmisev

Please also replace the use of which with type or command:

util/common.sh:  which rasmgr > /dev/null
util/common.sh:  which psql > /dev/null
util/common.sh:  which wget > /dev/null
util/common.sh:  which ncdump > /dev/null
util/common.sh:  which gdal_translate > /dev/null
util/common.sh:  [ $(which sqlite3) ] || error "sqlite3 not found, please install."

comment:3 Changed 6 months ago by dmisev

Some of those tests actually may be outdated:

  • psql should be removed as we don't use it anymore as far as I know?
    • this should be removed as it's unused:
      util/common.sh:export PGSQL="psql -d $RASDB --port $PG_PORT"
      
    • this should probably be removed in some way:
      util/common.sh:export PSQL="psql -d $PS_DB --port $PG_PORT"
      util/petascope.sh:  id=`$PSQL -c  "select id from ps_coverage where name = '$c' " | head -3 | tail -1`
      util/petascope.sh:  $PSQL --list | egrep "\b$PS_DB\b" > /dev/null
      util/petascope.sh:  M=`psql -d petascopedb -c "SELECT * FROM information_schema.tables WHERE table_schema = 'public'" | grep ps_multipoint`
      util/petascope.sh:    c_id=$($PSQL -c  "select id from ps_coverage where name = '$c' " | head -3 | tail -1) > /dev/null
      util/petascope.sh:      $PSQL -c "DELETE FROM ps_coverage WHERE id=$c_id" > /dev/null
      
  • wget should be replaced with curl? we are using both, and it would be better if we stick to one. Here are the occurrences:
    util/common.sh:export WGET="wget"
    util/common.sh:export WGET_CODE_SERVER_ERROR=8 # See https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html
    util/common.sh:check_wget()
    util/common.sh:  which wget > /dev/null
    util/common.sh:    error "wget missing, please install."
    util/common.sh:  $WGET -q "${SECORE_URL}/crs" -O /dev/null
    util/common.sh:# when wget returns empty file, using curl to get the error in page content.
    util/common.sh:wget_error(){
    util/common.sh:                    $WGET -q "$RASQL_SERVLET?$QUERY" -O "$out"
    util/common.sh:                    WGET_EXIT_CODE=$?
    util/common.sh:                    if [[ $WGET_EXIT_CODE != 0 ]]; then
    util/common.sh:                      echo "Error when processing Rasql-Servlet request in KVP, query return error: "$WGET_EXIT_CODE
    util/common.sh:                      wget_error "$RASQL_SERVLET?$QUERY" "$out"
    util/common.sh:                    $WGET -q --post-data "query=$QUERY" $WCPS_URL -O "$out"
    util/common.sh:                    WGET_EXIT_CODE=$?
    util/common.sh:                    if [[ $WGET_EXIT_CODE != 0 ]]; then
    util/common.sh:                        echo "Error when processing WCPS request in KVP, query return error: "$WGET_EXIT_CODE
    util/common.sh:                        wget_error "$WCPS_EMBEDDED_URL""$QUERY" "$out"
    util/common.sh:                    $WGET -q --header "Content-Type: text/xml" --post-file "$postdata" "$WCS_URL" -O "$out"
    util/common.sh:                    WGET_EXIT_CODE=$?
    util/common.sh:                    if [[ $WGET_EXIT_CODE != 0 ]]; then
    util/common.sh:                      echo "Error when processing WCPS request in SOAP, query return error: "$WGET_EXIT_CODE
    util/common.sh:                      wget_error "$WCPS_EMBEDDED_URL""$QUERY" "$out"
    util/common.sh:                kvp) $WGET -q "$WCS_URL?$QUERY" -O "$out"
    util/common.sh:                     WGET_EXIT_CODE=$?
    util/common.sh:		                 # wget cannot get the error page, then need curl to download error and save to output file.
    util/common.sh:                     if [[ $WGET_EXIT_CODE != 0 ]]; then
    util/common.sh:                        echo "Error when processing WCS request in KVP, query return error: "$WGET_EXIT_CODE
    util/common.sh:                        wget_error "$WCS_URL?$QUERY" "$out"
    util/common.sh:                     $WGET -q --header "Content-Type: text/xml" --post-file "$postdata" "$WCS_URL" -O "$out"
    util/common.sh:                     WGET_EXIT_CODE=$?
    util/common.sh:      wms)    $WGET -q "$WMS_URL?$QUERY" -O "$out"
    util/common.sh:              WGET_EXIT_CODE=$?
    util/common.sh:              $WGET -q "$SECORE_URL$QUERY" -O "$out"
    util/common.sh:              WGET_EXIT_CODE=$?
    util/common.sh:              if [[ $WGET_EXIT_CODE != 0 ]]; then
    util/common.sh:                 echo "Error when processing CRS request in SECORE, query return error: "$WGET_EXIT_CODE
    util/common.sh:                 wget_error "$SECORE_URL$QUERY" "$out"
    util/common.sh:        #       but with an exception body, since `wget` does _not_ fetch the content of an error response.
    util/common.sh:        # This test is supposed to raise an exception: check wget exit code instead of the response.
    util/common.sh:        test "$WGET_CODE_SERVER_ERROR" = "$WGET_EXIT_CODE"
    util/test_oracle.sh:check_wget
    util/petascope.sh:  $WGET -q $WCPS_URL -O /dev/null
    
  • ncdump check should be moved to testcases_mandatory/test_netcdf/test.sh, where it's only needed I think
  • sqlite3 check should be moved to testcases_manual/test_crash_rasserver/test.sh where it's only used

comment:4 Changed 5 months ago by bphamhuu

on make check

grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
grep: known_fails: No such file or directory
Last edited 5 months ago by bphamhuu (previous) (diff)

comment:5 Changed 5 months ago by dmisev

In test_all_wcst_import the std output should be only:

importing coverage X... ok.
or
importing coverage X... failed.

The full output should go to a log file, and failed cases should be logged in failed_cases log.

comment:6 Changed 5 months ago by dmisev

  • Description modified (diff)

Another request, some file renaming (take care to update the .gitignore):

  • failed_cases -> failed_cases.log
  • log -> test.log

comment:7 Changed 5 months ago by dmisev

  • Cc vmerticariu added
  • Description modified (diff)

comment:8 Changed 5 months ago by bphamhuu

  • Keywords system test added
  • Summary changed from SystemTest_Remove known fails from failed_cases log to SystemTest_Cleaning the obsolete and deprecated and incorrect outputs.

comment:9 Changed 5 months ago by bphamhuu

  • Resolution set to fixed
  • Status changed from new to closed

the patch was applied.

Note: See TracTickets for help on using tickets.