Files
MapLibreParticleLab/platform/android/scripts/generate-test-code.js
Tobrun d412f5d111 [android] - get firebase test lab results with gsutil (#6220)
* [android] - get results with gustily

debug

fix debug

debug fix

correct file path

remove duplicate ls

fix bash script + add deploy step + debug file system

install crcmod

zip output

correct option for zipping

add compression to output. This allows including subfolders

cleanup

remove json from artefact

always upload test results

always run step to true

* [android] - disable query rendered test

* fix name in test
2016-09-06 10:49:55 -07:00

64 lines
2.4 KiB
JavaScript

'use strict';
const fs = require('fs');
const ejs = require('ejs');
global.iff = function (condition, val) {
return condition() ? val : "";
}
global.camelize = function (str) {
return str.replace(/(?:^|-)(.)/g, function (_, x) {
return x.toUpperCase();
});
}
const excludeActivities = ["CarDrivingActivity","MyLocationTrackingModeActivity","MyLocationToggleActivity","MyLocationTintActivity","MyLocationDrawableActivity","DoubleMapActivity", "LocationPickerActivity","GeoJsonClusteringActivity","RuntimeStyleTestActivity", "AnimatedMarkerActivity", "ViewPagerActivity","MapFragmentActivity","SupportMapFragmentActivity","SnapshotActivity","NavigationDrawerActivity", "QueryRenderedFeaturesBoxHighlightActivity"];
const appBasePath = 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity';
const testBasePath = 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/activity/gen';
const subPackages = fs.readdirSync(appBasePath);
const ejsConversionTask = ejs.compile(fs.readFileSync('platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/activity/activity.junit.ejs', 'utf8'), {strict: true});
if (!fs.existsSync(testBasePath)){
fs.mkdirSync(testBasePath);
}
console.log("Generating test activities:");
for(const subPackage of subPackages) {
if(!(subPackage.slice(-5) == '.java')) {
const activities = fs.readdirSync(appBasePath+'/'+subPackage);
// create directories for package
if (!fs.existsSync(testBasePath+"/"+subPackage)){
fs.mkdirSync(testBasePath+"/"+subPackage);
}
for (const activity of activities) {
// strip .java from input file
const activityName = activity.slice(0, -5);
// create path for test file
const filePath = testBasePath+"/"+subPackage+"/"+activityName+'Test.java';
// try removing previous generated files
try {
fs.accessSync(filePath, fs.F_OK);
fs.unlinkSync(filePath);
console.log("Removed file: "+filePath);
} catch (e) {
console.log("No file found: "+filePath);
}
// only generate test file if not part of exclude list
if (!(excludeActivities.indexOf(activityName) > -1)) {
console.log("Created file: "+filePath);
fs.writeFileSync(filePath, ejsConversionTask([activityName, subPackage]));
}else{
console.log("Excluding file: "+filePath);
}
}
}
}