Changeset 2847


Ignore:
Timestamp:
Jan 25, 2013, 2:08:29 AM (6 years ago)
Author:
ksherdy
Message:

Added threaded command execution with timeout. Set up initial JUnit4 parameterized test structure.

Location:
proto/juncoTestHarness/src/test
Files:
1 added
3 edited
3 moved

Legend:

Unmodified
Added
Removed
  • proto/juncoTestHarness/src/test/JuncoTestCase.java

    r2844 r2847  
    44
    55
    6 public class JuncoTest {
     6public class JuncoTestCase {
    77
    88        private File file;
    99        private String category;
    1010        private JuncoTestType type;
    11         private String expected;
    12         private String actual;
     11        private String expectedResult;
     12        private String actualResult;
    1313        private JuncoTestStatus status;
    1414       
    15         public JuncoTest(File file, String category, JuncoTestType type) {
     15        public JuncoTestCase(File file, String category, JuncoTestType type) {
    1616                this.setFile(file);
    1717                this.setCategory(category);
    1818                this.setType(type);
     19                this.setStatus(JuncoTestStatus.NOT_EXECUTED);
    1920        }
    2021
     
    4344        }
    4445
    45         public String toString() {
    46                 return category;
    47         }
    48 
    49         private JuncoTestStatus getStatus() {
     46        public JuncoTestStatus getStatus() {
    5047                return status;
    5148        }
    5249
    53         private void setStatus(JuncoTestStatus status) {
     50        public void setStatus(JuncoTestStatus status) {
    5451                this.status = status;
    5552        }
    5653
    57         private String getExpected() {
    58                 return expected;
     54        public String getExpectedResult() {
     55                return expectedResult;
    5956        }
    6057
    61         private void setExpected(String expected) {
    62                 this.expected = expected;
     58        public void setExpectedResult(String expectedResult) {
     59                this.expectedResult = expectedResult;
    6360        }
    6461
    65         private String getActual() {
    66                 return actual;
     62        public String getActualResult() {
     63                return actualResult;
    6764        }
    6865
    69         private void setActual(String actual) {
    70                 this.actual = actual;
     66        public void setActualResult(String actualResult) {
     67                this.actualResult = actualResult;
     68        }
     69
     70        public String toString() {
     71                 
     72                return  String.format("[Name=%s,\nCategory=%s,\nType=%s,\nExpected Result=%s,\nActual Result=%s,\nStatus=%s]",
     73                                this.file.getName(),                           
     74                                this.category,
     75                                this.type,
     76                                this.expectedResult,
     77                                this.actualResult,
     78                                this.status);           
    7179        }
    7280}
  • proto/juncoTestHarness/src/test/JuncoTestCasesBuilder.java

    r2844 r2847  
    44import java.util.ArrayList;
    55
    6 public class JuncoTestsBuilder {
     6public class JuncoTestCasesBuilder {
     7       
     8        private static ArrayList<JuncoTestCase> juncoTestCases = null;
     9       
     10        public static ArrayList<JuncoTestCase> getJuncoTestCases(String testCaseDir) {
     11               
     12                if(juncoTestCases != null) {
     13                        return juncoTestCases;
     14                       
     15                } else {
     16                ArrayList<File> dirs = listVisibleDirs(testCaseDir);
     17                ArrayList<JuncoTestCase> juncoTestCases = new ArrayList<JuncoTestCase>();
     18               
     19                for(File dir : dirs) {
     20       
     21                        String category = dir.getName();
     22                       
     23                        for(File file : dir.listFiles()) {
     24                               
     25                                if(file.isFile()) {
     26                               
     27                                        String fileName = file.getName();
     28                                       
     29                                        JuncoTestType juncoTestType = JuncoTestTypeFactory.getJuncoTestType(fileName); 
     30                                        JuncoTestCase juncoTest = new JuncoTestCase(file, category, juncoTestType);
     31                                        juncoTestCases.add(juncoTest);
    732
     33                                }
     34                        }
     35                }
     36               
     37                return juncoTestCases;
     38                }
     39        }
    840       
    9         public static ArrayList<JuncoTest> makeJuncoTestCases(String absDirPath) {
     41        private static ArrayList<File> listVisibleDirs(String absDirPath) {
    1042               
    11         ArrayList<File> dirs = listDirs(absDirPath);
    12 
    13                 ArrayList<JuncoTest> juncoTestCases = new ArrayList<JuncoTest>();
     43                File dir = new File(absDirPath);
     44                File[] visibleFiles = dir.listFiles();
     45               
     46        ArrayList<File> visibleDirs = new ArrayList<File>();
    1447       
    15         for(File dir : dirs) {
    16 
    17                 String category = dir.getName();
    18                
    19                 for(File file : dir.listFiles()) {
    20                
    21                         if(file.isFile()) {
    22                        
    23                                 String fileName = file.getName();
    24                                
    25                                 JuncoTestType juncoTestType = JuncoTestTypeFactory.getJuncoTestType(fileName);
    26                        
    27                                 JuncoTest juncoTest = new JuncoTest(file, category, juncoTestType);
    28                                 juncoTestCases.add(juncoTest);
    29                        
    30                         }
    31                 }
    32                
    33         }
    34        
    35                 return juncoTestCases;
    36                
    37         }
    38 
    39         private static ArrayList<File> listDirs(String absDirPath) {
    40                 File dir = new File(absDirPath);
    41         File files[] = dir.listFiles();
    42      
    43         ArrayList<File> dirs = new ArrayList<File>();
    44        
    45         for(File file: files) {
    46                 if(file.isDirectory()) {
    47                         dirs.add(file);
     48        for(File file: visibleFiles) {
     49                if(file.isDirectory() && !file.isHidden()) {
     50                        visibleDirs.add(file);
    4851                }
    4952        }
    5053       
    51         return dirs;
     54        return visibleDirs;
    5255        }
    5356       
  • proto/juncoTestHarness/src/test/JuncoTestDriver.java

    r2844 r2847  
    1414               
    1515                try {
    16                         int i = CommandRunner.command(FixtureDefinitions.ASMEmu, true, true, 10000);
     16                        int i = CommandRunner.command(JuncoTestSuiteDefinitions.ASMEmu, true, true, 10000);
    1717                        System.out.print(i);
    1818                } catch (IOException e) {
  • proto/juncoTestHarness/src/test/JuncoTestStatus.java

    r2844 r2847  
    22
    33public enum JuncoTestStatus {
    4        
     4
     5    NOT_EXECUTED("Not executed.", "Test case was not executed."),
    56    PASSED("Passed.", "Test passed."),
    67    FAILED("Failed.", "Test executed but failed."),
    7     TIMEOUT("Timed out.", "Test executed but timed out.");
    8     //NOT_EXECUTED("Not executed.", "Test case was not executed.");
     8    TIMEDOUT("Timed out.", "Test executed but timed out.");
     9
    910
    1011    private String shortDesc;
     
    3132                this.longDesc = longDesc;
    3233        }
     34       
     35        public String toString() {
     36                return shortDesc;
     37        }
    3338}
  • proto/juncoTestHarness/src/test/JuncoTestSuiteDefinitions.java

    r2844 r2847  
    11package test;
    22
    3 public class FixtureDefinitions {
     3public class JuncoTestSuiteDefinitions {
    44
    55        public static final String ASMEmu =
  • proto/juncoTestHarness/src/test/ParameterizedJuncoTest.java

    r2844 r2847  
    33
    44import static org.junit.Assert.assertEquals;
     5import static org.junit.Assert.assertFalse;
     6import static org.junit.Assert.assertTrue;
    57
    68import java.util.ArrayList;
    79import java.util.Arrays;
    810import java.util.Collection;
     11import java.util.List;
    912
    1013import org.junit.After;
     
    2730public class ParameterizedJuncoTest {
    2831
    29         private ArrayList<JuncoTest> tests;
     32        // Test Parameter
     33        private JuncoTestCase juncoTestCase;
     34
     35        public ParameterizedJuncoTest (JuncoTestCase juncoTestCase) {
     36                this.juncoTestCase = juncoTestCase;
     37        }
    3038       
    3139        @BeforeClass
    3240        public static void JuncoTestsSetup() {
    3341                System.out.println("JuncoTestsSetup()");
     42        }
     43
     44        @Before
     45        public void JuncoTestSetUp() {
     46                System.out.println("JuncoTestSetup()");
     47        }       
     48
     49        @Parameters
     50        public static Collection<Object []> data() {
    3451               
     52                ArrayList<JuncoTestCase> juncoTestCases = JuncoTestCasesBuilder.getJuncoTestCases(JuncoTestSuiteDefinitions.JUNCO1_TEST_DIRECTORY);
    3553               
     54                // Convert ArrayList<JuncoTestCase> to Collection<Object []>
     55                Collection<Object []> juncoTestCasesCollection = new ArrayList<Object []>();
     56                for(JuncoTestCase juncoTestCase: juncoTestCases) {
     57                        Object [] juncoArray = new Object[1];
     58                        juncoArray[0] = juncoTestCase;
     59                        juncoTestCasesCollection.add(juncoArray);
     60                }
    3661               
     62        return juncoTestCasesCollection;
     63        }               
     64               
     65    @Test
     66    public void JuncoTest() {
     67        System.out.println("JuncoTest()");
     68                System.out.println(juncoTestCase);
     69                assertTrue(true);
     70    }
     71
     72        @After
     73        public void JuncoTestTearDown() {
     74                System.out.println("JuncoTestTearDown()");
     75               
     76                juncoTestCase.setStatus(JuncoTestStatus.NOT_EXECUTED);
    3777        }
    3878
     
    4181                System.out.println("JuncoTestsTearDown()");
    4282        }
    43        
    44         @Before
    45         public void JuncoTestSetUp() {
    46                 System.out.println("JuncoTestSetup()");
    47         }
    48        
    49         @After
    50         public void JuncoTestTearDown() {
    51                 System.out.println("JuncoTestTearDown()");
    52         }
    53        
    54         @Parameters
    55         public static Collection<Object[]> data() {
    56         return Arrays.asList(new Object[][]
    57                         { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } } );
    58                                
    59         }
    60        
    61     @Test
    62     public void JuncoTest() {           
    63     }
    64 
    65    
     83                   
    6684}
Note: See TracChangeset for help on using the changeset viewer.