Преглед изворни кода

perfmodel: move test function from starpu lib to test file

Nathalie Furmento пре 11 година
родитељ
комит
e1b4955fe5
3 измењених фајлова са 32 додато и 33 уклоњено
  1. 0 1
      src/core/perfmodel/perfmodel.h
  2. 0 30
      src/core/perfmodel/perfmodel_nan.c
  3. 32 2
      tests/perfmodels/value_nan.c

+ 0 - 1
src/core/perfmodel/perfmodel.h

@@ -90,7 +90,6 @@ void _starpu_save_bandwidth_and_latency_disk(double bandwidth_write, double band
 					    double latency_write, double latency_read, unsigned node);
 
 int _starpu_read_double(FILE *f, char *format, double *val);
-int _starpu_check_number(double val, int nan);
 
 #ifdef __cplusplus
 }

+ 0 - 30
src/core/perfmodel/perfmodel_nan.c

@@ -47,33 +47,3 @@ int _starpu_read_double(FILE *f, char *format, double *val)
 	return fscanf(f, format, val);
 #endif
 }
-
-#define STRING "booh"
-
-int _starpu_check_number(double val, int nan)
-{
-	char *filename = tmpnam(NULL);
-
-	/* write the double value in the file followed by a predefined string */
-	FILE *f = fopen(filename, "w");
-	fprintf(f, "%lf %s\n", val, STRING);
-	fclose(f);
-
-	/* read the double value and the string back from the file */
-	f = fopen(filename, "r");
-	double lat;
-	char str[10];
-	int x = _starpu_read_double(f, "%lf", &lat);
-	int y = fscanf(f, "%s", str);
-	fclose(f);
-
-	/* check that what has been read is identical to what has been written */
-	int pass;
-	pass = (x == 1) && (y == 1);
-	pass = pass && strcmp(str, STRING) == 0;
-	if (nan)
-		pass = pass && isnan(val) && isnan(lat);
-	else
-		pass = pass && lat == val;
-	return pass;
-}

+ 32 - 2
tests/perfmodels/value_nan.c

@@ -18,16 +18,46 @@
 #include <core/perfmodel/perfmodel.h>
 #include "../helper.h"
 
+#define STRING "booh"
+
+int _check_number(double val, int nan)
+{
+	char *filename = tmpnam(NULL);
+
+	/* write the double value in the file followed by a predefined string */
+	FILE *f = fopen(filename, "w");
+	fprintf(f, "%lf %s\n", val, STRING);
+	fclose(f);
+
+	/* read the double value and the string back from the file */
+	f = fopen(filename, "r");
+	double lat;
+	char str[10];
+	int x = _starpu_read_double(f, "%lf", &lat);
+	int y = fscanf(f, "%s", str);
+	fclose(f);
+
+	/* check that what has been read is identical to what has been written */
+	int pass;
+	pass = (x == 1) && (y == 1);
+	pass = pass && strcmp(str, STRING) == 0;
+	if (nan)
+		pass = pass && isnan(val) && isnan(lat);
+	else
+		pass = pass && lat == val;
+	return pass;
+}
+
 int main(int argc, char **argv)
 {
 	int ret;
 
-	ret = _starpu_check_number(42.0, 0);
+	ret = _check_number(42.0, 0);
 	FPRINTF(stderr, "%s when reading %lf\n", ret?"Success":"Error", 42.0);
 
 	if (ret)
 	{
-	     ret = _starpu_check_number(NAN, 1);
+	     ret = _check_number(NAN, 1);
 	     FPRINTF(stderr, "%s when reading %lf\n", ret?"Success":"Error", NAN);
 	}