Index: test/cctest/test-libplatform.h |
diff --git a/test/cctest/test-cpu.cc b/test/cctest/test-libplatform.h |
similarity index 62% |
copy from test/cctest/test-cpu.cc |
copy to test/cctest/test-libplatform.h |
index 06966c68c86296e510edb8899f4d7deb0343f108..6be12d29d899301a24992f8680a3366afec5d829 100644 |
--- a/test/cctest/test-cpu.cc |
+++ b/test/cctest/test-libplatform.h |
@@ -25,31 +25,57 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+#ifndef TEST_LIBPLATFORM_H_ |
+#define TEST_LIBPLATFORM_H_ |
+ |
#include "v8.h" |
#include "cctest.h" |
-#include "cpu.h" |
using namespace v8::internal; |
+class TestTask : public v8::Task { |
+ public: |
+ explicit TestTask(bool expected_to_run) |
+ : expected_to_run_(expected_to_run), executed_(false) {} |
+ TestTask() : expected_to_run_(false), executed_(false) {} |
+ virtual ~TestTask() { |
+ CHECK_EQ(expected_to_run_, executed_); |
+ } |
+ |
+ // v8::Task implementation. |
+ virtual void Run() V8_OVERRIDE { executed_ = true; } |
+ |
+ private: |
+ bool expected_to_run_; |
+ bool executed_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TestTask); |
+}; |
+ |
+ |
+class TestThread : public Thread { |
+ public: |
+ explicit TestThread(v8::Task* task) |
+ : Thread("libplatform TestThread"), semaphore_(0), task_(task) {} |
+ virtual ~TestThread() {} |
-TEST(FeatureImplications) { |
- // Test for features implied by other features. |
- CPU cpu; |
+ void Signal() { semaphore_.Signal(); } |
- // ia32 and x64 features |
- CHECK(!cpu.has_sse() || cpu.has_mmx()); |
- CHECK(!cpu.has_sse2() || cpu.has_sse()); |
- CHECK(!cpu.has_sse3() || cpu.has_sse2()); |
- CHECK(!cpu.has_ssse3() || cpu.has_sse3()); |
- CHECK(!cpu.has_sse41() || cpu.has_sse3()); |
- CHECK(!cpu.has_sse42() || cpu.has_sse41()); |
+ // Thread implementation. |
+ virtual void Run() V8_OVERRIDE { |
+ semaphore_.Wait(); |
+ if (task_) { |
+ task_->Run(); |
+ delete task_; |
+ } |
+ } |
- // arm features |
- CHECK(!cpu.has_vfp3_d32() || cpu.has_vfp3()); |
-} |
+ private: |
+ Semaphore semaphore_; |
+ v8::Task* task_; |
+ DISALLOW_COPY_AND_ASSIGN(TestThread); |
+}; |
-TEST(NumberOfProcessorsOnline) { |
- CHECK_GT(CPU::NumberOfProcessorsOnline(), 0); |
-} |
+#endif // TEST_LIBPLATFORM_H_ |