You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
65 lines
1.5 KiB
/*
|
|
* Copyright 2013 The Android Open Source Project
|
|
*
|
|
* Generate a big pile of classes with big <clinit>.
|
|
*/
|
|
#include <stdio.h>
|
|
|
|
/*
|
|
* Create N files.
|
|
*/
|
|
static int createFiles(int count, int array_size)
|
|
{
|
|
FILE* fp;
|
|
int i;
|
|
int k;
|
|
|
|
for (i = 0; i < count; i++) {
|
|
char nameBuf[32];
|
|
|
|
snprintf(nameBuf, sizeof(nameBuf), "src/Test%03d.java", i);
|
|
fp = fopen(nameBuf, "w");
|
|
if (fp == NULL) {
|
|
fprintf(stderr, "ERROR: unable to open %s\n", nameBuf);
|
|
return -1;
|
|
}
|
|
|
|
fprintf(fp, "public class Test%03d {\n", i);
|
|
fprintf(fp, " static String[] array = new String[%d];\n", array_size);
|
|
fprintf(fp, " static {\n");
|
|
for (k = 0; k < array_size; k++) {
|
|
fprintf(fp, " array[%d] = \"string_%04d\";\n", k, k);
|
|
}
|
|
fprintf(fp, " }\n");
|
|
fprintf(fp, "}\n");
|
|
fclose(fp);
|
|
}
|
|
|
|
// Create test class.
|
|
fp = fopen("src/MainTest.java", "w");
|
|
if (fp == NULL) {
|
|
fprintf(stderr, "ERROR: unable to open src/MainTest.java\n");
|
|
return -1;
|
|
}
|
|
fprintf(fp, "public class MainTest {\n");
|
|
fprintf(fp, " public static void run() {\n");
|
|
for (i = 0; i < count; i++) {
|
|
fprintf(fp, " System.out.println(\"Create new Test%03d\");\n", i);
|
|
fprintf(fp, " new Test%03d();\n", i);
|
|
}
|
|
fprintf(fp, " }\n");
|
|
fprintf(fp, "}\n");
|
|
fclose(fp);
|
|
|
|
return 0;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
int result;
|
|
|
|
result = createFiles(40, 2000);
|
|
|
|
return (result != 0);
|
|
}
|