| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package convwatch; |
| |
| import complexlib.ComplexTestCase; |
| import helper.ProcessHandler; |
| import convwatch.GraphicalTestArguments; |
| |
| /** |
| * Some Helperfunctions which are nice in ReferenceBuilder and ConvWatchTest |
| */ |
| |
| public abstract class EnhancedComplexTestCase extends ComplexTestCase |
| { |
| // public void before() |
| // { |
| // // System.out.println("before()"); |
| // } |
| // |
| // public void after() |
| // { |
| // // System.out.println("after()"); |
| // } |
| |
| void checkExistance(String _sScriptFile, String _sName) |
| { |
| boolean bBackValue = false; |
| // Process testshl = Runtime.getRuntime().exec(scriptFile); |
| ProcessHandler aHandler = new ProcessHandler(_sScriptFile); |
| bBackValue = aHandler.executeSynchronously(); |
| TimeHelper.waitInSeconds(1, "wait after ProcessHandler.executeSynchronously()"); |
| |
| StringBuffer aBuffer = new StringBuffer(); |
| aBuffer.append(aHandler.getErrorText()).append(aHandler.getOutputText()); |
| String sText = aBuffer.toString(); |
| |
| if (sText.length() == 0) |
| { |
| String sError = "Must quit. " + _sName + " may be not accessible."; |
| assure(sError, false); |
| // System.exit(1); |
| } |
| else |
| { |
| // System.out.println("Output from script:"); |
| // System.out.println(sText); |
| } |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| protected void checkEnvironment(Object[] _aList) |
| { |
| // checks if some packages already installed, |
| // this function will not return if packages are not installed, |
| // it will call System.exit(1)! |
| |
| if (needCheckForInstalledSoftware()) |
| { |
| for (int i=0;i<_aList.length;i++) |
| { |
| String sCommand = (String)_aList[i]; |
| // TODO: nice to have, a pair object |
| checkExistance(sCommand, sCommand); |
| } |
| } |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| protected abstract Object[] mustInstalledSoftware(); |
| public boolean needCheckForInstalledSoftware() |
| { |
| String sNEEDCHECK = (String)param.get( PropertyName.CHECK_NEED_TOOLS ); |
| // TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns |
| // with a default of 'false' which is not very helpful if the default should be 'true' |
| // maybe a getBoolean("name", true) could be a better choise. |
| if (sNEEDCHECK == null) |
| { |
| sNEEDCHECK = "false"; |
| } |
| if (sNEEDCHECK.toLowerCase().equals("yes") || |
| sNEEDCHECK.toLowerCase().equals("true")) |
| { |
| return true; |
| } |
| return false; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| public GraphicalTestArguments getGraphicalTestArguments() |
| { |
| GraphicalTestArguments aGTA = new GraphicalTestArguments(param); |
| if (aGTA.getImportFilterName() != null && aGTA.getImportFilterName().toLowerCase().equals("help")) |
| { |
| aGTA = null; |
| } |
| if (aGTA.getExportFilterName() != null && aGTA.getExportFilterName().toLowerCase().equals("help")) |
| { |
| aGTA = null; |
| } |
| return aGTA; |
| } |
| } |