Update of /cvsroot/modeling/ProjectModeling/Modeling/tests
In directory sc8-pr-cvs1:/tmp/cvs-serv23937
Added Files:
Tag: brch-0_9pre6-1-ModelMasons_base_generation_scheme
test_generate_python_code.sh
Log Message:
* Added tests/test_generate_python_code.sh: tests the generation of python
code in different situations, and it also checks that the appropriate
python test (such as test_EditingContext_Global.py) succeeds with the
generated code.
Also added: xmlmodels/model_StoreEmployees.xml[2|3]
--- NEW FILE: test_generate_python_code.sh ---
#! /bin/sh
GENERATE=../scripts/mdl_generate_python_code.py
RMDIR='/bin/rm -rf'
function test_AuthorBooks() {
./test_EditingContext_Global.py > /dev/null 2>&1
}
function test_StoreEmployees() {
./test_EditingContext_Global_Inheritance.py > /dev/null 2>&1
}
tests_dir=`pwd`
mdl_dir=`dirname $tests_dir`
export PYTHONPATH=`dirname $mdl_dir`:$PYTHONPATH
##--------
function check_success() {
if [ $? -ne 0 ]; then
echo "ERROR: Failed: $1" 1>&2
else
echo "OK: Success: $1"
fi
}
function check_failure() {
if [ $? -ne 0 ]; then
echo "OK: Failed: $1" 1>&2
else
echo "ERROR: Success: $1"
fi
}
function generate() {
$GENERATE $* > /dev/null 2>&1
}
## Save the original trestPackages directories
cp -Rp testPackages/AuthorBooks testPackages/AuthorBooks.ori
cp -Rp testPackages/StoreEmployees testPackages/StoreEmployees.ori
######## AuthorBooks / -B
$RMDIR testPackages/AuthorBooks ;
generate -B ./xmlmodels/model_AuthorBooks.xml testPackages/
test_AuthorBooks
check_success "AuthorBooks / -B"
######## AuthorBooks / -C
$RMDIR testPackages/AuthorBooks
generate -C ./xmlmodels/model_AuthorBooks.xml testPackages/
test_AuthorBooks
check_success "AuthorBooks / -C"
######## StoreEmployees / -B / xml
$RMDIR testPackages/StoreEmployees
generate -B ./xmlmodels/model_StoreEmployees.xml testPackages/
test_StoreEmployees
check_success "StoreEmployees / -B / xml"
######## StoreEmployees / -C / xml
$RMDIR testPackages/StoreEmployees
generate -C ./xmlmodels/model_StoreEmployees.xml testPackages/
test_StoreEmployees
check_success "StoreEmployees / -C / xml"
######## StoreEmployees / -B / xml 2 (Executive&SalesClerk in module Employees)
$RMDIR testPackages/StoreEmployees
generate -B ./xmlmodels/model_StoreEmployees.xml2 testPackages/
echo 'from Employees import Executive' > testPackages/StoreEmployees/Executive.py
echo 'from Employees import SalesClerk' > testPackages/StoreEmployees/SalesClerk.py
test_StoreEmployees
check_success "StoreEmployees / -B / xml2"
# less StoreEmployees/MDL/Employees.py
######## StoreEmployees / -C / xml 2
$RMDIR testPackages/StoreEmployees
generate -C ./xmlmodels/model_StoreEmployees.xml2 testPackages/
echo 'from Employees import Executive' > testPackages/StoreEmployees/Executive.py
echo 'from Employees import SalesClerk' > testPackages/StoreEmployees/SalesClerk.py
test_StoreEmployees
check_success "StoreEmployees / -C / xml2"
######## StoreEmployees / -C / xml 3
######## (Executive+SalesClerk+Employee in module Employees)
$RMDIR testPackages/StoreEmployees
generate -C ./xmlmodels/model_StoreEmployees.xml3 testPackages/
echo 'from Employees import Executive' > testPackages/StoreEmployees/Executive.py
echo 'from Employees import SalesClerk' > testPackages/StoreEmployees/SalesClerk.py
echo 'from Employees import Employee' > testPackages/StoreEmployees/Employee.py
test_StoreEmployees
check_success "StoreEmployees / -C / xml3"
######## StoreEmployees / -B / xml 3
######## Should fail!!!
$RMDIR testPackages/StoreEmployees
generate -B ./xmlmodels/model_StoreEmployees.xml3 testPackages/
check_failure "StoreEmployees / -B / xml3"
# less StoreEmployees/MDL/Employees.py
## Restore original directories
\rm -rf AuthorBooks
\rm -rf StoreEmployees
cp -Rp testPackages/AuthorBooks.ori testPackages/AuthorBooks && \
$RMDIR testPackages/AuthorBooks.ori
cp -Rp testPackages/StoreEmployees.ori testPackages/StoreEmployees && \
$RMDIR testPackages/StoreEmployees.ori
|