1b93b4f1dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3b93b4f1dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4b93b4f1dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5b93b4f1dSAndrew Rist * distributed with this work for additional information 6b93b4f1dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7b93b4f1dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8b93b4f1dSAndrew Rist * "License"); you may not use this file except in compliance 9b93b4f1dSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11b93b4f1dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13b93b4f1dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14b93b4f1dSAndrew Rist * software distributed under the License is distributed on an 15b93b4f1dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16b93b4f1dSAndrew Rist * KIND, either express or implied. See the License for the 17b93b4f1dSAndrew Rist * specific language governing permissions and limitations 18b93b4f1dSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20b93b4f1dSAndrew Rist *************************************************************/ 21b93b4f1dSAndrew Rist 22b93b4f1dSAndrew Rist 23cdf0e10cSrcweir package climaker; 24cdf0e10cSrcweir 25*b12c4ec0SDamjan Jovanovic import org.junit.Test; 26*b12c4ec0SDamjan Jovanovic import static org.junit.Assert.*; 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29*b12c4ec0SDamjan Jovanovic public class ClimakerTestCase 30cdf0e10cSrcweir { 31*b12c4ec0SDamjan Jovanovic @Test checkGeneratedCLITypes()32*b12c4ec0SDamjan Jovanovic public void checkGeneratedCLITypes() throws Exception 33cdf0e10cSrcweir { 34cdf0e10cSrcweir String testProgram = System.getProperty("cli_ure_test"); 35cdf0e10cSrcweir if (testProgram == null || testProgram.length() == 0) 36*b12c4ec0SDamjan Jovanovic fail("Check the make file. Java must be called with -Dcli_ure_test=pathtoexe"); 37cdf0e10cSrcweir Process proc = null; 38cdf0e10cSrcweir proc = Runtime.getRuntime().exec(testProgram); 39cdf0e10cSrcweir Reader outReader = new Reader(proc.getInputStream()); 40cdf0e10cSrcweir Reader errReader = new Reader(proc.getErrorStream()); 41cdf0e10cSrcweir proc.waitFor(); 42cdf0e10cSrcweir int retVal = proc.exitValue(); 43*b12c4ec0SDamjan Jovanovic assertTrue("Tests for generated CLI code failed.", retVal == 0); 44cdf0e10cSrcweir } 45cdf0e10cSrcweir } 46cdf0e10cSrcweir 47cdf0e10cSrcweir 48cdf0e10cSrcweir /* This reads reads from an InputStream and discards the data. 49cdf0e10cSrcweir */ 50cdf0e10cSrcweir class Reader extends Thread 51cdf0e10cSrcweir { 52cdf0e10cSrcweir java.io.InputStream is; Reader(java.io.InputStream stream)53cdf0e10cSrcweir public Reader(java.io.InputStream stream) 54cdf0e10cSrcweir { 55cdf0e10cSrcweir is = stream; 56cdf0e10cSrcweir start(); 57cdf0e10cSrcweir } 58cdf0e10cSrcweir run()59cdf0e10cSrcweir public void run() 60cdf0e10cSrcweir { 61cdf0e10cSrcweir try 62cdf0e10cSrcweir { 63cdf0e10cSrcweir byte[] buf = new byte[1024]; 64cdf0e10cSrcweir while (-1 != is.read(buf)); 65cdf0e10cSrcweir } 66cdf0e10cSrcweir catch (java.io.IOException exc) 67cdf0e10cSrcweir { 68cdf0e10cSrcweir } 69cdf0e10cSrcweir } 70cdf0e10cSrcweir } 71