void CdfExportTest::exportCdf()
{

    string command = "./apt-cdf-export -c ../../../rawq/test/data/Test3.CDF -ps Pae_16SrRNA_s_at -ps AFFX-Athal-Actin_5_r_at > "
                     + testDir + "/export.Test3.txt";

    vector<RegressionCheck *> checks;
    RegressionTest exportTest ("exportCdf", command.c_str(), checks);
    Verbose::out (1, "\nDoing exportCdf()");
    if (!exportTest.run())
    {
        Verbose::out (1, "Error in CdfExportTest::exportCdf(): " + exportTest.getErrorMsg());
        numFailed++;
    }
    else
    {
        TextFileCheck exportCheck (testDir + "/export.Test3.txt",
                                   "data/export.Test3.txt", 0);
        if (exportCheck.check (errorMsg))
        {
            numPassed++;
        }
        else
        {
            Verbose::out (1, "Error in CdfExportTest::exportCdf(): " + errorMsg);
            numFailed++;
        }
    }
}
void MD5CheckTest::testFileNotFound()
{
  string command =  md5app + " -v 2 -i file_does_not_exist";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testFileNotFound", command.c_str(), checks);
  Verbose::out (1, "\nDoing testFileNotFound()");
  if (differencesTest.run() == false)
    ++numPassed;
  else
  {
    Verbose::out (1, "Error in MD5CheckTest::testFileNotFound(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
void MD5CheckTest::testFailure()
{
  string command = md5app + " -v 2 -i data/translations_md5.rpt";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testFailure", command.c_str(), checks);
  Verbose::out (1, "\nDoing testFailure()");
  if (differencesTest.run() == false)
    ++numPassed;
  else
  {
    Verbose::out (1, "Error in MD5CheckTest::testFailure(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
// allowable differences only in checked datasets and header parameters
void File5EquivalentTest::testDifferencesPositive()
{
  string command = "./apt-file5-equivalent --epsilon 0.005 --correlation 1.1 --datasets-file ./data/datasets_similar.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testDifferencesPositive", command, checks);
  Verbose::out (1, "\nDoing testDifferencesPositive()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testDifferencesPositive(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
// ignore column with integer differences Cyto2.AntigenomicProbes.ProbeID
void File5EquivalentTest::testIgnoreListPositive()
{
  string command = "./apt-file5-equivalent -e 0.005 -c 1.1 -d ./data/datasets_integer_diff.txt -i ./data/ignore_columns.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIgnoreListPositive", command, checks);
  Verbose::out (1, "\nDoing testIgnoreListPositive()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testIgnoreListPositive(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
// ddemean_true_diff3.ref.a5 WaveCorrection datasets X7,X8 have NaN values, verify that it ignores differences if the -n option is false
void File5EquivalentTest::testIgnoreNanNumDifferences()
{
  string command = "./apt-file5-equivalent -n false -e 0.00001 -c 0.999999 -d ./data/datasets_correlation.txt -i ./data/ignore_columns_wc-except-x7-x8.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIgnoreNanNumDifferences", command, checks);
  Verbose::out (1, "\nDoing testIgnoreNanNumDifferences()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testIgnoreNanNumDifferences(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
// datasets WaveCorrection X1,X2 have all same values with changed sign, X3,X4,X5,X6 have only some values with changed sign
void File5EquivalentTest::testSignAllowNegationPositive1()
{
  string command = "./apt-file5-equivalent -s -e 0.0001 -c 0.9999 -d ./data/datasets_correlation.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testSignAllowNegationPositive1", command, checks);
  Verbose::out (1, "\nDoing testSignAllowNegationPositive1()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testSignAllowNegationPositive1(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
// dataset AntigenomicProbes.ProbeID int32 values have non-allowed single digit differences: 1037413 vs 1037412, etc.
void File5EquivalentTest::testIntegerNegative()
{
  string command = "./apt-file5-equivalent -e 0.005 -c 0.99 -d ./data/datasets_integer_diff.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIntegerNegative", command, checks);
  Verbose::out (1, "\nDoing testIntegerNegative()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testIntegerNegative(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
// demean_true_diff3.ref.a5 WaveCorrection datasets X7,X8 have NaN values, verify fails if NaN status is different by comparing file without NaN values
void File5EquivalentTest::testReportNanNumDiffNegative()
{
  string command = "./apt-file5-equivalent --report-nan-num-diff true -e 0.00001 -c 0.9999 --datasets-file ./data/datasets_correlation.txt -i ./data/ignore_columns_wc-except-x7-x8.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testReportNanNumDiffNegative", command, checks);
  Verbose::out (1, "\nDoing testReportNanNumDiffNegative()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testReportNanNumDiffNegative(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
// datasets WaveCorrection X1,X2,X3,X4,X5,X6 have values with changed sign; differences fail larger tolerance without -s option
void File5EquivalentTest::testSignAllowNegationNegative2()
{
  string command = "./apt-file5-equivalent -e 0.001 -c 0.999 --datasets-file ./data/datasets_correlation.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testSignAllowNegationNegative2", command, checks);
  Verbose::out (1, "\nDoing testSignAllowNegationNegative2()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testSignAllowNegationNegative2(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
Ejemplo n.º 11
0
  ssize_t Device::getProperty(const RTCDeviceProperty prop)
  {
    size_t iprop = (size_t)prop;

    /* get name of internal regression test */
    if (iprop >= 2000000 && iprop < 3000000)
    {
      RegressionTest* test = getRegressionTest(iprop-2000000);
      if (test) return (ssize_t) test->name.c_str();
      else      return 0;
    }

    /* run internal regression test */
    if (iprop >= 3000000 && iprop < 4000000)
    {
      RegressionTest* test = getRegressionTest(iprop-3000000);
      if (test) return test->run();
      else      return 0;
    }

    /* documented properties */
    switch (prop) 
    {
    case RTC_DEVICE_PROPERTY_VERSION_MAJOR: return RTC_VERSION_MAJOR;
    case RTC_DEVICE_PROPERTY_VERSION_MINOR: return RTC_VERSION_MINOR;
    case RTC_DEVICE_PROPERTY_VERSION_PATCH: return RTC_VERSION_PATCH;
    case RTC_DEVICE_PROPERTY_VERSION      : return RTC_VERSION;

#if defined(EMBREE_TARGET_SIMD4) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED:  return hasISA(SSE2);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD8) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED:  return hasISA(AVX);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD16) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return hasISA(AVX512KNL) | hasISA(AVX512SKX);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return 0;
#endif

#if defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED:  return 1;
#else
    case RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED:  return 0;
#endif
    
#if defined(EMBREE_RAY_MASK)
    case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 0;
#endif

#if defined(EMBREE_BACKFACE_CULLING)
    case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 1;
#else
    case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 0;
#endif

#if defined(EMBREE_FILTER_FUNCTION)
    case RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: return 0;
#endif

#if defined(EMBREE_IGNORE_INVALID_RAYS)
    case RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: return 1;
#else
    case RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: return 0;
#endif

#if defined(TASKING_INTERNAL)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 0;
#endif

#if defined(TASKING_TBB)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 1;
#endif

#if defined(TASKING_PPL)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 2;
#endif

#if defined(EMBREE_GEOMETRY_TRIANGLE)
    case RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: return 0;
#endif
        
#if defined(EMBREE_GEOMETRY_QUAD)
    case RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_CURVE)
    case RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_SUBDIVISION)
    case RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_USER)
    case RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(TASKING_PPL)
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 0;
#elif defined(TASKING_TBB) && (TBB_INTERFACE_VERSION_MAJOR < 8)
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 0;
#else
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 1;
#endif

    default: throw_RTCError(RTC_ERROR_INVALID_ARGUMENT, "unknown readable property"); break;
    };
  }
Ejemplo n.º 12
0
  ssize_t Device::getParameter1i(const RTCParameter parm)
  {
    size_t iparm = (size_t)parm;

    /* get name of internal regression test */
    if (iparm >= 2000000 && iparm < 3000000)
    {
      RegressionTest* test = getRegressionTest(iparm-2000000);
      if (test) return (ssize_t) test->name.c_str();
      else      return 0;
    }

    /* run internal regression test */
    if (iparm >= 3000000 && iparm < 4000000)
    {
      RegressionTest* test = getRegressionTest(iparm-3000000);
      if (test) return test->run();
      else      return 0;
    }

    /* documented parameters */
    switch (parm) 
    {
    case RTC_CONFIG_VERSION_MAJOR: return RTCORE_VERSION_MAJOR;
    case RTC_CONFIG_VERSION_MINOR: return RTCORE_VERSION_MINOR;
    case RTC_CONFIG_VERSION_PATCH: return RTCORE_VERSION_PATCH;
    case RTC_CONFIG_VERSION      : return RTCORE_VERSION;

    case RTC_CONFIG_INTERSECT1: return 1;

#if defined(EMBREE_TARGET_SIMD4) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT4:  return hasISA(SSE2);
#else
    case RTC_CONFIG_INTERSECT4:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD8) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT8:  return hasISA(AVX);
#else
    case RTC_CONFIG_INTERSECT8:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD16) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT16: return hasISA(AVX512KNL) | hasISA(AVX512SKX);
#else
    case RTC_CONFIG_INTERSECT16: return 0;
#endif

#if defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT_STREAM:  return 1;
#else
    case RTC_CONFIG_INTERSECT_STREAM:  return 0;
#endif
    
#if defined(EMBREE_RAY_MASK)
    case RTC_CONFIG_RAY_MASK: return 1;
#else
    case RTC_CONFIG_RAY_MASK: return 0;
#endif

#if defined(EMBREE_BACKFACE_CULLING)
    case RTC_CONFIG_BACKFACE_CULLING: return 1;
#else
    case RTC_CONFIG_BACKFACE_CULLING: return 0;
#endif

#if defined(EMBREE_INTERSECTION_FILTER)
    case RTC_CONFIG_INTERSECTION_FILTER: return 1;
#else
    case RTC_CONFIG_INTERSECTION_FILTER: return 0;
#endif

#if defined(EMBREE_INTERSECTION_FILTER_RESTORE)
    case RTC_CONFIG_INTERSECTION_FILTER_RESTORE: return 1;
#else
    case RTC_CONFIG_INTERSECTION_FILTER_RESTORE: return 0;
#endif

#if defined(EMBREE_IGNORE_INVALID_RAYS)
    case RTC_CONFIG_IGNORE_INVALID_RAYS: return 1;
#else
    case RTC_CONFIG_IGNORE_INVALID_RAYS: return 0;
#endif

#if defined(TASKING_INTERNAL)
    case RTC_CONFIG_TASKING_SYSTEM: return 0;
#endif

#if defined(TASKING_TBB)
    case RTC_CONFIG_TASKING_SYSTEM: return 1;
#endif

#if defined(TASKING_PPL)
    case RTC_CONFIG_TASKING_SYSTEM: return 2;
#endif

#if defined(EMBREE_GEOMETRY_TRIANGLES)
    case RTC_CONFIG_TRIANGLE_GEOMETRY: return 1;
#else
    case RTC_CONFIG_TRIANGLE_GEOMETRY: return 0;
#endif
        
#if defined(EMBREE_GEOMETRY_QUADS)
    case RTC_CONFIG_QUAD_GEOMETRY: return 1;
#else
    case RTC_CONFIG_QUAD_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_LINES)
    case RTC_CONFIG_LINE_GEOMETRY: return 1;
#else
    case RTC_CONFIG_LINE_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_HAIR)
    case RTC_CONFIG_HAIR_GEOMETRY: return 1;
#else
    case RTC_CONFIG_HAIR_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_SUBDIV)
    case RTC_CONFIG_SUBDIV_GEOMETRY: return 1;
#else
    case RTC_CONFIG_SUBDIV_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_USER)
    case RTC_CONFIG_USER_GEOMETRY: return 1;
#else
    case RTC_CONFIG_USER_GEOMETRY: return 0;
#endif

#if defined(TASKING_TBB) && (TBB_INTERFACE_VERSION_MAJOR < 8)
    case RTC_CONFIG_COMMIT_JOIN: return 0;
    case RTC_CONFIG_COMMIT_THREAD: return 0;
#else
    case RTC_CONFIG_COMMIT_JOIN: return 1;
    case RTC_CONFIG_COMMIT_THREAD: return 1;
#endif

    default: throw_RTCError(RTC_INVALID_ARGUMENT, "unknown readable parameter"); break;
    };
  }