#
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Nokia Corporation - initial contribution.
#
# Contributors:
#
# Description:
#
from raptor_tests import SmokeTest, AntiTargetSmokeTest
import os
def run():
result = SmokeTest.PASS
# This .inf file is created for clean_simple_export and
# reallyclean_simple_export tests to use so that we can put the
# username into the output filenames - which helps a lot when
# several people run tests on the same computer (e.g. linux machines)
bld = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
bld.write("PRJ_PLATFORMS\n"
"ARMV5 WINSCW\n\n"
"PRJ_MMPFILES\n"
"simple.mmp\n\n"
"PRJ_EXPORTS\n"
"simple_exp1.h exported_1.h\n"
"simple_exp2.h exported_2.h\n"
"simple_exp3.h exported_3.h\n"
'"file with a space.doc" "exportedfilewithspacesremoved.doc"\n'
'"file with a space.doc" "exported file with a space.doc"\n\n'
"simple_exp1.h /tmp/"+os.environ['USER']+"/ //\n"
"simple_exp2.h \\tmp\\"+os.environ['USER']+"/ //\n"
"simple_exp3.h /tmp/"+os.environ['USER']+"/simple_exp3.h \n"
"simple_exp4.h //")
bld.close()
t = SmokeTest()
t.id = "0023a"
t.name = "export"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ "-c armv5 EXPORT"
t.targets = [
"$(EPOCROOT)/epoc32/include/exported_1.h",
"$(EPOCROOT)/epoc32/include/exported_2.h",
"$(EPOCROOT)/epoc32/include/exported_3.h",
"$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
"$(EPOCROOT)/epoc32/include/exported file with a space.doc",
"/tmp/$(USER)/simple_exp1.h",
"/tmp/$(USER)/simple_exp2.h",
"/tmp/$(USER)/simple_exp3.h",
"$(EPOCROOT)/epoc32/include/simple_exp4.h"
]
t.run()
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
# Testing if clean deletes any exports which it is not supposed to
t.id = "0023b"
t.name = "export_clean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ "-c armv5 clean"
t.targets = [
"$(EPOCROOT)/epoc32/include/exported_1.h",
"$(EPOCROOT)/epoc32/include/exported_2.h",
"$(EPOCROOT)/epoc32/include/exported_3.h",
"$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
"$(EPOCROOT)/epoc32/include/exported file with a space.doc",
"/tmp/$(USER)/simple_exp1.h",
"/tmp/$(USER)/simple_exp2.h",
"/tmp/$(USER)/simple_exp3.h"
]
t.run()
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
t = AntiTargetSmokeTest()
t.id = "0023c"
t.name = "export_reallyclean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ "-c armv5 reallyclean"
t.antitargets = [
'$(EPOCROOT)/epoc32/include/exported_1.h',
'$(EPOCROOT)/epoc32/include/exported_2.h',
'$(EPOCROOT)/epoc32/include/exported_3.h',
'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
'/tmp/$(USER)/simple_exp1.h',
'/tmp/$(USER)/simple_exp2.h',
'/tmp/$(USER)/simple_exp3.h',
'$(EPOCROOT)/epoc32/include/simple_exp4.h'
]
t.run()
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
# Check that the --noexport feature really does prevent exports from happening
t = AntiTargetSmokeTest()
t.id = "0023d"
t.name = "export_noexport"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ "-c armv5 --noexport -n"
t.antitargets = [
'$(EPOCROOT)/epoc32/include/exported_1.h',
'$(EPOCROOT)/epoc32/include/exported_2.h',
'$(EPOCROOT)/epoc32/include/exported_3.h',
'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
'/tmp/$(USER)/simple_exp1.h',
'/tmp/$(USER)/simple_exp2.h',
'/tmp/$(USER)/simple_exp3.h',
'$(EPOCROOT)/epoc32/include/simple_exp4.h'
]
t.run()
if t.result == SmokeTest.FAIL:
result = SmokeTest.FAIL
t.id = "23"
t.name = "export"
t.result = result
t.print_result()
return t