--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/basic_dependency.py Mon Nov 16 09:46:46 2009 +0000
@@ -0,0 +1,93 @@
+#
+# 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
+from raptor_meta import BldInfFile
+
+def run():
+ result = SmokeTest.PASS
+
+ t = SmokeTest()
+ t.id = "0098a"
+ t.name = "Build a component to begin with"
+ t.description = "Build a simple component"
+ t.usebash = True
+ t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf"
+
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe"
+ ]
+ t.run()
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
+
+ # Ensure we don't clean up from the previous build in any subsequent runs
+ t = SmokeTest()
+ t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [])
+ t.targets = []
+ t.usebash = True
+
+ t.id = "0098b"
+ t.name ="Touch a source file dependency and make sure thats the only one rebuilt"
+ t.description = "Touches one source file's dependency to check if its rebuilt"
+ t.command = """
+ sleep 1
+ touch smoke_suite/test_resources/simple/test.h
+ sbs -f - -b smoke_suite/test_resources/simple/bld.inf """
+ # We should only recompile 1 source file, twice for armv5 and twice for winscw
+ t.countmatch = [
+ [".*recipe name='compile'.*", 2],
+ [".*recipe name='win32compile2object'.*", 2]
+ ]
+
+ t.run()
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
+
+ # Invalidate the dependency file to make sure its not regenerated
+ t = SmokeTest()
+ # Ensure we don't clean up from the previous build in any subsequent runs
+ t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [])
+ t.targets = []
+ t.usebash = True
+
+ t.id = "0098c"
+ t.name ="Invalidate the dependency file to make sure its not regenerated"
+ t.description = "Invalidate the dependency file to make sure its not regenerated"
+ fragment = BldInfFile.outputPathFragment('smoke_suite/test_resources/simple/Bld.inf')
+ t.command = """
+ sleep 1
+ touch smoke_suite/test_resources/simple/test.cpp
+ echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d
+ echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d
+ sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel -c winscw_urel
+ rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d
+ rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d"""
+ t.errors = 1 # We expect the build to fail since we messed up the dependency file
+ t.run()
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
+
+ t.id = "98"
+ t.name = "basic_dependency"
+ t.result = result
+ t.print_result()
+ return t