diff --git a/daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/tdml/TDMLRunner.scala b/daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/tdml/TDMLRunner.scala
index 3e58040..d3d9747 100644
--- a/daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/tdml/TDMLRunner.scala
+++ b/daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/tdml/TDMLRunner.scala
@@ -212,13 +212,13 @@
   }
 
   /**
-   * Try a few possibilities to find the model/schema file.
+   * Try a few possibilities to find the model/schema/tdml resources
    *
    * IBM's suites have funny model paths in them. We don't have that file structure,
-   * so we look for the schema/model files in the working directory, and in the same
+   * so we look for the schema/model/tdml resources in the working directory, and in the same
    * directory as the tdml file, and some other variations.
    */
-  def findModelFile(fileName: String): File = {
+  def findTDMLResource(fileName: String): File = {
     val firstTry = new File(fileName)
     if (firstTry.exists()) return firstTry
     // see if it can be found relative to the tdml test file, like next to it.
@@ -228,20 +228,20 @@
       if (sysFile.exists()) {
         // the system Id of the tdml file was a file.
         val sysPath = sysFile.getParent()
-        val modelFileName = sysPath + File.separator + fileName
-        log(LogLevel.Debug, "Model file name is: %s", modelFileName)
-        val modelFile = new File(modelFileName)
-        if (modelFile.exists()) return modelFile
+        val resourceFileName = sysPath + File.separator + fileName
+        log(LogLevel.Debug, "TDML resource name is: %s", resourceFileName)
+        val resourceFile = new File(resourceFileName)
+        if (resourceFile.exists()) return resourceFile
       }
     }
     // try ignoring the directory part
     val parts = fileName.split("/")
     if (parts.length > 1) {
       val filePart = parts.last
-      val secondTry = findModelFile(filePart) // recursively
+      val secondTry = findTDMLResource(filePart) // recursively
       if (secondTry.exists()) return secondTry;
     }
-    throw new FileNotFoundException("Unable to find model file " + fileName + ".")
+    throw new FileNotFoundException("Unable to find tdml resource " + fileName + ".")
   }
 
   def findModel(modelName: String): Node = {
@@ -250,7 +250,7 @@
     es match {
       case Some(defschema) => defschema.xsdSchema
       case None => {
-        val file = findModelFile(modelName)
+        val file = findTDMLResource(modelName)
         val schema = {
           val res = (new DaffodilXMLLoader(errorHandler)).loadFile(file)
           res
@@ -927,7 +927,7 @@
   }
 
   lazy val fileDataInput = {
-    val file = new File(Misc.getRequiredResource(partRawContent).toURI)
+    val file = parent.parent.parent.findTDMLResource(partRawContent)
     val fis = new FileInputStream(file)
     //    val fileBytes = Stream.continually(fis.read()).takeWhile(_ != -1).map(_.toByte).toArray
     //    bytes2Bits(fileBytes)
diff --git a/daffodil-core/src/test/scala/edu/illinois/ncsa/daffodil/tdml/TestTDMLRunner.scala b/daffodil-core/src/test/scala/edu/illinois/ncsa/daffodil/tdml/TestTDMLRunner.scala
index 422ecc4..a75c53a 100644
--- a/daffodil-core/src/test/scala/edu/illinois/ncsa/daffodil/tdml/TestTDMLRunner.scala
+++ b/daffodil-core/src/test/scala/edu/illinois/ncsa/daffodil/tdml/TestTDMLRunner.scala
@@ -134,10 +134,21 @@
   }
 
   @Test def testDocWithTextFile() {
-    val xml = <document>
-                <documentPart type="file">/test/tdml/test.txt</documentPart>
-              </document>
-    val doc = new Document(xml, null)
+    val xml = <testSuite xmlns={ tdml } ID="suite identifier" suiteName="theSuiteName" description="Some Test Suite Description">
+                <parserTestCase name="test1" root="byte1" model="test-suite/ibm-contributed/dpanum.dfdl.xsd" description="Some test case description.">
+                  <document>
+                    <documentPart type="file">daffodil-core/src/test/resources/test/tdml/test.txt</documentPart>
+                  </document>
+                  <infoset>
+                    <dfdlInfoset xmlns:xs={ xsd } xmlns:xsi={ xsi }>
+                      <byte1 xsi:type="xs:byte">123</byte1>
+                    </dfdlInfoset>
+                  </infoset>
+                </parserTestCase>
+              </testSuite>
+    val ts = new DFDLTestSuite(xml)
+    val ptc = ts.parserTestCases(0)
+    val doc = ptc.document.get
     val docPart = doc.documentParts(0)
     val bb = java.nio.ByteBuffer.allocate(11)
     doc.data.read(bb)
@@ -147,10 +158,21 @@
   }
 
   @Test def testDocWithBinaryFile() {
-    val xml = <document>
-                <documentPart type="file">/test/tdml/test.bin</documentPart>
-              </document>
-    val doc = new Document(xml, null)
+    val xml = <testSuite xmlns={ tdml } ID="suite identifier" suiteName="theSuiteName" description="Some Test Suite Description">
+                <parserTestCase name="test1" root="byte1" model="test-suite/ibm-contributed/dpanum.dfdl.xsd" description="Some test case description.">
+                  <document>
+                    <documentPart type="file">daffodil-core/src/test/resources/test/tdml/test.bin</documentPart>
+                  </document>
+                  <infoset>
+                    <dfdlInfoset xmlns:xs={ xsd } xmlns:xsi={ xsi }>
+                      <byte1 xsi:type="xs:byte">123</byte1>
+                    </dfdlInfoset>
+                  </infoset>
+                </parserTestCase>
+              </testSuite>
+    val ts = new DFDLTestSuite(xml)
+    val ptc = ts.parserTestCases(0)
+    val doc = ptc.document.get
     val docPart = doc.documentParts(0)
     val bb = java.nio.ByteBuffer.allocate(4)
     doc.data.read(bb)
@@ -413,10 +435,10 @@
     }
   }
 
-  @Test def testFindModelFile() {
+  @Test def testTDMLResource() {
     lazy val res = Misc.getRequiredResource("/test-suite/ibm-contributed/dpaext1.tdml")
     lazy val ts = new DFDLTestSuite(new File(res.toURI()))
-    val mf = ts.findModelFile("./fvt/ext/dpa/dpaspc121_01.dfdl.xsd")
+    val mf = ts.findTDMLResource("./fvt/ext/dpa/dpaspc121_01.dfdl.xsd")
     assertTrue(mf.exists())
   }
 
diff --git a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/expressions/expressions.tdml b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/expressions/expressions.tdml
index c10ae54..4b4ada2 100644
--- a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/expressions/expressions.tdml
+++ b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/expressions/expressions.tdml
@@ -15,7 +15,7 @@
   <tdml:parserTestCase name="indexLimit_29030" model="csv_mod_hidden.dfdl.xsd" root="file_29030"
     description="Section 23 - Uses of Expression Language - DFDL-23-003R">
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/expressions/csv_1.6m</tdml:documentPart>
+      <tdml:documentPart type="file">csv_1.6m</tdml:documentPart>
     </tdml:document>
     <tdml:infoset>
       <tdml:dfdlInfoset>
@@ -41,7 +41,7 @@
   <tdml:parserTestCase name="indexLimit_100" model="csv_mod_hidden.dfdl.xsd" root="file_100"
     description="Section 23 - Uses of Expression Language - DFDL-23-003R">
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/expressions/csv_1.6m</tdml:documentPart>
+      <tdml:documentPart type="file">csv_1.6m</tdml:documentPart>
     </tdml:document>
     <tdml:infoset>
       <tdml:dfdlInfoset>
diff --git a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.tdml b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.tdml
index eccf651..92ff21b 100644
--- a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.tdml
+++ b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/pcap/pcap.tdml
@@ -13,7 +13,7 @@
   <tdml:parserTestCase name="pcap_test" root="pcap"
     model="pcap.dfdl.xsd" description="pcap test">
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/pcap/dns.cap</tdml:documentPart>
+      <tdml:documentPart type="file">dns.cap</tdml:documentPart>
     </tdml:document>
     <tdml:infoset>
       <tdml:dfdlInfoset>
@@ -32,7 +32,7 @@
   <tdml:parserTestCase name="pcap_test2" root="pcap"
     model="pcap.dfdl.xsd" description="pcap test">
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/pcap/lldp.minimal.pcap</tdml:documentPart>
+      <tdml:documentPart type="file">lldp.minimal.pcap</tdml:documentPart>
     </tdml:document>
     <tdml:infoset>
       <tdml:dfdlInfoset>
diff --git a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/profiling/Profiling.tdml b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/profiling/Profiling.tdml
index 018b982..4c30168 100644
--- a/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/profiling/Profiling.tdml
+++ b/daffodil-perf/src/test/resources/edu/illinois/ncsa/daffodil/profiling/Profiling.tdml
@@ -7,7 +7,7 @@
     description="CSV-style tests">
 
     <document>
-      <documentPart type="file">edu/illinois/ncsa/daffodil/profiling/AB007.in</documentPart>
+      <documentPart type="file">AB007.in</documentPart>
     </document>
 
     <infoset>
@@ -25,7 +25,7 @@
     description="CSV-style tests">
 
     <document>
-      <documentPart type="file">edu/illinois/ncsa/daffodil/profiling/AB007Simplified.in</documentPart>
+      <documentPart type="file">AB007Simplified.in</documentPart>
     </document>
 
     <infoset>
@@ -43,7 +43,7 @@
     description="PCAP profiling">
 
     <document>
-      <documentPart type="file">edu/illinois/ncsa/daffodil/profiling/smbtorture.cap</documentPart>
+      <documentPart type="file">smbtorture.cap</documentPart>
     </document>
 
     <infoset>
@@ -58,4 +58,4 @@
   
   
   
-</testSuite>
\ No newline at end of file
+</testSuite>
diff --git a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/general.tdml b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/general.tdml
index 27c08a3..f651185 100644
--- a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/general.tdml
+++ b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/general.tdml
@@ -78,7 +78,7 @@
     model="s1" description="literal nil - DFDL-13-234R">
 
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/section00/general/ext_file.txt</tdml:documentPart>
+      <tdml:documentPart type="file">ext_file.txt</tdml:documentPart>
     </tdml:document>
 
     <tdml:infoset>
@@ -103,7 +103,7 @@
     model="s1" description="literal nil - DFDL-13-234R">
 
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/section00/general/ext_file2.txt</tdml:documentPart>
+      <tdml:documentPart type="file">ext_file2.txt</tdml:documentPart>
       <tdml:documentPart type="byte">000000002CFFFFFFFF3B</tdml:documentPart>
       <tdml:documentPart type="text">,400;</tdml:documentPart>
     </tdml:document>
@@ -126,7 +126,7 @@
     model="s1" description="literal nil - DFDL-13-234R">
 
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/section00/general/file_does_not_exist.txt</tdml:documentPart>
+      <tdml:documentPart type="file">file_does_not_exist.txt</tdml:documentPart>
     </tdml:document>
 
     <tdml:errors>
diff --git a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/expressions.tdml b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/expressions.tdml
index 68d5bd5..cb74c71 100644
--- a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/expressions.tdml
+++ b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section23/dfdl_expressions/expressions.tdml
@@ -1687,7 +1687,7 @@
   <tdml:parserTestCase name="indexLimit" model="csv_mod_hidden.dfdl.xsd" root="file"
     description="Section 23 - Uses of Expression Language - DFDL-23-003R">
     <tdml:document>
-      <tdml:documentPart type="file">edu/illinois/ncsa/daffodil/section23/dfdl_expressions/csv_1.6m</tdml:documentPart>
+      <tdml:documentPart type="file">csv_1.6m</tdml:documentPart>
     </tdml:document>
     <tdml:infoset>
       <tdml:dfdlInfoset>
