Running ‘Test.R’ [1s/11s]
Running the tests in ‘tests/Test.R’ failed.
Complete output:
  > # Testing for internet connectivity, the connection to the MODIS SOAP WSDL Server and it's Web Service
  > # Description Language, for the XML response from the Web Service method, and for the functions of
  > # MODISTools.
  > 
  > # Load data to be used for testing.
  > rm(list = ls())
  > library(MODISTools)
  > data(SubsetExample, FindIDExample, QualityCheckExample, TransectExample, EndCoordinatesExample, ConvertExample)
  > library(RCurl)  # Will use some RCurl and XML functions explicitly in testing.
  Loading required package: bitops
  > library(XML)
  > 
  > options(warn = 2)
  > 
  > ## Following lines of code testing for internet connectivity and server access, are from
  > ## R testing: .../tests/internet.R
  > # Check for internet capability.
  > if(!capabilities("http/ftp")) q()
  > 
  > # Check for internet connectivity.
  > if(.Platform$OS.type == "unix" && is.null(nsl("cran.r-project.org"))) q()
  > 
  > # Check we can reach the server for lpdaac modis web service.
  > if(.Platform$OS.type == "unix" && is.null(nsl("daacmodis.ornl.gov"))) q()
  > 
  > # Check the web service is currently responsive.
  > if(class(try(GetProducts(), silent = TRUE)) == "try-error") q()
  > ##
  > 
  > # Check the XML response is as expected.
  > getsubset.xml <- paste('
  + <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  +               xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mod="', daacmodis, '/MODIS_webservice">
  +                         <soapenv:Header/>
  +                         <soapenv:Body>
  +                         <mod:getsubset soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  +                         <Latitude xsi:type="xsd:float">', 51.41363, '</Latitude>
  +                         <Longitude xsi:type="xsd:float">', -0.64875, '</Longitude>
  +                         <Product xsi:type="xsd:string">', "MOD13Q1", '</Product>
  +                         <Band xsi:type="xsd:string">', "250m_16_days_EVI", '</Band>
  +                         <MODIS_Subset_Start_Date xsi:type="xsd:string">', "A2001001", '</MODIS_Subset_Start_Date>
  +                         <MODIS_Subset_End_Date xsi:type="xsd:string">', "A2001025", '</MODIS_Subset_End_Date>
  +                         <Km_Above_Below xsi:type="xsd:string">', 0, '</Km_Above_Below>
  +                         <Km_Left_Right xsi:type="xsd:string">', 0, '</Km_Left_Right>
  +                         </mod:getsubset>
  +                         </soapenv:Body>
  +                         </soapenv:Envelope>',
  +                         sep = "")
  > 
  > header.fields <- c(Accept = "text/xml",
  +                    Accept = "multipart/*",
  +                    'Content-Type' = "text/xml; charset=utf-8",
  +                    SOAPAction = "")
  > 
  > reader <- basicTextGatherer()
  > header <- basicTextGatherer()
  > 
  > curlPerform(url = paste0(daacmodis, wsdl_loc),
  +             httpheader = header.fields,
  +             postfields = getsubset.xml,
  +             writefunction = reader$update,
  +             verbose = FALSE)
  OK 
   0 
  > 
  > # Check the server is not down by insepcting the XML response for internal server error message.
  > if(grepl("Internal Server Error", reader$value())) q()
  > 
  > xmlRoot(xmlTreeParse(reader$value()))
  <soap:Envelope encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="https://daacmodis.ornl.gov/MODIS_webservice" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
    <getsubsetResponse xmlns="https://daacmodis.ornl.gov/MODIS_webservice">
     <tns1:getsubsetReturn type="tns1:ModisData" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
      <xllcorner type="xsd:float">-45172.97</xllcorner>
      <yllcorner type="xsd:float">5716815.61</yllcorner>
      <cellsize type="xsd:float">231.656358264</cellsize>
      <nrows type="xsd:float">1</nrows>
      <ncols type="xsd:float">1</ncols>
      <band type="xsd:string">250m_16_days_EVI</band>
      <units type="xsd:string">EVI ratio - No units</units>
      <scale type="xsd:float">0.0001</scale>
      <latitude type="xsd:float">51.41363</latitude>
      <longitude type="xsd:float">-0.64875</longitude>
      <header type="xsd:string">HDFname,Product,Date,Location,Processed_Date,Subset_Data...</header>
      <subset arrayType="xsd:string[2]" type="soapenc:Array">
       <item type="xsd:string">MOD13Q1.A2001001.h17v03.005.2008270025219.250m_16_days_EVI,MOD13Q1,A2001001,Lat51.41363Lon-0.64875Samp1Line1,2008270025219,2861</item>
       <item type="xsd:string">MOD13Q1.A2001017.h17v03.005.2006357020259.250m_16_days_EVI,MOD13Q1,A2001017,Lat51.41363Lon-0.64875Samp1Line1,2006357020259,2944</item>
      </subset>
     </tns1:getsubsetReturn>
    </getsubsetResponse>
   </soap:Body>
  </soap:Envelope>
  > ###
  > 
  > # Check FindID example
  > FindID(ID = SubsetExample, Data = FindIDExample)
  [1] 1
  > 
  > # Check QualityCheck example
  > EVIdata <- QualityCheckExample[1:5, ]
  > QAdata <- QualityCheckExample[6:10, ]
  > 
  > QualityCheck(Data = EVIdata, Product = "MOD13Q1", Band = "250m_16_days_EVI", NoDataFill = -3000,
  +              QualityBand = "250m_16_days_pixel_reliability", QualityScores = QAdata, QualityThreshold = 0)
    pixel.1 pixel.2 pixel.3 pixel.4 pixel.5
  1    4410    4410    4835    5307    4774
  2    4024    4194    4035    3124    4670
  3      NA      NA      NA      NA      NA
  4    3892    3890    4251    3248    3248
  5    4649    4038    3988    3986    4184
  > ###
  > 
  > # Check MODIS subset uses this output to produce correctly downloaded files.
  > request <- GetSubset(Lat = SubsetExample$lat, Long = SubsetExample$long, Product = "MCD12Q1", Band = "Land_Cover_Type_1",
  +                      StartDate = "A2005001", EndDate = "A2005001", KmAboveBelow = 0, KmLeftRight = 0)$subset[1]
  > if(grepl("Server is busy handling other requests", request) | grepl("System overloaded", request) |
  +      grepl("Downloading from the web service is currently not working", request)){
  +   q()
  + } else {
  +   # Check GetSubset is producing the correct output.
  +   # Use GetProducts, GetBands, and GetDates, to specify the GetSubset request.
  +   Product <- GetProducts()[1]
  +   Band <- GetBands(Product)[1]
  +   Dates <- GetDates(SubsetExample$lat, SubsetExample$long, Product)[1:2]
  + 
  +   GetSubset(Lat = SubsetExample$lat, Long = SubsetExample$long, Product = Product, Band = Band,
  +             StartDate = Dates[1], EndDate = Dates[1], KmAboveBelow = 0, KmLeftRight = 0)
  + 
  +   MODISSubsets(LoadDat = SubsetExample, Product = "MCD12Q1", Bands = c("Land_Cover_Type_1"),
  +                Size = c(1,1), StartDate = TRUE)
  + 
  +   MODISSummaries(LoadDat = SubsetExample, Product = "MCD12Q1", Band = "Land_Cover_Type_1",
  +                  ValidRange = c(0,254), NoDataFill = 255, ScaleFactor = 1, StartDate = TRUE)
  + }
  Error in Product == GetProducts() : 
    comparison of these types is not implemented
  Calls: GetBands
  Execution halted