Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java	(revision 30573)
@@ -18,5 +18,6 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
@@ -26,8 +27,21 @@
      * Non-regression generic test.
      */
-    public static void testGeneric(DataSet ds) {
+    public static void testGeneric(String context, DataSet ds) {
         CheckParameterUtil.ensureParameterNotNull(ds, "ds");
-        Collection<OsmPrimitive> prims = ds.allPrimitives();
-        assertFalse(prims.isEmpty());
+        // Every dataset should at least contain a node
+        Collection<Node> nodes = ds.getNodes();
+        assertFalse("No nodes in dataset for "+context, nodes.isEmpty());
+        // Nodes should all have coordinates
+        for (Node n : nodes) {
+            assertTrue("Node without coordinate found for "+context, n.getCoor() != null);
+        }
+        // and no empty ways
+        for (Way w : ds.getWays()) {
+            assertTrue("Empty way found for "+context, w.getNodesCount() > 0);
+        }
+        // neither empty relations
+        for (Relation r : ds.getRelations()) {
+            assertTrue("Empty relation found for "+context, r.getMembersCount() > 0);
+        }
     }
     
@@ -36,5 +50,5 @@
      */
     public static void testTicket10214(DataSet ds) {
-        testGeneric(ds);
+        testGeneric("#10214", ds);
         boolean found = false;
         for (Node n : ds.getNodes()) {
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReaderTest.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReaderTest.java	(revision 30573)
@@ -40,10 +40,11 @@
     public void testReadZipFiles() throws IOException, XMLStreamException, FactoryConfigurationError, JAXBException {
         for (Path p : NonRegFunctionalTests.listDataFiles("zip")) {
-            File file = p.toFile();
-            Main.info("Testing reading file "+file.getPath());
-            try (InputStream is = new FileInputStream(file)) {
+            File zipfile = p.toFile();
+            Main.info("Testing reading file "+zipfile.getPath());
+            try (InputStream is = new FileInputStream(zipfile)) {
                 for (Entry<File, DataSet> entry : ZipReader.parseDataSets(is, null, null, false).entrySet()) {
-                    Main.info("Checking dataset for entry "+entry.getKey().getName());
-                    NonRegFunctionalTests.testGeneric(entry.getValue());
+                    String name = entry.getKey().getName();
+                    Main.info("Checking dataset for entry "+name);
+                    NonRegFunctionalTests.testGeneric(zipfile.getName()+"/"+name, entry.getValue());
                 }
             }
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java	(revision 30573)
@@ -49,5 +49,5 @@
         File file = new File(TestUtils.getRegressionDataFile(7714, "doc.kml"));
         try (InputStream is = new FileInputStream(file)) {
-            NonRegFunctionalTests.testGeneric(KmlReader.parseDataSet(is, null));
+            NonRegFunctionalTests.testGeneric("#7714", KmlReader.parseDataSet(is, null));
         }
     }
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReaderTest.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReaderTest.java	(revision 30573)
@@ -34,5 +34,5 @@
         File file = new File(TestUtils.getRegressionDataFile(9592, "bg.mif"));
         try (InputStream is = new FileInputStream(file)) {
-            NonRegFunctionalTests.testGeneric(MifReader.parseDataSet(is, file, null, null));
+            NonRegFunctionalTests.testGeneric("#9592", MifReader.parseDataSet(is, file, null, null));
         }
     }
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(revision 30573)
@@ -49,5 +49,5 @@
         File file = new File(TestUtils.getRegressionDataFile(8309, "new_ti_declarada.shp"));
         try (InputStream is = new FileInputStream(file)) {
-            NonRegFunctionalTests.testGeneric(ShpReader.parseDataSet(is, file, null, null));
+            NonRegFunctionalTests.testGeneric("#8309", ShpReader.parseDataSet(is, file, null, null));
         }
     }
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java	(revision 30568)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java	(revision 30573)
@@ -77,5 +77,5 @@
         File file = new File(TestUtils.getRegressionDataFile(8805, "XXX.csv"));
         try (InputStream is = new FileInputStream(file)) {
-            NonRegFunctionalTests.testGeneric(CsvReader.parseDataSet(is, newHandler("EPSG:4326"), null));
+            NonRegFunctionalTests.testGeneric("#8805", CsvReader.parseDataSet(is, newHandler("EPSG:4326"), null));
         }
     }
